0

私はかなり前からiPhoneとiPad用のアプリを開発してきましたが、Retinaディスプレイがないと、下位バージョンでは動作しないのではないかと心配しているため、デバイスのバージョンごとにそれぞれを開発しています。

デバイスのすべてのバージョンで動作するアプリを開発する方法はありますか?新しいiPhoneとiPadがiOS6で発売されるからです。

4

4 に答える 4

1

はい、古いバージョンのアプリは新しい iOS6 で動作します。ただし、古いバージョン用に作成されたアプリはレター ボックスに入れられます。最初に 3GS 用のアプリを作成し、その互換性をテストすることをお勧めします。新しいデバイスに搭載されている重要な機能の一部が欠けている可能性があります。私の提案は、ユニバーサル アプリを作成することです。

于 2012-09-13T01:52:06.643 に答える
0

古いアプリは新しいiOS6で正常に動作します。新しいiphone5はアスペクト比が高いため、古いアプリはレターボックス化されます。つまり、黒い境界線で実行されます。詳細については、 http://techcrunch.com/2012/09/12/first-party-apple-apps-optimized-for-iphone-5-display-existing-apps-will-run-letterboxed/をご覧ください。

于 2012-09-13T00:03:16.137 に答える
0

ユニバーサルアプリは、バイナリがiPadとiPhoneの両方で実行されるアプリです。お客様は1つのデバイス用に購入し、両方のデバイスで自動的に実行できます。2つの異なるバージョンのアプリ(1つはiPhone用、もう1つはiPad用)を使用するビジネス上の理由がある場合があります。顧客の観点からは、一度だけ購入する方が良いでしょう。一部のゲーム開発者はそれを正当化します。なぜなら、iPadのはるかに大きなサイズのためにグラフィックをやり直す必要があり、これには多くの時間がかかる可能性があるからです。

Retinaディスプレイに関する問題は、アプリに含めるアセットに関係しています。通常、UIKitベースのアプリの場合、ファイル名に「@ 2x.png」を追加すると、アセットがRetina対応デバイスで使用されることを意味します。それ以外の場合、デバイスは自動的に通常サイズの画像の2倍のサイズになります。このページには詳細があります:http: //developer.apple.com/library/ios/#qa/qa1686/_index.html

「デバイスのすべてのバージョン」と言うときのもう1つの問題は、iOSのバージョンに関係しています。新しいフレームワークを使用しない場合は、通常、アプリに下位互換性を簡単に持たせることができます。アプリを作成して、実行中のiOSのバージョンを確認し、これらのライブラリに動的にリンクして実行時に実行すると、古いバージョンでは利用できなかった特定の機能をサポートできなくなります。

于 2012-09-13T00:03:18.203 に答える
0

「最小公分母」を選択するか、または...

最新かつ最高のデバイスを対象とし、機能を選択的に無効にするコードを記述し、複数の解像度と命令セットをサポートし、これに伴う膨大な量のテストを受け入れる準備をしてください。

最小公分母は、自明なことですが、iPhone 1 を対象とした最新の xcode でコンパイルされたアプリケーションです。これは、後続のすべてのプラットフォームで実行されますが、次の「問題」があります。

  • iPhone5、iPad のインターフェイス周辺の黒いボックスまたはバー。
  • すべての iPad および iPhone 4+ でのピクセルのようなグラフィック
  • カメラのサポートなし
  • GPS のサポートなし
  • コンパスのサポートなし
  • マルチタスクやプッシュ通知なし
  • 組み込みの高速メール/メッセージング サポートなし
  • ソーシャルネットワークのサポートなし
  • ゲームセンターのサポートなし
  • など - Apple の機能リストを参照してください。

上記のいずれかをサポートしたい場合は、デバイスが特定の API、機能、または解像度をサポートしているかどうかをいつでもテストできます。これに関しては、Apple の開発者向けドキュメントが非常に役立ちます。


注: iPhone 1 を最小公分母として選択する必要はありません。3GS もかなり最近まで販売されていたため、適切な選択です。

于 2012-09-13T00:41:07.557 に答える