Подтвердить что ты не робот

OpenURL из расширения приложения

В iOS 8 beta 2 должно быть возможно использовать openUrl из расширения приложения, как записано в примечаниях к выпуску:

enter image description here

однако, когда я пытаюсь использовать этот API (на Xcode 6 beta 2), я получаю следующую ошибку:

enter image description here

Бета 2 действительно исправила эту проблему или нет?

4b9b3361

Ответ 2

Принятое решение работает только в Today extensions, рабочем решении в Swift 3.1 (тестируется в iOS10) для других типов расширений:

Вам нужно создать свою собственную схему URL-адресов, затем добавить эту функцию в свой ViewController и вызвать ее с помощью openURL("myScheme://myIdentifier")

//  Function must be named exactly like this so a selector can be found by the compiler!
//  Anyway - it 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
}

Ответ 3

В iOS 11 кажется, что вы можете использовать UIApplication.sharedApplication.openURL в расширениях без проблем.