0

iOS6(展開対象:6.1、SDK 6.1)向けのアプリをリリースしましたが、古いネイティブのGoogleマップを使い続けるためにiOS5を使っているユーザーが多いことを知り、iOS5向けのアプリを作りたいと考えています。自動レイアウトなどの iOS6 のみの機能を削除する必要があることは理解していますが、UICollectionViewこれは問題ありません。

私の質問は、Xcode で何を構成する必要があるかということです。デプロイ ターゲットと SDK を変更して 5.x を読み取る必要がありますか? これを行った場合、Apple Review Board は私のアプリを拒否しますか?

「デバイスがiOS6の場合、デバイスがiOS5の場合」を回避しようとしています。ビルドしようとすると面倒に聞こえるため、アプリ全体を100%iOS5にして、物事をよりシンプルにすることにしました。

4

1 に答える 1

1

あなたのアプリケーションが私たちのアプリケーションと同じオーディエンスを持っている場合、約 35% の人がまだ iOS 5 を使用していると予想する必要があります.そして、多くの人は、すべてがすでにうまく機能しているのにアップグレードしないからです。

アプリケーションを iOS 5 で実行できるようにするには、展開ターゲットを変更するだけです。iOS 向けに開発する場合、次の理由により、常に最新の SDK にリンクします。

  • 古い SDK に対してビルドすることに技術的な利点はありません —
    • Objective-C の呼び出しは完全に動的であるため、OS はそれらをルーティングする方法を理解できます。
    • CGRectCGPoint、などの標準的な C 構造体はNSRange、サイズが変化することはありません。
    • すべての C API は のような参照を渡すようCGImageRefに設計されているため、下にあるものが完全に変更されたとしても、コンパイルされたコードが参照を処理する正しい方法は同じままです。と
  • Apple は、最新のコンパイラ ツールチェーンを最新の SDK に対してのみテストしており、最新のコンパイラの最適化とバグ修正をすべて利用したいと思うでしょう。

iOS 6 のみの機能を利用したい場合、OS のバージョンはテストせず、その機能が利用可能かどうかをテストします。通常、これには がnil でないrespondsToSelector:かどうかの呼び出しまたはテストが含まれます。[<feature> class]

于 2013-05-07T01:16:57.313 に答える