# 他機種から 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 を追加](../1_how_to_use.md#add-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 は行われません。 ```objectivec - (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 音を制御したい場合は、以下のメソッドを使用してください。 ```objectivec - (BOOL)setBeep:(BOOL)isBeep vibration:(BOOL)isVibration batteryGaugeLed:(BOOL)isbatteryGaugeLed barcodeAimer:(BOOL)isBarcodeAimer barcodePowerOnBeep:(BOOL)isBarcodePowerOnBeep; ```