iOS应用程序的AppDelegate中的开放URL方法之间的差异

时间:2018-03-13 10:13:48

标签: ios swift appdelegate

我在AppDelegate文件中使用此方法来处理使用我的URL方案打开应用程序

func application(_ application: UIApplication, open url: URL, 
                 sourceApplication: String?, annotation: Any) -> Bool {}

后来我添加了其他方法(需要iOS 9.0)

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

现在我看到第二种方法处理所有应用程序启动。

  1. 这种方法有什么区别?
  2. 我应该用相同的逻辑填充它们,这样我的第一个方法才会在iOS 8设备上执行。
  3. 如果我对支持iO​​S 8
  4. 不感兴趣,我可以删除我的第一个方法吗?

2 个答案:

答案 0 :(得分:1)

第一种方法支持从iOS 4.0到iOS 9.0。现在已经弃用了。 从9.0开始,iOS为openURL提供了第二种方法。

两种方法的目的相同。所以如果想要支持iOS 8,也要保留两种方法,否则删除不推荐使用的方法。

你可以在UIKit框架中看到这一点 - > UIApplication.h(见下图)

enter image description here

答案 1 :(得分:0)

  

是的为什么不...你可以删除支持open url方法的ios 8并更新到ios 9 open url方法......