0

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 デスクトップを構築できた人はいますか?

ありがとう。

この長い投稿で申し訳ありませんが、できるだけ正確になるように努めました。

4

2 に答える 2

0

ありがとう@moritzha。解決策を見つけるのに役立ちました。最初はこのドキュメントに従いましたが、うまくいきませんでした。プラグインを追加してアプリケーションをビルドした後、自分の xcode プロジェクトでプラグインを確認できませんでした。

私は自分の Mac を変更する機会を得て、すべてをゼロから再起動し、何度も試行錯誤した結果、どこが間違っていたのかを突き止めました。実際、scandit が提供するドキュメントには 1 つの手順がありません。

コマンド ' phonegap plugin add < ダウンロードして解凍したプラグインへのパス > ' は、仕事の半分を行っています。

コマンドはプラグイン ファイルをプロジェクトに正しくコピーしていますが、config.xml を更新していません。したがって、アプリケーションをビルドする前に、プロジェクト フォルダーのルートにある config.xml を編集する必要があります。プラグインを次のように手動で参照する必要があります: x を使用する SDK のバージョンに置き換えます。

config.xml が更新されると、ターゲット プラットフォーム用のアプリをビルドできるようになります。

これで、デフォルトのバーコード スキャナー プラグインの代わりに Scandit プラグインを使用した独自のバージョンの Phonegap Developer App ができました。そして、それは完璧に機能します。このプラグインは素晴らしいです!

PhoneGap Developer アプリのバージョン: 1.7.2 (Github で取得)

于 2016-10-13T15:53:29.967 に答える