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) приложение: (UIApplication *) application handleOpenURL: (NSURL *) url, который будет вызываться расширением. Во всяком случае, ни один из них не называется, поскольку я поставил точки останова в каждом из них, на всякий случай. –