2015-06-13 2 views
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, иначе приложение, вероятно, даже не было бы открыто.

+0

Вы реализовали в приложении AppDelegate приложение application: openURL: sourceApplication: annotation: '? – Bannings

+0

Конечно, даже если я использую его для получения запросов на маршруты. Источник, который я прочитал, предположил, что это: - (BOOL) приложение: (UIApplication *) application handleOpenURL: (NSURL *) url, который будет вызываться расширением. Во всяком случае, ни один из них не называется, поскольку я поставил точки останова в каждом из них, на всякий случай. –

ответ

0

В конечном итоге это вызвало метод делегата.

 Смежные вопросы

  • Нет связанных вопросов^_^