2016-05-10 5 views
1

(投稿/その他のアクションを完了した後に)share extensionからユーザを自分のアプリに戻すことはできますか?共有エクステンションからアプリにリダイレクト

UIApplication.sharedApplication()を動作させることができませんでした - 方法は利用できませんでした。

これが可能であれば、/ Appleがそれを許可していればいいですか?

+0

あなたは何シェア拡張子を使用していますか?それは 'UIActivityViewController'ですか、それともカスタムを作成しましたか? – iYoung

+0

は、別のターゲットと同じように、共有拡張です。共有拡張です。 https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Share.html – royherma

+4

[ホストアプリケーションを開くために[エクステンションを共有する]]の重複している可能性があります(http:// stackoverflow。 com/questions/27506413/share-extension-to-open-host-app) –

答えて

0

iOS 9.3以降は、Share Extensionではこれが可能ではないようです。

1

これは、レスポンダチェーン内でUIApplicationを検索し、openURLを呼び出すことで可能です(このレスポンスの説明のとおり):https://stackoverflow.com/a/28037297/554203

これはXCodeの8、スウィフト3.0とiOS10のために動作するコード(再び、上記のフリオ・バイロンの応答から抽出された)である:

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 
} 
関連する問題