0

ボタンをクリックすると、新しいアプリをダウンロードするためにクライアントを 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 で機能する新しいコード (つまり、下位互換性のある新しいメソッド) に置き換える方がよいでしょうか?

4

1 に答える 1

0

Appirater プロジェクトに見られるように、iOS 6+ SKStoreProductViewController を使用することをお勧めします: https://github.com/arashpayan/appirater/blob/master/Appirater.m#L485 (+rateApp)

これにより、アプリ内にアプリ ストア ウィンドウが表示されます。これは、-openURL を使用する古いソリューションよりもはるかに高速です。

于 2013-11-11T12:26:55.590 に答える