3

私はweb-view会社にベースアプリと他のネイティブアプリを持っています。必要に応じてユーザーを他のアプリにリダイレクトするために使用universal linksしていました (他のアプリはまだサポートuniversal linksしています - からのリンクを押すことでそれらを実行できますApple Notes app)。WKWebView最近、 (から) に移行しましたUIWebView。これにより、より優れたエクスペリエンスが提供されます。しかし、更新Universal Linksが機能しなくなった後、ユーザーがアプリ内のリンクを押しても他のアプリを起動できません。

ドキュメントによると:

「ユニバーサル リンクを使用すると、iOS 9 ユーザーは、メール、メッセージ、および他のアプリ。"

ソース: https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html

WKWebViewを取り扱っていないようですUniversal Links。私の質問は、特別な設定が欠けているのでしょうか、WKWebViewそれともWebKitバグですか? 提供されたとおりにWebビューを作成しています:

WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];  
config.allowsInlineMediaPlayback = YES;  
config.processPool = // Here I'm using shared process pool  

self.webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:config];  
self.webView.translatesAutoresizingMaskIntoConstraints = NO;  
self.webView.clipsToBounds = YES;  
self.webView.allowsBackForwardNavigationGestures = YES;  

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"9.0")) {  
  self.webView.allowsLinkPreview = YES;  
}  
[self addSubview:_webView];

問題を示すために、単純なアプリ ( https://github.com/apan06/UniversalLinks - 非常に単純な初期化) で単純なリポジトリを作成しました。2 つの Web ビューがありますWKWebViewUIWebView両方とも、リンクのみが存在する単純な html を使用しTwitterます。WKWebViewページをロードするだけTwitterです。一方、アプリをUIWebView開きTwitterます。ただ覚えておいてください:-TwitterアプリがインストールされたデバイスでテストしTwitter appます。Twitterを持っていないか気に入らない場合は、リンクを変更できます-私はでテストしていましiPhone 6iOS 9.2.1

ありがとう!

4

1 に答える 1

0

ナビゲーション デリゲートが設定されていない場合、WKWebView にユニバーサル リンクが無視されるというバグがあると思います。WKWebView のナビゲーション デリゲートを設定してみてください。デリゲート メソッドを実装する必要はありません。

于 2016-02-03T16:20:01.893 に答える