SOでここで見た他の多くのQ/Aを結び付けるために、このコミュニティwikiを作成しました。ここにいる場合は、おそらくiPhone SDK 4でXcode 3.2.3の最終バージョン( ダウンロードリンク 、reg reqd)をインストールした後、これらの問題のいずれかまたは両方が発生した可能性があります。
以前に動作していたXcode iPhoneプロジェクトでは、どこかで「Base SDK Missing」が発生します。このようなもの:
関連するがより一般的な観察では、以前に利用可能なDeviceまたはSimulator SDKの選択肢(3.0、3.1、3.1.3など)のいずれも、それらを表示するために使用した場所では利用できません。
これがなぜ起こっているのか、そして具体的な「Base SDK Missing」問題の修正方法を説明します。修正のためだけに最後までスキップできますが、このすべてを読むことをお勧めします。この問題については、John Muchowの優れた take もお勧めします。
Xcode 3.2.4のアップグレードに特に興味がある場合は、これに強く関連する問題があるため、 here をお勧めします。
契約は次のとおりです。現在、4.0は、新規または更新されたiPhone専用アプリを送信できる唯一のSDKバージョンです。これはAppleの iOS 4準備チェックリスト (reg reqd)から直接のものです。
すべての新しいアプリケーションと既存のアプリケーションの更新は、iPhone SDK 4でビルドする必要があります。AppStoreはiOS 2.xをターゲットとするアプリケーションをサポートしなくなります。
おそらく-私はここで推測している-iPad専用およびユニバーサルアプリは3.2 SDKを使用する必要があります。 ThatがSDKの唯一の選択肢である4.0と3.2の理由です。
また、以前にマップされていたSDKがdeprecated、gones-villeであるため、プロジェクトが破損している理由でもあります。
リラックス。 iPhone OS 3.0を実行しているデバイスをターゲットにすることはできます(ただし、それ以下ではありません)。コンパイルに使用するSDKは制限しません-downward-プログラムまたはサポートできるiOSバージョン。プロジェクトなどでパッチを適用したら(次のセクションを参照)、「iPhone OS Deployment Target」をより低いiOSバージョンに設定できます。これを行う方法の簡単なショットについては、cf。次のセクションの手順7。
現在、いくつかのトリッキーな地形に入っていることに注意してください。通常のXcode 3.2.3コンパイラは、3.0のみの呼び出しへの準拠を強制しなくなり、これらのシミュレータもありません。また、4.0の機能をサポートする場合は、3.0デバイスでのクラッシュを防ぐために条件付きコードを実行する必要があります。楽しい。
以前のXcodeバージョンまたはSDKを(Apple!から)ダウンロードしてインストールすることができます(cf. here )。はい、複数のXcodeバージョンを異なるディレクトリにインストールできます。つまり、/ Developerに1つのバージョンのみを配置できます。古いXcodeを使用して、アプリのコンプライアンスと3.x SDKをテストし、手間のかかる作業を高度なコンパイラーとシミュレーターに移行できます。ただし、以前のSDKの製品を使用してアプリストアに送信することはできなくなりました。
FWIW、私は私が出荷する前にちょうどこのチェックをする予定です。
Matt Gallagherには、 "条件付きiOS3、iOS3.2、iOS4コードのヒントとコツ" というタイトルのバージョン条件コードに関するCocoa with Loveの投稿があります。 4.0の機能を条件付きで使用することを計画している場合、これを確認することを強くお勧めします。
上記の手順に従いますが、手順2で次をクリックします。
(この答えは Sherman Lo の answer のわずかに適合したバージョンです)
このトピックに関するより詳細な情報は、この最初の回答 question にも記載されています。役に立つ情報もあります here 。
設定を修正しても「Base SDK Missing」が表示され、ビルドできない場合は、プロジェクトをリロードしてください。 Xcodeを終了しましたが、閉じて再度開くこともおそらく機能します。
XcodeおよびiPhone OS SDKの以前のバージョンをダウンロードするためにClay Bridgesから提供されたリンクは機能しません。ただし、これらのリンクを編集して「iphone」の最初のインスタンスを「ios」に置き換えることは、少なくともSnow Leopardリンクについては機能します(ダウンロード中)。
正しいリンク、および古いiOS SDKを新しいXcodeインストールにインストールするための情報は、Chris Fletcherによる次のブログエントリから得られました。 how to install iphone sdk 2.0.3.1 for xcode 3.2
私もこれと同じ問題を抱えていました。また、複数のターゲットを使用して以前のターゲットに切り替えると、XcodeがiOSターゲットからMacOSターゲットに切り替えるなど、いくつかの変更を忘れるという問題もありました。
option/altドロップダウンをクリック
非常に便利ないくつかの追加オプションを明らかにしました。