1. ホーム
  2. iphone

[解決済み] Xcode 3.2.3 with iPhone SDK 4をインストールすると、「Base SDK missing」と表示され、他のSDKが表示されない。

2023-08-08 04:23:12

質問

私はこのコミュニティWikiを、SOで見た他の多くのQ/Aをまとめるために作りました。 SOで見た他のQ/Aをまとめるために作りました。ここにいらっしゃる方は、おそらく Xcode 3.2.3 の最終バージョンと iPhone SDK 4 をインストールしたことでしょう ( ダウンロード リンク をインストールした後、これらの問題の 1 つまたは両方に遭遇しました。

  • 以前動作していた Xcode iPhone プロジェクトで、どこかに "Base SDK Missing" が表示されます。このようなものです。

  • 関連しますが、より一般的な観察として、以前に利用可能だった Device または Simulator SDK の選択肢 (たとえば、3.0、3.1、3.1.3、...) のどれもが、以前は見られた場所で利用できなくなりました。

どのように解決するのですか?

概要

なぜこのような現象が起こるのかを説明し、次に特定の "Base SDK Missing" の問題を修正する方法を説明します。修正方法については、一番下まで読み飛ばすことができますが、この文章をすべて読むことをお勧めします。また、John Muchowの素晴らしい を取る もお勧めです。

もしあなたが、強く関連した問題を持つ Xcode 3.2.4 のアップグレードに特に興味を持っているなら、次のように協議するのがよいかもしれません。 を参照してください。 .

1つのSDKですべてを制する

4.0 は、新規または更新された iPhone 専用アプリを提出するために許可された唯一の SDK バージョンです。 新規または更新された iPhone 専用アプリを提出するために許可された唯一の SDK バージョンです。これは、Apple の iOS 4 レディネス チェックリスト (登録が必要です) から直接引用しています。

すべての新しいアプリケーションと既存のアプリケーションのアップデートは、iPhone SDK 4 でビルドする必要があります。 iPhone SDK 4 でビルドする必要があります。 iOS 2.x をターゲットとするアプリケーションはサポートされませんので、ご注意ください。

おそらく、推測ですが、iPad 専用およびユニバーサル アプリは、3.2 SDK を使用するはずです。 は、3.2 SDK を使用する必要があります。

それは が、4.0 & 3.2 が SDK の唯一の選択肢である理由です。

これはまた、プロジェクトが壊れている理由でもあります。なぜなら、以前マッピングされていたSDKは 非推奨 であるためです。

(でも)3はマジックナンバー

落ち着いてください。iPhone OS 3.0 を実行しているデバイスをターゲットにすることは可能です (ただし、それ以下ではできません)。 使用する SDK は を使用してコンパイルします。 は制限しません。 -- どのiOSバージョンに を制限するものではありません。プロジェクトなどでパッチを当てたら(次章参照) (次章参照) で、"iPhone OS Deployment Target" を、より低いバージョンのiOSに設定することができます。次章のステップ 7 を参照してください。

今、あなたはいくつかの厄介な領域に入っていることに注意してください。通常の Xcode 3.2.3 コンパイラーは、もはや 3.0 のみの呼び出しへのコンプライアンスを強制しませんし、これらのためのシミュレーターも持っていません。また、4.0の機能をサポートしたい場合は、3.0デバイスでのクラッシュを防ぐためにいくつかの条件付きコードを作成する必要があります。楽しいです。

まだ、以前の Xcode バージョンまたは SDK を (Apple から!) ダウンロードしてインストールすることができます (cf. ここで ). 複数のXcodeバージョンを異なるディレクトリにインストールすることも可能です(例:/Developerに1つのバージョンだけを置く)。古い Xcode を使用して、アプリが 3.x SDK に準拠しているかどうかをテストすることができ、難しい作業は高級なコンパイラやシミュレータに移行できます。しかし、以前の SDK の製品を使用して App Store に提出することはできません。

ご参考までに、私は出荷前にこのチェックだけを行う予定です。

私のコンディションはどうなっているか

Matt Gallagherは、Cocoa with Loveの投稿で、次のようなタイトルのバージョン条件付きコードについて述べています。 iOS3、iOS3.2、iOS4 の条件付きコードのための Tips &Tricks" "です。 . 4.0 の機能を条件付きで使用することを計画している場合は、これをチェックアウトすることを強くお勧めします。

ベース SDK の欠落を修正しました。

  1. プロジェクトの読み込み
  2. メニューから、Project > Edit Project Settings...を選択します。
  3. Architecture > Base SDK] で、利用可能なデバイスの 1 つを選択します。 iPhone 3.2 または iPhone 4.0 のいずれかを選択します。iPhone のみであれば、4.0 を選択します。
  4. そのウィンドウを閉じます。
  5. メニューから、Project > Edit Active Target "YourTarget"を選択します。
  6. アーキテクチャ > ベース SDK] で、利用可能なデバイスまたはシミュレーターのオプションから 1 つを選択します。 またはシミュレーターのオプションとして、iPhone 3.2 または iPhone 4.0 のいずれかを選択します。
  7. 以前の iOS バージョンをターゲットにしたい場合は、同じウィンドウで デプロイメント > iPhone OS デプロイメント ターゲット] で、サポートしたいバージョンのうち最も低いものを選択します。 サポートしたい最も低いバージョンを選択します。2.x バージョンのサポートは非推奨です。 のサポートは非推奨です。上記引用の "準備チェックリスト"を参照してください。

Xcode 4 以降のベース SDK の場所

上記の手順で行いますが、Step2については、以下をクリックしてください。

  • ナビゲーター サイドバーの左側にあるフォルダー アイコンを使用して、プロジェクト ナビゲーターを選択します。
  • そのビューの最上部にあるプロジェクトを選択します。
  • プロジェクトの設定は、メイン・エディター・パネルに表示されます。上部の "Build Settings" を選択すると、その下に 'Architecture' セクションが表示されます。

(この答えは シャーマン ロー 's 答え )

追記

このトピックに関するより詳細な情報は、このトピックの最初の回答にもあります。 質問 . また、いくつかの有用な情報があります はこちら .