我正在处理一些文档共享问题。我的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/