# Changes Needed Commonly Among Models This chapter explains the steps required to run applications, originally developed for other devices using this SDK, on the following models: - `ASR-M24D` - `ASR-M30S` - `ASR-025S` --- ## SDK Replacement Please refer to the table below for the SDK versions that support each model. If you are using an older SDK, replace it with the latest one before proceeding. | Model | Supported SDK Version | | -------- | --------------------- | | ASR-M24D | 5.2.0 or later | | ASR-M30S | 5.7.0 or later | | ASR-025S | 5.8.0 or later | --- ## Adding xcframework Replace the following frameworks with the ones included in the latest SDK: - `AsReaderBLESDK.framework` or `AsReaderBLESDK.xcframework` - `AsReaderDockSDK.framework` or `AsReaderDockSDK.xcframework` For detailed instructions, refer to "[Add SDK](../1_how_to_use.md#adding-the-sdk)". --- ## Adding AsReader Protocol Add the supported device protocols to the `Supported external accessory protocols` in `Info.plist`. | Device | Protocol to Add | | ----------------- | ------------------------------------ | | ASR-M24D | `jp.co.asx.asreader.6dongle.barcode` | | ASR-M30S
025S | `jp.co.asx.asreader.slim` | --- ## Connection Handling For the models listed [here](./common.md#changes-needed-commonly-among-models), `readerConnected:` is called automatically upon connection, so calling `setReaderPower` is not required and executing it does not power the device on / off as it does on the other models. For the models not on the list, `setReaderPower` must be executed after `plugged:`. ```objectivec - (void)plugged:(BOOL)plug { if (plug) { AsReaderInfo *info = [AsReaderInfo sharedInstance]; if (info.isEnginePowerAlwaysOn) { // The models on the list // No need to call setReaderPower // readerConnected is called automatically } else { // Other AsReader devices // Call setReaderPower here } } else { // Handle disconnection } } - (void)readerConnected:(int)status { if (status) { // Power-on successful } else { // Power-on failed } } ``` --- ## Beep Control Upon Connection Beep and vibration can be controlled using the method below. For ASR-M30S / ASR-025S, all parameters other than `isBeep` are ignored. ```objectivec - (BOOL)setBeep:(BOOL)isBeep vibration:(BOOL)isVibration batteryGaugeLed:(BOOL)isbatteryGaugeLed barcodeAimer:(BOOL)isBarcodeAimer barcodePowerOnBeep:(BOOL)isBarcodePowerOnBeep; ``` --- ```{important} For the models on [the list](./common.md#changes-needed-commonly-among-models), **the trigger key must be pressed to wake the device from its sleep state**. ``` ---