web-dev-qa-db-ja.com

Zbar SDKがiOS6で機能しない

IOS5でのスキャンにZBarを使用していて、それはうまく機能していました。

今iOS6にアップデートした後、それは機能しません。次のエラーが表示されます。

    ld: file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/mac4/Desktop/my desktop/My app/MyApp name 20:09:12  /MyApp name/ZBarSDK/libzbar.a for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

私の側の何が問題になっていますか?

28
sathiamoorthy

私は最近同じ問題に直面しました。問題は、ZBar SDKがarmv7sアーキテクチャに対応していないことです。

私はこの方法で問題を解決しました:

  1. ZBarホームページに移動し、Mercurialリポジトリに移動します( 直接リンク
  2. ZbarリポジトリをZipとしてダウンロードします。
  3. ファイルを解凍し、「iphone」という名前のサブフォルダーに移動します。
  4. XCodeプロジェクトを開きます。
  5. 「Examples」フォルダを削除します(このフォルダにより、マシンでビルドエラーが発生しました)。
  6. 「CMD + B」を押して、ソースをビルドします。
  7. 新しいlibzbar.aファイルを見つけます。 (ユーザー/ライブラリ/ Developer/Xcode/DerivedData/zbar ...)
  8. プロジェクト内の古いlibzbar.aファイルを新しいものに置き換えます。
  9. 「CMD + R」を押してください。
30
Microns

Xcodeで、ターゲットの設定に移動し、 'Valid Architectures '

から

armv7,armv7s

armv7

この変更は、アプリが新しいiPhone5プロセッサーの可能な最適化を利用しないことを意味しますが、サードパーティのライブラリがアップグレードしたり、16進エディターで混乱したりする必要はありません。

52
marimba

Hgソースのダウンロード/再コンパイルのチュートリアルはすばらしいですが、すべてを実行する必要はありません。

http://sourceforge.net/projects/zbar/files/iPhoneSDK/beta/ を参照してZBarSDK-1.3.1.dmgをダウンロードするだけで、最新のアーキテクチャのすべてがそのまま機能します(私の場合、armv7、armv7s)。

更新:

XCode 5、iOS 7、またはアーキテクチャーarm64のZBarSDKに関する問題を報告した方もいらっしゃいますが、本日このプロジェクトに戻って同様の問題を経験したところ、iOS 7で動作するようにコンパイルされたZBarSDKライブラリがあることがわかりました:- http://www.nerdvision.net/app-development/ios/zbar-sdk 。古いファイルを新しいファイルで置き換え、プロジェクトをコンパイルしました。プロジェクトのビルド設定のアーキテクチャがamrv7、arm64($ ARCHS_STANDARD)に設定され、Base SDKがiOS 8.0に設定されており、[アクティブなアーキテクチャのみビルド]フラグが[はい]に設定されていることに注意してください。

SOこれについての質問: zbar SDKはarmv7s(iPad 4 iOS 7)では機能しません)

ヒントを提供してくれた@cdescoursに感謝します!

21
Oscar S.

同じ問題がありますが、armv6armv7を追加しただけで、iOS6で動作します。 armv6を挿入するだけです。

2
iKambad

バイナリライブラリにarmv7s用のコードがありません。したがって、現在のアーキテクチャ用に再コンパイルする必要があります。

1
Andreas Fink

ソースを再コンパイルし、zbarのソースコードをダウンロードして、新しいプロジェクトにコンパイルします。それは簡単です。

1
gzfrancisco

Mercurialリポジトリのクローンを作成し、Xcodeでビルドします。それは非常に簡単です。リポジトリへのリンクは次のとおりです。

http://zbar.hg.sourceforge.net/hgweb/zbar/iphone/summary

0
Matt Connolly

私はIOS開発を学んでいます。数日掘り下げた後、

これは、ZBar SDKをインストールするための tutorial です。

1、受け入れられた答えは正しいですが、いくつかの制限があります。 (試してみました!)

2、代替ソリューションは here です。 (試してみました!)

3、すべての異なるアーキテクチャを分離してビルドし、lipoを使用してそれらをバインドするのが最善です: 素晴らしいソリューション (試して、見事な!)

それらのアーキテクチャを理解するためのいくつかの読み:

http://wanderingcoder.net/2010/07/19/ought-arm/

http://wanderingcoder.net/2011/09/25/compiling-armv7/

0
Yang

彼のブログで提供されているチュートリアルコードRDCをダウンロードした後、同じ問題が発生しました。非常に便利な投稿ですが、ここで最も役立つ回答はRacZoによって3/29に投稿されました。元のZBarSDK-1.3.1.dmgイメージをダウンロードし、プロジェクトからZBarSDKを削除して、元のイメージに置き換えました。できました。

0
knarf74