他機種から ASR-M24D への移行

本章は、SDK4 を用いて開発した ASR-M24D 以外の機種用のアプリケーションが、ASR-M24D でも動作することを目的としています。


SDK の差し替え

SDK バージョン 5.2.0 で ASR-M24D に対応しました。
5.1.0 以前の SDK をご使用の場合は、SDK の差し替えを実施してください。


xcframework の追加

以下の framework を最新の SDK に含まれるものに置き換えてください。

  • AsReaderBLESDK.framework

  • AsReaderDockSDK.framework

追加方法は「SDK を追加」を参照してください。


AsReader protocol 追加

「Info.plist」ファイル中の「Supported external accessory protocols」オプションに
jp.co.asx.asreader.6dongle.barcode を追加してください。


改修内容

接続時の処理

ASR-M24D 以外の場合は、AsReader とアプリを接続する際に、plugged: メソッドが呼ばれた後で setReaderPower を実行して電源の ON/OFF を行う必要があります。

一方、ASR-M24D では、AsReader を iPhone に接続すると自動で readerConnected: が呼ばれ、setReaderPower は不要です。

さらに、ASR-M24D では setReaderPower を実行しても、他の機種のように電源の ON/OFF は行われません。

- (void)plugged:(BOOL)plug {
    if (plug) {
        AsReaderInfo *info = [AsReaderInfo sharedInstance];
        if (info.isEnginePowerAlwaysOn) { // ASR-M24D
            // setReaderPower の呼び出しは不要
            // readerConnected が自動で呼ばれます。
        } else { // Other AsReader
            // setReaderPower を実行する処理をここに記述
        }
    } else {
        // 接続を切断する処理
    }
}

- (void)readerConnected:(int)status {
    if (status) {
        // パワーオン成功時の処理
    } else {
        // パワーオン失敗時の処理
    }
}

AsReader とアプリ接続時の Beep 音制御

接続時に setReaderPower を呼び出す必要がなくなったため、
AsReader とアプリ接続時の Beep 音を制御したい場合は、以下のメソッドを使用してください。

- (BOOL)setBeep:(BOOL)isBeep
     vibration:(BOOL)isVibration
 batteryGaugeLed:(BOOL)isbatteryGaugeLed
   barcodeAimer:(BOOL)isBarcodeAimer
barcodePowerOnBeep:(BOOL)isBarcodePowerOnBeep;