URL scheme

功能分析

透过URL进行两个APP之间通信
在AppDelegate中可以读取传递的信息,并且验证是谁唤起的

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    print(url, options)
    return true
}

问题

由于苹果并没有控制URL scheme唯一性,所有,或存在调用不确定问题,导致传递的数据泄漏

创建三个工程 one, two, three
设置one 的URL scheme为 one://
设置two 和 three 的都为 two://
工程代码

建议

被请求者为了可以验证请求者bundle ID,这个是唯一的

但是被请求者向请求着返回数据时,就无法确保冒用者被响应

请求着尽量设置唯一复杂的URL scheme ID

results matching ""

    No results matching ""