14

iOS 6 SDK を使用して、iOS 3.1.3 を対象とするアプリケーションを開発する機会はありますか? 古いデプロイメント ターゲットでプロジェクトを開くと、コンパイラから次のような警告が表示されます。

iOS deployment targets lower than 4.3 are not supported

armv7これはおそらくとのarmv7sバイナリのみをビルドできるように見えるためです。(iPhone 3G までのデバイスで動作する) を手動で追加するとarmv6、いくつかの警告も表示されます。

warning: no rule to process file '$(PROJECT_DIR)/main.m' of type sourcecode.c.objc for architecture armv6
...
...
warning: architecture armv6 is not supported (current ARCHS = "armv6 armv7 armv7s").

では、どうすればこれに対処できますか?iOS 6 SDK で開発中に iOS 3.1.3 をサポートする方法はありますか? そうでない場合は、最終的に最下位のターゲットである iOS 4.3 に移動する必要があります。バージョン >= 4.3 のみをサポートする新しいバージョンを提出することさえ可能ですか? 以前のバージョンのユーザーはどうなりますか? 互換性のないアップデートについて知らされていないだけで、古いバージョンのアプリを使い続けるのでしょうか? そうでない場合、これは達成できますか?

4

2 に答える 2

21

oonowebの答えはiOSSDK6.0に関して正しいです。iOS 6 SDKに対してビルドしている間、iOS 4.3未満をサポートすることはできませんが、Xcode 4.5を使用して、armv6およびターゲットiOS4.2.1以下のビルドを続行することは可能です。

秘訣は、6.0ではなくiOS5.1SDKに対してビルドすることです。注:これを行うと、iOS6固有の新しい機能を使用できなくなります。

chpwnのブログには、私が書き直した手順が記載されています。

  • Apple DeveloperDownloadsからXcode4.4.1をダウンロードします(インストールする必要はありません)
  • .dmgを開き、Xcode.appを右クリックして、[パッケージの内容を表示]を選択します
  • そのパッケージ内のiOS5.1SDKは、次の場所にあります。 Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/
  • このSDKをコピーする
  • Xcode.app(4.5)のパッケージの内容を開き、5.1SDKを次の場所に貼り付けます。Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
  • Xcode4.5でプロジェクトを開きます。[ターゲット]>[ビルド設定]タブ>[ベースSDK]に移動し、ドロップダウンから[iOS5.1]を選択します
  • 再度、[ビルド設定]タブ> [有効なアーキテクチャ]で、armv7sが存在する場合は削除し、armv6がまだ存在しない場合は追加します。
  • [情報]タブ>[展開ターゲット]に移動し、ドロップダウンに3.1.3(またはサポートしているもの)を入力します(オプションは表示されませんが、入力できます)。
  • Xcode 4.4.1 .dmgをインストールしたくない場合は、削除できるようになりました。

armv6のファイルを処理するルールがないことについての警告が表示されます。ネイトは最近、それらに対処するためにこの回答を投稿しました。

(古いプロジェクトを維持する代わりに)新しいプロジェクトを作成する場合は、***-Info.plistファイルを表示し、そこにある場合は「必要なデバイス機能」からarmv7を削除する必要がある場合もあります。

于 2012-09-25T09:54:11.350 に答える
10

Xcode 4.5 (つまり iOS 6 SDK) では、ビルドできる最低バージョンは iOS 4.3 です。3.1.3 の顧客がアップグレードする時が来たと思います。

于 2012-09-21T18:17:48.020 に答える