展開ターゲットとはどういう意味ですか?


109

これは私が想定している非常に単純な質問です。誰かが展開ターゲットの意味を教えてもらえますか?IOS 10を選択した場合、それはiOS10を使用しているユーザーのみがアプリをダウンロードできることを意味します。より低い展開ターゲットを選択するのは悪いことですか?また、展開ターゲットを継続して、より低い展開ターゲットで実行することはお勧めしません。


1
この質問を参照してください。stackoverflow.com/questions/18568572/...
mlidal

回答:


152

あなたはiOSの9に設定された最小のデプロイメント・ターゲットを考えてみましょうこれは、アプリケーションがiOSの9のためと互換性があることを意味し、上記の装置。

アプリケーションは、上で実行されません以下9.0デバイスが、任意のiOSバージョンで実行することができます大きいのiOS 9.0以上。


下位バージョンのユーザーは、少なくともアプリストアでアプリを引き続き表示できますか?
サグリアン

2
@Sagrianはい、彼らはことができますが、それは、それは彼らのデバイスのOSと互換性がないことを彼らが表示されます
FreakyAli

展開ターゲットと情報の違いは何ですか?Xcodeでは、2か所でiOSバージョンを選択しましょう。
ダニエルスプリンガー

@DanielSpringerを設定すると、Deployment Target最終的にInfo.plistが変更されます。これは、Xcode 4.xの後に(おそらく)追加される便利な方法です
NaveedAbbas20年

@NaveedAbbas申し訳ありませんが、それがどのように答えるかわかりません。なぜ2か所?それぞれの目的は何ですか?
ダニエルスプリンガー

19

デプロイターゲットは、古い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は私たちと提携しておらず、いかなる形でも私たちに支払いをしていません。あなたは他の選択肢を探すことができます。


2

Deployment Targetある最小のターゲットによってサポートされているのiOSのバージョンが。

だということだ:

  • 開発者として、このバージョンをサポートし、次のすべての互換性をサポートすることができます
  • ユーザーとして、少なくともこのバージョンのiOSが必要です

Xcode11.5で変更するには

Build Settings -> iOS Deployment Target

-4

Xcodeを初めて使用する場合は、デフォルトを受け入れて、プロジェクトの制約と考えることをお勧めします。

新しいバージョンのXcodeが登場すると、古いターゲット値のサポートは削除されます。広範な顧客基盤を持つ企業は、独自の方法でこの問題に対処する必要があります。

私が取り組んできたほとんどのプロジェクトでは、iOSのバージョンが重要です。これは、アプリケーションを実行できるデバイスを決定するためです。

たとえば、iOS10は基本的にすべてのiPodスタイルのコネクタを残しました。


1
反対票を投じますが、コメントはありません...役に立たない... iOS13がXcode11経由でリリースされたので、古いプロジェクトの多くのデフォルトターゲットを上に移動する必要がありました。
benc

賛成:「塹壕から」役立つ情報。コメントとしてより適していますが、それでも。
timmi4sa

私はむしろ少し低い担当者の実用主義者になりたいです。Xcodeを初めて使用することは、消化することがたくさんあります。
benc
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.