2012-01-14 18 views
1

最近、プロジェクトをXcode 4.0.1からXcode 4.2にアップグレードしました。すべてがスムーズに進んだので、シミュレータでデバッグを行い、デバイスでビルドすることにしました。Xcode 4.2で4.2.1デバイスにビルドできません

は私のデバイスは、4.2.1を実行している第2世代のiPod touchですので、私が最初にそれを構築しようとしたと、このエラーを得た:

An unknown error message 'IncorrectArchitecture', was received from the device.

あなたは、ほとんどのエラーメッセージでそうであるように、私はそれをGoogleで検索し、このquestionを見つけました。

答えを読んだ後、私は自分のターゲットアーキテクチャを調べてみたところ、構築するアーキテクチャーとしてはarmv7しかありませんでした。

ignoring file /some/path/to/a/staticlibrary.a, file was built for archive which is not the architecture being linked (armv6)

これはのような私のプロジェクト内のすべての静的ライブラリ、上で発生します - 答えは示唆しているが、私はそれを建てたときに、私のようなビルド警告/エラーの負荷を得たように私は、armv6アーキテクチャを追加しましたkalライブラリ - libkal.aとすべてのthree20ライブラリ。

これらのライブラリはXcode 4.0.2で正常にリンクされていて、iPodにも正常に組み込まれています。なぜarmv7アーキテクチャはビルドされず、ライブラリはXcode 4.2のarmv6にリンクしていませんか? - 私は本当に混乱しています - どんな提案も大歓迎です。

+0

これは役立つかもしれないhttp://stackoverflow.com/questions/8058177/app-built-with-xcode-4-2-ios-5-0-crashing-when-installed-on-iphone -with-ios-4-3おそらく有効なアーキテクチャーをarmv6に設定する必要があります。armv7 –

+0

@Maudicus - おかげで、私はあなたの答えにリンクされた答えの中のすべての解決策を試しました。コンパイラを除いてコンパイラとは別のものには影響がなかったので、私はそれを –

答えて

3

このようなビルド設定にARMv6のを追加します。

  1. +
  2. に既存のエントリ
  3. タップ上
  4. スクロールアーキテクチャに
  5. ダブルタップビルド設定を選択します入力armv6
  6. Doneを
  7. タップ
あなたはあなたのアプリケーションにリンクされている すべてのプロジェクトのためにこれを行う必要があります

(例えば、 three20)。

enter image description here

+0

に戻しました。これは単に "ターゲット"用か、単に "プロジェクト"用か、あるいはそれぞれのリンクされたプロジェクト用ですか? –

+0

ターゲットにこのように設定されていることを確認してください。 – Till

+0

ああ私の神。それは実際に構築されました。どうもありがとうございます! - しかし、今私は58の警告があります...それらのすべてが私のコードではなく、Three20(51)のものと私のプロジェクトの他のものからのものです--Xcode 4.2では、実際にそれらを使用せずにそれらを初期化する(それらに何かを設定する) - three20はそれを多くします - そして、私はXcodeがすべての警告を複製したと思う余分なアーキテクチャを追加します - とにかくありがとう! –

関連する問題