2016-12-25 15 views
1

Alrightヘッダーとフッターを含むuicollectionviewのメッセージ拡張アプリケーションをビルドしています。いくつかの試行の後、私は通常の構文を使用して、メッセージコントローラからURLを開くことができませんでしたなぜ私が学んだ - それは使用する必要があり、その延長ので:Swift:uiCollectionViewのextensioncontextからurlを開くことができませんか?

let url: URL = URL(string: "http://www.google.com")! 
    self.extensionContext?.open(url, completionHandler: { (success: Bool) in 
     print("hi") 
    }) 

そして、これはコンパイルが、MessageViewControllerファイルでは動作しません。私は理由は分かっていませんが、私の中では

class FooterCollectionReusableView: UICollectionReusableView { 

これはコンパイルされません。エラーが発生する enter image description here

メッセージ拡張子のフッターからURLを開くにはどうすればよいですか?これは可能ですか?

答えて

0

FooterCollectionReusableViewでextensionContextを呼び出しているようです。 extensionContextUIViewControllerのプロパティなので、ビューから参照する場合は、親ビューコントローラのextensionContextへの参照を保持する必要があります。create a protocolこれは、親ビューコントローラを呼び出して、 extensionContextを使って行います。

+0

はい、問題はURLがmessageviewcontrollerでも開いていないことです。完了ブロックを完了するだけですが、サファリを開けません。 – skyguy

+0

私のURLに問題がありますか? – skyguy

+0

今日の拡張機能は技術的に他のアプリケーションを開く唯一の拡張機能だからかもしれません。この質問はより具体的です。http://stackoverflow.com/questions/38319433/can-imessage-extension-open-host-app – Samantha

関連する問題