在iOS 8 beta 2版本作爲寫進發行說明它應該是可以使用的OpenURL從應用擴展:的OpenURL從應用程序擴展
但是當我嘗試使用此API(在Xcode中6測試版2)我得到以下錯誤:
Beta 2的真正修復了這個問題沒有?
在iOS 8 beta 2版本作爲寫進發行說明它應該是可以使用的OpenURL從應用擴展:的OpenURL從應用程序擴展
但是當我嘗試使用此API(在Xcode中6測試版2)我得到以下錯誤:
Beta 2的真正修復了這個問題沒有?
您可以使用此代碼:
[self.extensionContext openURL:url completionHandler:^(BOOL success) {
NSLog(@"fun=%s after completion. success=%d", __func__, success);
}];
的API文檔: openURL:completionHandler:
您也可以參考這個問題: openURL not work in Action Extension
接受的解決方案只能在Today extensions
,一Swift 3.1中的工作解決方案(在iOS10中測試)用於其他擴展類型:
您需要創建自己的URL方案,那麼這個功能添加到您的視圖控制器,並與openURL("myScheme://myIdentifier")
// Function must be named exactly like this so a selector can be found by the compiler!
// Anyway - it's another selector in another instance that would be "performed" instead.
func openURL(_ url: URL) -> Bool {
var responder: UIResponder? = self
while responder != nil {
if let application = responder as? UIApplication {
return application.perform(#selector(openURL(_:)), with: url) != nil
}
responder = responder?.next
}
return false
}
調用它在iOS系統11似乎你可以擴展使用UIApplication.sharedApplication.openURL
沒有問題。
非常感謝!它完美的工作 –
@MassimoPiazza你添加openURL語句時使用了哪種類型的擴展名?我在Action擴展中嘗試,但失敗。我今天只能成功延期。你有什麼結果? –
我正在做Today Extensions –