我添加以下代码:
- (IBAction)done {
// Return any edited content to the host app.
// This template doesn't do anything, so we just echo the passed in items.
NSURL *url = [NSURL URLWithString:@"lister://today"];
[self.extensionContext openURL:url completionHandler:^(BOOL success) {
NSLog(@"fun=%s after completion. success=%d", __func__, success);
}];
[self.extensionContext completeRequestReturningItems:self.extensionContext.inputItems completionHandler:nil];
}
Run Code Online (Sandbox Code Playgroud)
在我创建Action Extension目标之后.但它无法奏效.
我的目的是:当用户在Photos.app(iOS的默认Photos.app或被调用的图库)中查看照片时,他点击分享按钮以启动我们的扩展视图.我们可以将Photos.app中的图像传输到我自己的应用程序,并在我的应用程序中处理或上传图像.
我也尝试"CFBundleDocumentTypes"但它也无法工作.
任何帮助将不胜感激.
这是我尝试过的没有用的东西:
以下是我所想到的不起作用:
以下是我正在考虑的选项:
确认UIDocumentInteractionController在Xcode 6.5中工作,但流程有点不稳定.NSURL的东西应该也可以,但它也有点可疑.有没有人有任何其他的想法让我的包含应用程序从共享扩展打开,或从共享扩展与它通信的想法?
我有一个Safari共享扩展,我希望能够从扩展中打开主应用程序.向用户显示警报,其中他们可以选择打开应用程序.
func openAppHandler() {
self.extensionContext?.completeRequest(returningItems: []) { (success) in
if let url = URL(string: "myapp://...") {
self.extensionContext?.open(url, completionHandler: nil)
}
}
}
Run Code Online (Sandbox Code Playgroud)
didSelectPost()调用该方法后会出现警报 ,您可以看到它出现在扩展的后台优先级完成块中.该open方法在其文档中说"在iOS 8中,只有今天的扩展点(用于创建小部件)支持这种方法." 我猜它仍然是在Safari Share Extension中仍然不支持它的情况.
有没有人知道从共享扩展中打开我的主应用程序的方法?