これは重複した質問かもしれません。 しかし、どの答えも私を助けてくれませんでした。iOSアプリケーションからリンクを開こうとしています。ボタンを押すとサファリアプリが開き、「アドレスが無効なためSafariはページを開けません」というアラートが常に表示されます。リンクは同じように見えます https://iTunes.Apple.com/gb/app/app_name/id(appId) 。
正確なアプリのリンクを投稿するのは良い場所ではないと思います。したがって、上記のリンクはダミーリンクであり、私のものとまったく同じように見えます。 リンクを開こうとすると常にエラーが発生するのはなぜですか。シミュレーターとiPodで試してみました。同じエラーが発生します。 MAC OSのSafariで同じリンクを試してみると、機能します。これは、アプリからサファリを開くために使用しているコードです。リンク。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://iTunes.Apple.com/gb/app/app_name/id(appId)"]];
私はインド出身です。上記のリンクにはgbが含まれています。そのリンクはイギリスからのみ開くことができますか?
更新:
私は良いネットワークを持っています。そして、もう1つ試してみました。 シミュレーターでサファリアプリを開き、グーグルでアプリを検索すると、そのリンクをクリックすると同じエラーが表示されます。それはApple側自体のリンクに問題がありますか??
Kjulyの答えは90%正解です(そしてKjulyに+1!)。
Appiraterコードで 、 および.mファイル内 を見ると、アプリストアを開く関数があります(これは「rateApp:」メソッドです)。次のコードを参照してください。
+ (void)rateApp {
#if TARGET_IPHONE_SIMULATOR
NSLog(@"APPIRATER NOTE: iTunes App Store is not supported on the iOS simulator. Unable to open App Store page.");
#else
そのため、何を試しても、シミュレーター内でAppStoreアプリを開くことはできません。 App Storeアプリはシミュレーターに存在しないため、Webビューがアプリにリダイレクトしようとすると「notfound」エラーが発生します。これは、AppStoreアプリがインストールされている実際のデバイスで正常に機能するはずです。
このURLを試してみてください:
http://iTunes.Apple.com/app/<appId>
注:<appId>
を目的のアプリのIDに置き換えます。例: id543028543
。
これは、アプリが属する地域、またはアプリストアでホストされている地域を指定している場合に発生する可能性があります。リージョン「gb」なしでURLをロードしてみてください。