1

iPhoneにPhonegap用のバーコードスキャナープラグインを統合する際に問題が発生しました。このgithubリポジトリからプラグインを入手しました:

https://github.com/phonegap/phonegap-plugins/

プロジェクトのビルドパスに関連するすべてのソースを追加する手順を含め、手順のすべての手順に従いました。また、自動参照カウントをオフにしました。すべてのファイルが適切な場所にあると思いますが、とにかくこのエラーが発生しています。

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_ALAssetsLibrary", referenced from:
  objc-class-ref in CDVBarcodeScanner.o
  "_CVPixelBufferGetBytesPerRow", referenced from:
  -[CDVbcsProcessor getLuminanceSourceFromSample:imageBytes:] in CDVBarcodeScanner.o
  -[CDVbcsProcessor getImageFromSample:] in CDVBarcodeScanner.o
  "_CVPixelBufferUnlockBaseAddress", referenced from:
  -[CDVbcsProcessor getLuminanceSourceFromSample:imageBytes:] in CDVBarcodeScanner.o
  -[CDVbcsProcessor getImageFromSample:] in CDVBarcodeScanner.o
  "_CVPixelBufferGetHeight", referenced from:
  -[CDVbcsProcessor getLuminanceSourceFromSample:imageBytes:] in CDVBarcodeScanner.o
  -[CDVbcsProcessor getImageFromSample:] in CDVBarcodeScanner.o
  "_kCVPixelBufferPixelFormatTypeKey", referenced from:
  -[CDVbcsProcessor setUpCaptureSession] in CDVBarcodeScanner.o
  "_CVPixelBufferGetBaseAddress", referenced from:
  -[CDVbcsProcessor getLuminanceSourceFromSample:imageBytes:] in CDVBarcodeScanner.o
  -[CDVbcsProcessor getImageFromSample:] in CDVBarcodeScanner.o
  "_CVPixelBufferLockBaseAddress", referenced from:
  -[CDVbcsProcessor getLuminanceSourceFromSample:imageBytes:] in CDVBarcodeScanner.o
  -[CDVbcsProcessor getImageFromSample:] in CDVBarcodeScanner.o
  "_CVPixelBufferGetWidth", referenced from:
  -[CDVbcsProcessor getLuminanceSourceFromSample:imageBytes:] in CDVBarcodeScanner.o
  -[CDVbcsProcessor getImageFromSample:] in CDVBarcodeScanner.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

プラグインのテストプロジェクトを試してみると、iphoneにデプロイするように動作しますが、「スキャン」を押すと、cordova-1.7.0.jsファイルが見つからないというエラーが表示されます。xcode 4を使用しており、cordova1.7.0がxCodeにインストールされています。ウェブでは、解決策や同様の問題を見つけることができません。

何か案は?

4

3 に答える 3

8

次のライブラリをXcodeプロジェクトに追加します。

AVFoundation.framework

AssetsLibrary.framework

CoreVideo.framework

libiconv.dylib

ターゲットを選択し、ビルドフェーズを表示します。[バイナリとライブラリのリンク]で、[追加]ボタンをクリックして、上記のフレームワークを選択します。

太字でリストされているライブラリが、このエラーの原因です。これは、https://github.com/phonegap/phonegap-plugins/tree/master/iOS/BarcodeScannerにある手順からの抜粋です。

于 2012-08-20T00:26:39.600 に答える
0

https://groups.google.com/forum/?fromgroups#!topic/phonegap/D5R450L5kLIでの議論によると、あなたは私が今やったことをやったかもしれません。ターゲット設定のビルドフェーズの下に、ライブラリを使用したリンクバイナリの2つのグループがあります。下の空のものに追加していました。空でない上部のライブラリにすべてのライブラリを追加すると、修正されました。

于 2012-07-24T15:44:54.317 に答える
0

xCode 4.3.3にアップデートしたところ、エラーが消えました。バグが原因でエラーが発生した可能性があります。プラグインはまだ機能していませんが、これは別の理由であり、この問題にはもう関係がないと思います。

于 2012-07-02T15:04:21.127 に答える