arc*_*att 10 ios ios8 ios-app-extension
这是我尝试过的没有用的东西:
以下是我所想到的不起作用:
以下是我正在考虑的选项:
确认UIDocumentInteractionController在Xcode 6.5中工作,但流程有点不稳定.NSURL的东西应该也可以,但它也有点可疑.有没有人有任何其他的想法让我的包含应用程序从共享扩展打开,或从共享扩展与它通信的想法?
我已经确认NSURLSession方式(上面"考虑"选项下的第二个子弹)确实有效.我还在努力解决一些问题,但这里有基础知识.使用此方法,您确实可以从共享扩展程序中打开您的应用程序.
此方法需要3个主要步骤,如下所示:
确保您下载的内容需要足够长的时间,以便在下载任务完成之前终止扩展.
NSString *address = @"https://googledrive.com/host/0B5zObXR9UzgmbFpob2J5eXpjNXc/file3m";
self.mySession = [self configureMySession];
NSURL *url = [NSURL URLWithString:address];
NSURLSessionTask *myTask = [self.mySession downloadTaskWithURL:url];
[myTask resume];
exit(0);
Run Code Online (Sandbox Code Playgroud)
然后,在包含应用程序的UIApplicationDelegate类中,实现
application:handleEventsForBackgroundURLSession:completionHandler:
Run Code Online (Sandbox Code Playgroud)
方法.在您的扩展程序终止后下载任务完成时,将调用此方法.然后,在这种方法中,你可以打电话
[[UIApplication sharedApplication] openURL:url];
Run Code Online (Sandbox Code Playgroud)
或者在你的应用程序中做一些其他的东西.
此方法的主要问题是扩展终止的时间与包含应用程序启动的时间之间存在延迟.与UIDocumentInteractionController方法相比,此方法的主要优点是不需要额外的用户交互.随着我继续进行实验,将会有更多细节.
| 归档时间: |
|
| 查看次数: |
5837 次 |
| 最近记录: |