iOS アプリ内から Google マップ アプリを開こうとしています。
私はこのコードを使用しています:
[[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
しかし、それは機能していません。誰が問題を教えてもらえますか?
iOS アプリ内から Google マップ アプリを開こうとしています。
私はこのコードを使用しています:
[[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
しかし、それは機能していません。誰が問題を教えてもらえますか?
まずcanOpenURL
アプリが開かない。アプリがアプリを開くことができるかどうかを確認するだけです。openURL
代わりにメソッドを使用してください。
if([[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]])
{
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
}
ノート:
URL スキームを使用してサードパーティ アプリを開く場合。デバイスにインストールする必要があります。
canOpenURL:
アプリケーションが特定の URL リソースを開くことができるかどうかを返します。
- (BOOL)canOpenURL:(NSURL *)url
パラメーター
URL
A URL object that identifies a given resource. The URL’s scheme—possibly a custom scheme—identifies which application can
URL を処理します。
戻り値
URL を受け入れるアプリケーションが利用できない場合は NO。それ以外の場合は、YES を返します。
討論
このメソッドは、openURL: が呼び出された場合に、それを処理するために別のアプリケーションが起動されることを保証します。完全な URL が有効であることを保証するものではありません。
オープンURL :
指定された URL でリソースを開きます。
- (BOOL)openURL:(NSURL *)url
パラメーター
URL
An object representing a URL (Universal Resource Locator). UIKit supports the http:, https:, tel:, and mailto: schemes.
戻り値
URL によって特定されたリソースが正常に開かれた場合は YES。そうでなければいいえ。
討論
URL は、同じアプリケーションまたは他のアプリケーション内のリソースを見つけることができます。リソースが別のアプリケーションである場合、このメソッドを呼び出すと、呼び出し元のアプリケーションが終了する可能性があるため、別のアプリケーションを起動できます。
これを呼び出す前に canOpenURL: を呼び出して、それを処理できるアプリケーションがあることを確認できます。
UIApplication クラスを参照してください。