2016-04-18 9 views
0

私は、アプリケーションを読み込んで、別のUIWebView(a.k.a.JavaScriptを実行したい)のようにアプリケーションを操作できるプログラムを作成しようとしています。 webViewとURLスキームを使用して読み込むことができるので、これが可能かもしれないと思いました。しかし、アプリケーションがロードされると、アプリケーションを操作することはできません。これは、http://スキームの場合、webViewDidFinishLoadが正常に呼び出されているが、http://以外のスキームでは呼び出されていないことと密接に結びついています。非http:// URLスキームをロードした後の操作

私が使用しているコードの一部は次のとおりです。

let fb:NSURL! = NSURL(string:"fb://feed"); 
webView.loadRequest(NSURLRequest(URL:fb)); 

... 次の関数は、http://スキームでのみ呼び出されます。

func webViewDidFinishLoad(webView: UIWebView) { 

    print("hellO"); 
} 

注:それが正常にFacebookのフィード(しかし

+0

WKWebViewを試しましたか?それは、あなたが作成した新しいものにあなたが使用すべきものです。 – kpsharp

答えて

1

残念ながら完成積載方法をロードされ、これは不可能である

  • セキュリティ上の理由から、iOSアプリは他のアプリを操作することはできません。
  • 技術的な理由から、注入されたJavaScriptは、ほとんどのアプリがウェブベースではないため、一般的なネイティブiOSアプリを操作するために使用することはできませんでした。

iOSアプリが提供できるカスタムURLスキームは、アプリを起動することしかできません(アプリから切り離すことができます。他のアプリから公開されている機能を提供しています(例のFacebookのフィードにジャンプするなど)。

webViewDidFinishLoadは、iOSがアプリからFacebookアプリに切り替わっているため呼び出されていません。

関連する問題