2013-09-24 3 views
5

私のアプリケーションでzbarを使用しています。私は、64ビットプロセッサで私のiPhone 5S上でそれを実行したい場合は、私は、次のエラーを取得:私はドンのでiPhone 5sで32ビットライブラリを実行する64ビット

Trying to run on my iPhone 5s

は、64ビットデバイス上で32ビットライブラリを使用することが可能です」そう思うと、図書館は更新されるだろう。

+1

アプリから64ビットビルドを削除するだけで、ターゲットビルド設定に移動できます。ここでアーキテクチャでは 'arm64'を削除します – rckoenes

+1

これには解決策がありましたか?私も同じ問題がありますが、64ビットのバイナリをビルドする必要があるので、@ rckoenesのソリューションは使用できません。 – Chris

+0

私はここで同じ問題を抱えています! – Daniel

答えて

5

上記のコメントをまとめます。 64ビットiPhoneアプリケーションでは、構成ライブラリとフレームワークがすべて64ビットである必要があります。ミックスして一致させることはできません。 32ビットアプリケーションを1つ実行するとすぐに、iOSはシステムライブラリの2つのバージョン(32と64)をロードしなければならないため、アプリケーションを32ビットから離れると最適ではありません。したがって、あなたは64ビットをサポートする最後のアプリになりたくありません!

あなたのライブラリにlipoを使って64ビットコードが含まれているかどうかを確認できます。例えば、ここでSBJsonフレームワークが32ビットである:

$ lipo -info SBJson.framework/SBJson 
Architectures in the fat file: SBJson.framework/SBJson are: armv6 armv7 i386 

とzbarの場合は64ビットのコード

$ lipo -info SBJson.framework/SBJson 
Architectures in the fat file: SBJson.framework/SBJson are: armv7 armv7s i386 x86_64 arm64 

と、それは利用できない場合は、常にソースから自分をコンパイルしてみてください。

関連する問題