0
我嘗試使用下面的代碼段接線的今天擴展到我的應用程序:self.extensionContext .openURL開放的應用程序,但喚不回方法
override func tableView(tableView: UITableView, accessoryButtonTappedForRowWithIndexPath indexPath: NSIndexPath) {
let selection=busCollection[indexPath.row];
let palina=selection?.palina;
let urlAsString = "widget://pathto/" + "\(palina)"
let url = NSURL(string: urlAsString)
self.extensionContext!.openURL(url!, completionHandler: { (success: Bool) -> Void in
print("completed")
}
)
tableView.deselectRowAtIndexPath(indexPath, animated: false)
}
然而,激活該方法正確打開我的應用程序,但無需撥打電話即可以標準方式啓動:
-(BOOL) application:(UIApplication *)application handleOpenURL:(NSURL *)url
可能是什麼問題?當然,我在info.plist文件上註冊了我的小部件,否則應用程序可能甚至不會被打開。
你在AppDelegate中實現了'application:openURL:sourceApplication:annotation:'方法嗎? – Bannings
當然,即使我用它接收方向請求。我讀的源代碼提示它是: - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url被擴展名調用。 無論如何,它們都不會被調用,因爲我在每個中都放置了斷點,以防萬一。 –