一旦我从共享扩展程序共享指向我的应用程序的链接,Safari就会冻结

时间:2016-02-17 09:16:00

标签: ios swift ios8-share-extension

我的应用实现了Share扩展。我可以在Safari中分享我的应用程序的任何链接,一旦我点击POST分享视图中的SLComposeServiceViewController按钮消失,但Safari的屏幕将被冻结。我需要强制关闭Safari再次使用它。

  • 这可能是什么原因?
  • 我怎样才能防止以后发生这种情况?

这就是didSelectPost()的样子:

override func didSelectPost() {
    AddToWishlistNetworkClient.sharedClient().createItemForWishlistIdentifier(selectedWishlist!.identifier, addressOrUrl: composePropertyUrlSheet.value, comment: contentText, completionBlock: nil)
}

2 个答案:

答案 0 :(得分:0)

didSelectPost()内执行所有操作后,completeRequestReturningItems:方法必须将被调用,以便主机应用可以取消阻止其用户界面。

AddToWishlistNetworkClient.sharedClient().createItemForWishlistIdentifier(selectedWishlist!.identifier, addressOrUrl: composePropertyUrlSheet.value, comment: contentText, completionBlock: { error in

    self.extensionContext?.completeRequestReturningItems([], completionHandler: nil)
})

答案 1 :(得分:0)

根据上一个答案的建议,在你的didSelectPost()结束时一定要打电话

self.extensionContext?.completeRequest(returningItems: [], completionHandler:nil)

这将取消Safari。