これは私が想定している非常に単純な質問です。誰かが展開ターゲットの意味を教えてもらえますか?IOS 10を選択した場合、それはiOS10を使用しているユーザーのみがアプリをダウンロードできることを意味します。より低い展開ターゲットを選択するのは悪いことですか?また、展開ターゲットを継続して、より低い展開ターゲットで実行することはお勧めしません。
これは私が想定している非常に単純な質問です。誰かが展開ターゲットの意味を教えてもらえますか?IOS 10を選択した場合、それはiOS10を使用しているユーザーのみがアプリをダウンロードできることを意味します。より低い展開ターゲットを選択するのは悪いことですか?また、展開ターゲットを継続して、より低い展開ターゲットで実行することはお勧めしません。
回答:
あなたはiOSの9に設定された最小のデプロイメント・ターゲットを考えてみましょうこれは、アプリケーションがiOSの9のためと互換性があることを意味し、上記の装置。
アプリケーションは、上で実行されません以下9.0デバイスが、任意のiOSバージョンで実行することができます大きいのiOS 9.0以上。
Deployment Target
最終的にInfo.plistが変更されます。これは、Xcode 4.xの後に(おそらく)追加される便利な方法です
デプロイターゲットは、古いiOSバージョンで実行するアプリの機能を決定します。
App with deployment target set to 10 will work on iOS version 10+ (10, 11, 12, 13 ...) but won't work on 9.x.
iOSの新しいバージョンがリリースされたとき、一部の人々はデバイスを最新のiOSバージョンに更新することを気にせず、したがって彼らはそうしcan't download your app from the App Store
ます。
例
より高い展開ターゲットを選択した場合(e.g 12.1)
、最新のデバイスを持っていてもiOSバージョンが古い(iPhone Xと11.0)のユーザーには、アプリをダウンロードできません。対照的に(e.g 6.0)
、可能な限り低い展開ターゲットを選択した場合は、アプリの下位互換性を最大限に高めようとします(したがって、誰かがiOSを何年も更新していなくても、アプリをダウンロードできます)。
注意
多くの(ほとんどすべての)新しいフレームワークと機能は、iOSのバージョンが低いと正しく実行できず(期待どおりに動作します)、アプリがクラッシュする可能性が高くなります。
展開ターゲットに影響するもの
以下は、より高い展開ターゲットを必要とするいくつかの要因です。
1)最新のiOS SDKを使用する(単独)
2)最新のiOS SDK固有の機能(制約、新しいXIBファイルなど)を使用します。
3)高速に適応する外部ライブラリ/フレームワーク(Facebook SDK、Firebaseなど)を使用する。
4)より高いSwiftバージョン(5.0)は、レガシーObjective C)でアプリを作成するよりも高いデプロイメントターゲットを必要とします!Needs citation
。
解決
最大限の後方サポートのためにDeploymateを使用しています。これは主に、次の警告について私たちを支援します。
1)iOSの下位バージョンでは機能しない新しいAPI
2)新しいiOSバージョンでは機能しない非推奨のメソッドを使用する。
これは、互換性を最大化するために、コードを修正してiOSの下位バージョンで使用できるようにするときです。
注: Xcodeは、いくつかの落とし穴についても通知します。Deploymateは私たちと提携しておらず、いかなる形でも私たちに支払いをしていません。あなたは他の選択肢を探すことができます。
Xcodeを初めて使用する場合は、デフォルトを受け入れて、プロジェクトの制約と考えることをお勧めします。
新しいバージョンのXcodeが登場すると、古いターゲット値のサポートは削除されます。広範な顧客基盤を持つ企業は、独自の方法でこの問題に対処する必要があります。
私が取り組んできたほとんどのプロジェクトでは、iOSのバージョンが重要です。これは、アプリケーションを実行できるデバイスを決定するためです。
たとえば、iOS10は基本的にすべてのiPodスタイルのコネクタを残しました。