2016-05-10 3 views
1

Можно ли перенаправить пользователя обратно в мое приложение из моего share extension (после окончания публикации/другого действия)?Перенаправить обратно в приложение из Share Extension

Я не мог получить UIApplication.sharedApplication(), чтобы работать - метод был недоступен.

Любые идеи, если это возможно/если Apple даже разрешает это?

+0

Какую долю вы используете? Это 'UIActivityViewController' или вы создали свой заказ? – iYoung

+0

расширение общего доступа, как в отдельной цели - и это расширение Share. Вот ссылка для справки https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Share.html – royherma

+4

Возможный дубликат [Расширение общего доступа для открытия хост-приложения] (http: // stackoverflow. ком/вопросы/27506413/акция-расширение к открытым хост-приложение) –

ответ

0

Начиная с iOS 9.3, это не представляется возможным для Share Extension.

1

На самом деле это возможно путем поиска UIApplication в цепочке ответчиков и вызова openURL на нем, как описано в этом ответе: https://stackoverflow.com/a/28037297/554203.

Это код, который работает для XCode 8 Swift 3.0 и iOS10 (опять же, извлеченный из ответа Julio BAILÓN в выше):

расширение
let url = NSURL(string:urlString) 
let context = NSExtensionContext() 
context.open(url! as URL, completionHandler: nil) 

var responder = self as UIResponder? 

while (responder != nil){ 
    if responder?.responds(to: Selector("openURL:")) == true{ 
     responder?.perform(Selector("openURL:"), with: url) 
    } 
    responder = responder!.next 
} 
Смежные вопросы