サファリのリンクからネイティブiPhoneアプリケーションを開こうとしています。このリンクをたどってURLスキーマを作成しました。URLスキーマとしてURLスキーマを追加appgo://
し、URLタイプの下に識別子としてcom.xxxx.appgoを追加しました。以下は、safariのWebページにある私のリンクです。iPhoneアプリを開くしかし、リンクをクリックしてもアプリが開かず、safariはエラー付きのアラートを生成します。アドレスが無効であるため、Safariはページに入ることができません。
私のバンドル識別子:com.xxxxx.abc注:私のバンドル識別子は、URLタイプの識別子とは異なります。それが問題になる可能性はありますか?
編集: バンドル識別子とURL識別子を同じにしました。また、アプリデリゲートに次のコードを追加しました。
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
NSLog(@"application");
BOOL returnValue = NO;
NSString *urlString = [url absoluteString];
if([urlString hasPrefix:@"com.xxxx.appgo"]){
returnValue = YES;
}
return returnValue;
}
iPadでテストしています。最初にxcodeから最新バージョンのアプリをインストールし、次にホームボタンを押して、Safariでリンクを開きます。しかし、アドレスが無効であるため、Safariがページに入ることができないというアラートがまだ表示されます。サファリでの私のリンク:
<a href="appgo://">Open iPhone App</a>