IOS用のバースキャンライブラリであるZBarSDKを使用しているときに、これと同じエラーが発生しました。開発デバイスにアップロードするか、iOS6シミュレーターでテストすると、正常に動作します。しかし、配布用に実行しようとすると、次のように失敗します。
(null):ファイルはユニバーサル(3スライス)ですが、a(n) armv7sスライス:/ Users/quique123/Documents/iphone apps/ScanThis/ZBarSDK/libzbar.a forarchitecture)が含まれていませんarmv7s
ここで、libzbar.aはSDKのライブラリです。
何か案は?
Target Aguilar Settingsの有効なアーキテクチャから不良アーキテクチャを削除するだけで、準備は完了です:)
ZBarコードMercurialコードリポジトリを開きます
http://zbar.hg.sourceforge.net/hgweb/zbar/zbar/summary
Bz2/Zip/gzリンクに移動して、現在のソースをダウンロードします(推奨形式)
http://zbar.hg.sourceforge.net/hgweb/zbar/zbar/archive/fa84e0427c24.tar.bz2 (この投稿日現在) http://zbar.hg .sourceforge.net/hgweb/zbar/zbar/archive/fa84e0427c24.Zip (この投稿日現在) http://zbar.hg.sourceforge.net/hgweb/zbar/zbar/archive/ fa84e0427c24.tar.gz (この投稿日現在)
「iphone」サブディレクトリを開きます
'zbar.xcodeproj'ファイルを開きます
スキームのメニューでlibzbarを選択し、サポートされているアーキテクチャで独自のバイナリバージョンを構築します
そのプロジェクトのDerivedDataを開き、Build/Products /に移動します
Libzbar.aのすべてのフォルダーを調べます
ターゲットを選択した場合>ビルド設定(すべて)>アーキテクチャ>有効なアーキテクチャ。
上記のエラーが発生した場合は、行をダブルクリックしてarmv7sを選択し、(-)ボタンを押して、armv7sを削除します(おそらく[armv7 armv7s]と表示されます)。
私の場合、これでエラーは解決しました。これにさらにマイナス面があるかどうかはわかりません。
編集:これには少なくとも1つの欠点があると確信しています:プロジェクトはiPhone 5用にビルドできません。その解決策は、ここに記載されているように、ZBarソースを再コンパイルすることです: iPhone 5(ARMV7s用のZBarライブラリ)
ZBarSDKの新しいビルドは以下のURLからダウンロードできます。
ビルド設定/有効なアーキテクチャで置き換えました:2行の「armv7」「armv6」と「armv7」
(通常、私はiTunesに送信するときにのみこのリンカーエラーを取得していましたが、デバイスでのデバッグは行いませんでした)
「armv7s」を削除するだけで、これは機能します:)
リリースするには、「アクティブなアーキテクチャのみを構築」を「はい」に設定します。これと同じ問題に直面していたので、そうすることで問題を修正しました。