ボタンをクリックすると、新しいアプリをダウンロードするためにクライアントを AppStore に送信するアプリケーションがあります。これは、次のコードで行われます。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://ax.itunes.apple.com/app/yyy-mobile/id4xxxxx89"]];
このコード行は、iOS6 までは正常に機能していましたが、最新の v7 iOS SDK 以降ではコードが壊れていました。
問題を解決するにはどうすればよいですか? デバイスに iOS 7 がインストールされているかどうかを確認する if/else ロジックは必要ですか? 例えば:
if( iOS < 7 ) { // keep old logic
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://ax.itunes.apple.com/app/yyy-mobile/id4xxxxx89"]]; }
else // new logic for iOS 7
//TBD
}
それとも、古い行を iOS7 と iOS6 で機能する新しいコード (つまり、下位互換性のある新しいメソッド) に置き換える方がよいでしょうか?