2

UIApplication で URL を開こうとしていますが、実行すると:

[[UIApplication sharedApplication] canOpenURL:urlToUpdate

URL は文字列で作成され、

NSString *urlStringToOpenEscaped = [urlStringToOpen stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL *urlToUpdate = [NSURL URLWithString:urlStringToOpenEscaped];

常に FALSE を返します。

URLにiPadからアクセスできることを確認しました。

何か案が?

4

2 に答える 2

1

このcanOpenURLメソッドは、ネットワークURLが到達可能かどうかをテストするために使用されることを意図したものではありません。ドキュメントによると:

このメソッドは、openURL:が呼び出された場合に、それを処理するために別のアプリケーションが起動されることを保証します。完全なURLが有効であることを保証するものではありません。

したがって、これは、メソッドに渡されたURLで指定されたリソースが、システム上のアプリケーションによってアクセス/開かれるかどうかを知る方法です。

Webアドレスに到達できるかどうかを確認する場合は、要求を実行してから、応答で結果を処理する必要があります。

于 2012-11-21T18:58:23.493 に答える
0

IOS 9 では、広告サービスが API を悪用するのを防ぐために、canopenURL の使用に関していくつかのポリシーが変更されています。

http://www.macrumors.com/2015/06/24/ios-9-policy-change-advertising-privacy/

于 2015-09-11T05:59:55.213 に答える