当应用程序已经运行时,iOS“打开”

时间:2015-07-21 21:34:34

标签: ios objective-c

我已经在“打开”功能中使用我正在开发的应用程序来打开文件。我目前正在实现application:DidFinishLaunchingWithOptions:并使用UIApplicationLaunchOptionsURLKey从选项字典中获取文件URL,但我不确定应用程序何时打开时该怎么做。

任何帮助都将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:1)

如果应用已经打开,则不会再次调用application:didFinishLaunchingWithOptions:。只会调用application:openURL:sourceApplication:annotation:

请注意,如果应用未打开,则会调用application:didFinishLaunchingWithOptions:,然后调用application:openURL:sourceApplication:annotation:(除非您在didFinishLaunchingWithOptions中返回NO,表示您无法打开相关网址)。

因此,实际处理“打开”功能的最佳位置是openURL。具体如何取决于您的应用程序,但如果涉及用户交互并且不同的视图控制器需要表现不同,一个好的方法是在openURL内创建和发布NSNotification以描述“打开”操作,并让您的应用中其他地方的订阅者采取相应行动。