テストフライトでアドホックビルドを構築しようとしています。
OS デバイスを選択して、アーカイブを作成しようとしています。
ただし、次の警告が表示されます。
(null): iPhone/iPod Touch: application executable contains unsupported
architecture(s): armv7s (-19031)
テスト フライト ターゲットには次の設定があります。
リリースに向けてうまくビルドできます。
テストフライトでアドホックビルドを構築しようとしています。
OS デバイスを選択して、アーカイブを作成しようとしています。
ただし、次の警告が表示されます。
(null): iPhone/iPod Touch: application executable contains unsupported
architecture(s): armv7s (-19031)
テスト フライト ターゲットには次の設定があります。
リリースに向けてうまくビルドできます。
古いバージョンの TestFlight ライブラリを使用しているようです。
iPhone 5 は、変更された命令セット (AMRv7s) を備えた新しいプロセッサ (A6) を使用します。
そのアーキテクチャでもアプリを構築しているため、リンクされたすべてのライブラリもそれをサポートする必要があります。
TestFlight は、その特定のアーキテクチャをサポートするライブラリの新しいバージョン (1.1) を提供します。
したがって、ライブラリの新しいバージョンをダウンロードし、それに対してリンクするだけで問題ありません。
TestFlight ライブラリのシンボルが実際に使用されていないため、「リリース」ターゲットは正常にコンパイルおよびリンクされています。ただし、iPhone 5 の TestFlight サポートが必要な場合は、ライブラリの最新バージョンに更新してください。
アプリケーションをアーカイブするために armv7 デバイスを使用する場合、この警告は完全に正常です。
考えてみてください。armv7s アーキテクチャ (私たちが望んでいるもの) を含むアーカイブを作成すると、armv7 デバイスがそのアーキテクチャをサポートしていないという警告が表示されます (これは完全に理にかなっています)。
それをさらに証明するには、iPhone 5 を接続してアーカイブを試してみると、警告が消えることがわかります。
私が知る限り、Xcode 4.5 では現在、armv7 を含むアーカイブ ビルドを作成することはできません。
私のプロジェクトでは 2 つのサードパーティ ライブラリ (Dropbox と Flurry) を使用しており、最新の iOS 6 ビルドが含まれていることを再確認しました。他のすべてのフレームワーク (および libsqlite3.0.dylib) がすべて iOS 6.0 エリアにあることを確認しました。これはどれも役に立ちませんでした。
次に、まったく新しい空のプロジェクトをゼロから作成し、アーカイブ ビルドを試みたところ、まったく同じエラーが発生しました。したがって、これを修正しようとして 6 時間を無駄にした後、警告を取り除くことは不可能であると暫定的に結論付けています。
他のコメントに基づいて、明らかに、armv7s を iPhone 5 で実行するためにビルドする必要はありません。
私がここに投稿したものとは反対の情報をいただければ幸いです。
必要なのは、有効なアーキテクチャから armv7s を削除することだけです。
同じ質問がいくつかの関係で尋ねられたと思います。
アドホック テストの準備のためにアーカイブしたときに、同じ警告メッセージが表示されました。
(null): iPhone/iPod Touch: application executable contains unsupported
architecture(s): armv7s (-19031)
上記で推奨されているようにarmv7を削除したところ、警告は消えました。これを行うと、どのような影響がありますか? armv7s は何をサポートしていますか?
昨日から設定やコードに変更はないように見えますが、この警告が表示される原因は何ですか?