我正在处理一些文档共享问题。我的iPhone有两个应用程序。一个应用程序“SharingApp”使用文档交互控制器将文件包中的文件共享到另一个应用程序“ViewerApp”。默认情况下,共享文件将保存到名为“Inbox”的文件夹下的“ViewerApp”的文档目录中。我可以将“ViewerApp”的didFinishLaunchingWithOptions:中的网址获取为

NSURL *url = (NSURL*)[launchOptions valueForKey: UIApplicationLaunchOptionsURLKey];

如果未启动“ViewerApp”,则此方案非常适用。

我的问题是,例如,如果“ViewerApp”处于后台状态(或未被杀死),并且文件是从“SharingApp”共享的,则在“ViewerApp”的applicationDidBecomeActive:中调用appDelegate。因此,我无法获取url,因为未调用didFinishLaunchingWithOptions:方法(ViewerApp已启动)。进入背景状态之前,“ViewerApp”仅使用最后共享的url打开。

如何处理url中的applicationDidBecomeActive:?如果遇到此类问题,请分享一些想法。
感谢您的想法。

最佳答案

您应该实现以下UIApplicationDelegate方法

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation

这应该可以解决您的问题,因为当您的查看器应用程序处于后台时,将调用此方法

关于ios - 文件共享面临的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20266049/

10-13 03:48