Phonegap Desktop と Phonegap Developer アプリをしばらく使用しています。これは、私の開発をすばやくテストするのに非常に興味深いものです。しかし、カメラのディスプレイをフルスクリーンで表示している埋め込みバーコード スキャナーの制限に直面しています。同時に情報を表示するためのスペースを確保するために、カメラ ディスプレイをコンテナーに埋め込む必要があります。
しばらく検索した後、PhoneGap 用の Scandit SDK が、カメラ表示のトリミングを可能にする唯一のプラグインであることを発見しました。
Scandit の実装に多くの時間を費やしましたが、成功しませんでした。少なくともアプリをビルドすることはできますが、使用するとスキャナーが機能しません...
私が従った手順は次のとおりです。
- Git から PhoneGap Developer プロジェクトを複製する
- npm を使用してインストールする
- iOSプラットフォームを追加
- Xcode プロジェクト ファイルを開く
- アプリケーションをビルドしてデバイスで実行する
=> 現時点では、PG Dev は正常に動作しており、アプリケーションは正常に動作しています
それから、私は続けました:
- デフォルトのバーコード スキャナー プラグインへのすべての参照を削除します
- アプリケーションをビルドしてデバイスで実行する
==> PG Dev はまだ正常に動作しており、私のアプリケーションは正常に動作しています
次のステップ:
- Git から Scandit phonegap プラグインを複製する
- scandit アカウントから Scandit SDK をダウンロードする
- SDK をクローン化された scandit phonegap プラグインに入れます
- plugin.xml を変更して、バンドルとフレームワークへのパスを変更します (パス内のバージョン名の不一致)
<resource-file src="src/ios/scanditsdk-community-ios_4.16.1/ScanditBarcodeScanner.bundle"/> <framework src="src/ios/scanditsdk-community-ios_4.16.1/ScanditBarcodeScanner.framework" custom="true"/>
- バンドルとフレームワークを scandit の正しいフォルダーにコピーします
- config.xml を変更して Scandit への参照を含め、spec 属性を SDK のバージョンに設定します。
- アプリケーションをビルドしてデバイスで実行する
==> PG Dev はまだ正常に動作しており、私のアプリケーションも正常に動作しています (現時点では scandit を使用していません)。
次のステップ:
- 自分のプロジェクトを PhoneGap デスクトップから削除する
- Scandit サンプル プロジェクトを PG Desktop に追加します。そこから「Continuous Scaled/Cropped」の例を使用しました: http://docs.scandit.com/4.12/phonegap/cordova-examples.html
- ライセンスのアプリ キーを追加する
- デバイスで PG Dev アプリを起動し、プロジェクト ファイルをダウンロードする
==> PG Dev は正常に動作しており、Scandit サンプル アプリをダウンロードしてください。しかし、アプリは動作しません。スキャンボタンをクリックしても何も起こりません..
調査の結果、Scandit クラスで例外が発生したことがわかりました。コマンド 'Scandit.License.setAppKey' に try を追加すると、PG Desktop ログで次のエラーを報告できました。
ReferenceError: Can't find variable: Scandit
この try/catch を追加すると、アプリは次の行で例外を発生させます。
var settings = new Scandit.ScanSettings();
私のエラーについてウェブを検索した後、フレームワークを手動で追加して xcode にバンドルすることを提案する投稿がありました。
そのため、フレームワークとバンドルを xcode プロジェクトのフレームワーク フォルダーにドラッグ アンド ドロップして実行しました。
しかし、プロジェクトをビルドしようとすると、多くのエラーで失敗します...これを解決するには、すべての scandit プラグイン ファイル (*.h および *.m) を手動で xcode プロジェクトに追加する必要がありました。
以前のエラーはすべて解決されましたが、新しいエラーが発生しました。これは、他のいくつかのネイティブ ios フレームワークが欠落していることが原因でした... これらのフレームワークが追加されると、すべてのエラーが解決され、アプリケーションを正常にビルドすることができました。
しかし、それを実行すると、「ReferenceError:変数が見つかりません: Scandit」というエラーが引き続き発生します。
私は今アイデアを使い果たしています..私は何を間違えましたか? Scandit が組み込まれた PG デスクトップを構築できた人はいますか?
ありがとう。
この長い投稿で申し訳ありませんが、できるだけ正確になるように努めました。