# AsReaderBarcodeDevice ## `sharedInstance` AsReaderBarcodeDeviceのシングルトンインスタンスを取得します。 アプリ全体で一つのインスタンスを共有するために使用します。 ```objectivec + (instancetype)sharedInstance; ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `instancetype` - AsReaderBarcodeDeviceクラスのインスタンスオブジェクト ``` ### サンプルコード ```objectivec AsReaderBarcodeDevice *asReaderBarcodeDevice = [AsReaderBarcodeDevice sharedInstance]; ``` --- {#startscan} ## `startScan` バーコードの読み取りを開始します。 読み取るバーコードの最大数と、1回の読み取りにかける最大時間(秒)を指定してスキャンを開始します。 **このメソッドの実行後、処理結果は以下のメソッドによってコールバックされます。** - [`receivedBarcodeData`](./10_AsReaderBarcodeProtocol.md#receivedbarcodedata) - [`receivedScanData`](../common/common/8_AsReaderDeviceProtocol.md#receivedscandata) ```objectivec - (BOOL)startScan:(uint8_t)numberOfTags readUntilInSec:(uint8_t)readUntilInSec; ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `numberOfTags` - `uint8_t` - 読み取るバーコードの最大数。
・`0x00`:1件スキャンして終了。
・`0x01〜0xFE`:指定した件数だけ読み取る
 (例:0x05 → 5件)。
・`0xFF`:連続読み取り(手動で停止するまで)。

※通常は10〜20件程度までの利用を推奨します。大量に指定すると時間がかかる場合があります。 * - `readUntilInSec` - `uint8_t` - 最大読み取り時間(秒単位)。
・`0x00`:`numberOfTags` に応じてスキャンを即時終了。
・`0x01〜0xFE`:指定した秒数だけスキャン
 (例:0x10 → 16秒)。
・`0xFF`:連続スキャン(手動で停止するまで)。

※通常は5〜30秒程度が推奨されます。 ``` ### 注意事項 - 通常、`numberOfTags` と `readUntilInSec` の両方を `0x00` に設定すると、**バーコードを1件だけ読み取って即座に終了**します。 - より多くのバーコードを読み取る必要がある場合は、**どちらか一方だけを変更するのが推奨**されます。 - `0xFF` を指定した場合、読み取りは手動で停止するまで継続されます。 ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `BOOL` - YES:読み取り開始に成功した場合
NO:開始に失敗した場合 ``` ### サンプルコード ```objectivec BOOL status = [asReaderDevice startScan:0 readUntilInSec:0]; if (status) { // 読み取り開始に成功 } else { // 読み取り開始に失敗 } ``` --- ## `stopScan` バーコードのスキャンを停止します。 startScanで開始したスキャンを終了したい時に使用します。 ```objectivec - (BOOL)stopScan; ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `BOOL` - YES:スキャン停止成功、NO:失敗 ``` ### サンプルコード ```objectivec BOOL status = [asReaderDevice stopScan]; if (status) { // メソッドの実行に成功しました } else { // メソッドの実行に失敗しました } ``` --- ## `doFactoryReset` バーコードモジュールの設定を出荷時の状態にリセットします。 初期状態に戻したい場合に使用します。 **このメソッドの実行後、処理結果は [`receiveFactoryReset`](./10_AsReaderBarcodeProtocol.md#receivefactoryreset) によってコールバックされます。** > ⚠️ **注意** > このメソッドは **ASR-230D,ASR-0231D,ASR-0240D,ASR-022D のみ対応**しています。 ```objectivec - (BOOL)doFactoryReset; ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 内容 * - `BOOL` - `YES`:リセットに成功した場合 `NO`:リセットに失敗した場合 ``` ### 使用例 ```objectivec BOOL status = [asReaderDevice doFactoryReset]; if (status) { // 初期化に成功しました } else { // 初期化に失敗しました } ``` --- ## `sendBarcodeSettingData:` バーコード設定コマンドを端末に送信します。 主にスキャナの設定変更を行う際に使用します。 ```objectivec - (BOOL)sendBarcodeSettingData:(NSData*)sendData; ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `sendData` - `NSData *` - 送信するバーコード設定データ ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 内容 * - `BOOL` - `YES`:送信成功 `NO`:送信失敗 ``` ### 使用例 ```objectivec BOOL status = [asReaderDevice sendBarcodeSettingData:data]; if (status) { // 設定の送信に成功しました } else { // 設定の送信に失敗しました } ``` --- ## `getSymbologies` 読み取り可能なバーコードシンボルを取得します。 このメソッドを実行した後、コールバックメソッド [`receivedSymbologies`](./10_AsReaderBarcodeProtocol.md#receivedsymbologies)でバーコードシンボルの状態を受け取ります。 > ⚠️ **注意** > このメソッドは **ASR-M24Dのみ対応**しています。 ```objectivec - (BOOL)getSymbologies; ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `BOOL` - メソッドの実行結果:YES:成功、NO:失敗 ``` ### サンプルコード ```objectivec BOOL status = [asReaderDevice getSymbologies]; if (status) { // メソッドの実行に成功しました } else { // メソッドの実行に失敗しました } ``` --- ## `setSymbologyPrefix` 読み取ったすべてのバーコードに、シンボル体系(種類)に応じたプリフィックスを付加します。 バーコードの種類を識別したい場合に使用します。 > ⚠️ **注意** > 本機能は **ASR-0230D**、**ASR-0240D**、**ASR-022D** など、**一部のモデルのみ**対応しています。 > 対応していないモデルで実行した場合は `NO` が返されます。 ```objectivec - (BOOL)setSymbologyPrefix; ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 内容 * - `BOOL` - `YES`:設定に成功 `NO`:未対応モデル、またはスキャン中のため設定失敗 ``` ### 使用例 ```objectivec BOOL status = [asReaderDevice setSymbologyPrefix]; if (status) { // プリフィックスの設定に成功しました } else { // 対応していないモデル、またはスキャン中のため設定できませんでした } ``` --- ## `setDisableSymbologyPrefix` バーコードに付加されるプリフィックス(接頭辞)を無効化します。 `setSymbologyPrefix` で設定したプリフィックスを解除したい場合に使用します。 > ⚠️ **注意** > この機能は **ASR-0230D、0240D、022D** など、**一部のモデルのみ**対応しています。 > 非対応モデルやスキャン中の状態では `NO` が返されます。 ```objectivec - (BOOL)setDisableSymbologyPrefix; ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 内容 * - `BOOL` - `YES`:プリフィックスの無効化に成功 `NO`:未対応モデル、またはスキャン中で失敗 ``` ### 使用例 ```objectivec BOOL status = [asReaderDevice setDisableSymbologyPrefix]; if (status) { // プリフィックスを無効化しました } else { // 対応していないモデル、またはスキャン中のため無効化できませんでした } ``` --- ## `setCustomPrefix:` すべてのバーコードに同じ接頭辞を設定します。 接頭辞文字列の詳細は、[Lower ASCII Reference Table](../common/17_compatibility_charts.md#lower-ascii-reference-table)を参照してください。 > ⚠️ **注意** > この機能は **ASR-0230D、0240D、022D** など、**一部のモデルのみ**対応しています。 ```objectivec - (BOOL)setCustomPrefix:(NSString *)prefix; ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `prefix` - `NSString *` - 設定する接頭辞文字列 ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 内容 * - `BOOL` - `YES`:設定成功 `NO`:設定失敗 ``` ### 使用例 ```objectivec BOOL status = [asReaderDevice setCustomPrefix:@"01"]; if (status) { // 接頭辞の設定に成功しました } else { // 接頭辞の設定に失敗しました } ``` --- ## `setDisableCustomPrefix` バーコードに付加されたカスタム接頭辞を無効化(クリア)します。 `setCustomPrefix:` で設定した接頭辞を解除したい場合に使用します。 > ⚠️ **注意** > この機能は **ASR-0230D、0240D、022D** など、**一部のモデルのみ**対応しています。 ```objectivec - (BOOL)setDisableCustomPrefix; ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 内容 * - `BOOL` - `YES`:解除成功 `NO`:解除失敗 ``` ### 使用例 ```objectivec BOOL status = [asReaderDevice setDisableCustomPrefix]; if (status) { // 接頭辞の解除に成功しました } else { // 接頭辞の解除に失敗しました } ``` --- ## `setCustomSuffix:` すべてのバーコードに同じ接尾辞(サフィックス)を設定します。 接頭辞文字列の詳細は、[Lower ASCII Reference Table](../common/17_compatibility_charts.md#lower-ascii-reference-table)を参照してください。 > ⚠️ **注意** > この機能は **ASR-0230D、0240D、022D** など、**一部のモデルのみ**対応しています。 ```objectivec - (BOOL)setCustomSuffix:(NSString *)suffix; ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `suffix` - `NSString *` - 設定する接尾辞文字列 ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 内容 * - `BOOL` - `YES`:設定成功 `NO`:設定失敗 ``` ### 使用例 ```objectivec BOOL status = [asReaderDevice setCustomSuffix:@"01"]; if (status) { // 接尾辞の設定に成功しました } else { // 接尾辞の設定に失敗しました } ``` --- ## `setDisableCustomSuffix` 設定されている接尾辞(サフィックス)をクリアします。 `setCustomSuffix:` で追加した接尾辞を解除する際に使用します。 > ⚠️ **注意** > この機能は **ASR-0230D、0240D、022D** など、**一部のモデルのみ**対応しています。 ```objectivec - (BOOL)setDisableCustomSuffix; ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 内容 * - `BOOL` - `YES`:設定成功 `NO`:設定失敗 ``` ### 使用例 ```objectivec BOOL status = [asReaderDevice setDisableCustomSuffix]; if (status) { // 接尾辞の解除に成功しました } else { // 接尾辞の解除に失敗しました } ``` --- ## `setBarcodeEngineUserCommand:` バーコードモジュールの動作をコマンドで設定します。 詳細なコマンド仕様については、ご使用の各機種に対応したバーコード設定マニュアルをご参照ください。 > ⚠️ **注意** > この機能は **ASR-0230D、0240D、022D** など、**一部のモデルのみ対応**しています。 ```objectivec - (BOOL)setBarcodeEngineUserCommand:(NSString *)command; ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `command` - `NSString *` - コマンドコード文字列(例:`"BEPPWR1."`) ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `BOOL` - `YES`:成功 `NO`:失敗 ``` ### サンプルコード ```objectivec BOOL status = [asReaderDevice setBarcodeEngineUserCommand:@"BEPPWR1."]; if (status) { // コマンドの送信に成功しました } else { // コマンドの送信に失敗しました } ``` --- ## `setCodeID:isBeepOn:` Code ID の種類と、読み取り時のビープ音のオン/オフを設定します。 > ⚠️ **注意** > このメソッドは **ASR-M24D のみ対応**です。他のモデルでは使用できません。 ```objectivec + (NSData*)setCodeID:(int)codeID beepOn:(BOOL)isBeepOn; ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `codeID` - `int` - [CodeIDの種類(列挙型)](../common/enum/12_AsReaderInfoDefine.md#codeid) * - `isBeepOn` - `BOOL` - YES:ビープ音オン、NO:オフ ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `BOOL` - YES:成功、NO:失敗 ``` ### サンプルコード ```objectivec BOOL status = [asReaderDevice setCodeID:CODEID_NONE isBeepOn:YES]; if (status) { // メソッドの実行に成功しました } else { // メソッドの実行に失敗しました } ``` --- ## `setOCRType:isBeepOn:` OCRの種類とビープ音のオン・オフを設定します。 > ⚠️ **注意** > このメソッドは **ASR-M24D のみ対応**です。他のモデルでは使用できません。 ```objectivec - (BOOL)setOCRType: (OCRType)type isBeepOn:(BOOL)isBeepOn; ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `type` - `OCRType` - [OCRの種類(列挙型)](../common/enum/12_AsReaderInfoDefine.md#ocrtype) * - `isBeepOn` - `BOOL` - `YES`:ビープ音オン、`NO`:ビープ音オフ ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `BOOL` - `YES`:成功、`NO`:失敗 ``` ### 使用例 ```objectivec BOOL status = [asReaderDevice setOCRType:OCR_TYPENONE isBeepOn:YES]; if (status) { // メソッドの実行に成功しました } else { // メソッドの実行に失敗しました } ``` --- ## `setiOSHIDEnable:` HIDモードのオン・オフを設定します。 > ⚠️ **注意** > このメソッドは **ASR-M24D のみ対応**です。他のモデルでは使用できません。 ```objectivec - (BOOL)setiOSHIDEnable:(BOOL)isOn; ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `isOn` - `BOOL` - `YES`:オン、`NO`:オフ ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `BOOL` - `YES`:成功、`NO`:失敗 ``` ### サンプルコード ```objectivec BOOL status = [asReaderDevice setiOSHIDEnable:YES]; if (status) { // メソッドの実行に成功しました } else { // メソッドの実行に失敗しました } ``` --- ## `setPresentationMode:isBeepOn:` プレゼンテーションモードのオン・オフを設定します。 読み取り範囲内にバーコードが入ると自動的に読み取りが開始されます。 > ⚠️ **注意** > このメソッドは **ASR-M24D のみ対応**です。他のモデルでは使用できません。 ```objectivec - (BOOL)setPresentationMode:(BOOL)isOn isBeepOn:(BOOL)isBeepOn; ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 項目名 - 型 - 説明 * - `isOn` - `BOOL` - プレゼンテーションモードのオン・オフ設定(YES:オン、NO:オフ) * - `isBeepOn` - `BOOL` - ビープ音のオン・オフ設定(YES:オン、NO:オフ) ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `BOOL` - YES:成功、NO:失敗 ``` ### サンプルコード ```objectivec BOOL status = [asReaderDevice setPresentationMode:YES isBeepOn:YES]; if (status) { // メソッドの実行に成功しました } else { // メソッドの実行に失敗しました } ``` --- ## `getCodeID` CodeIDを取得します。 このメソッドを実行した後、コールバックメソッド [`receivedCodeID`](./10_AsReaderBarcodeProtocol.md#receivedcodeid)でCodeIDを受け取ります。 > ⚠️ **注意** > このメソッドは **ASR-M24Dのみ対応**しています。 ```objectivec - (BOOL)getCodeID; ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `BOOL` - メソッドの実行結果:YES:成功、NO:失敗 ``` ### サンプルコード ```objectivec BOOL status = [asReaderDevice getCodeID]; if (status) { // メソッドの実行に成功しました } else { // メソッドの実行に失敗しました } ``` --- ## `getOCR` OCRの状態(OCR - A, OCR - B)を取得します。 このメソッドを実行した後、コールバックメソッド [`receivedOCR`](./10_AsReaderBarcodeProtocol.md#receivedocr)でOCRの状態を受け取ります。 > ⚠️ **注意** > このメソッドは **ASR-M24Dのみ対応**しています。 ```objectivec - (BOOL)getOCR; ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `BOOL` - メソッドの実行結果:YES:成功、NO:失敗 ``` ### サンプルコード ```objectivec BOOL status = [asReaderDevice getOCR]; if (status) { // メソッドの実行に成功しました } else { // メソッドの実行に失敗しました } ``` --- ## `getHID` HIDモードの状態を取得します。 このメソッドを実行した後、コールバックメソッド [`receivedHID`](./10_AsReaderBarcodeProtocol.md#receivedhid)でHIDモードの状態を受け取ります。 > ⚠️ **注意** > このメソッドは **ASR-M24Dのみ対応**しています。 ```objectivec - (BOOL)getHID; ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `BOOL` - メソッドの実行結果:YES:成功、NO:失敗 ``` ### サンプルコード ```objectivec BOOL status = [asReaderDevice getHID]; if (status) { // メソッドの実行に成功しました } else { // メソッドの実行に失敗しました } ``` --- ## `getPresentationMode` デモモードの状態を取得します。 このメソッドを実行した後、コールバックメソッド [`receivedPresentationMode`](./10_AsReaderBarcodeProtocol.md#receivedpresentationmode)でデモモードの状態を受け取ります。 > ⚠️ **注意** > このメソッドは **ASR-M24Dのみ対応**しています。 ```objectivec - (BOOL)getPresentationMode; ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `BOOL` - YES:デモモードの状態を正常に取得、NO:失敗 ``` ### サンプルコード ```objectivec BOOL status = [asReaderDevice getPresentationMode]; if (status) { // メソッドの実行に成功しました } else { // メソッドの実行に失敗しました } ``` --- ## `getSecurity` バーコードのセキュリティレベルを取得します。 このメソッドを実行した後、コールバックメソッド [`receivedBarcodeSecurity`](./10_AsReaderBarcodeProtocol.md#receivedbarcodesecurity)でセキュリティレベルを受け取ります。 > ⚠️ **注意** > このメソッドは **ASR-M24Dのみサポート**しています。 ```objectivec - (BOOL)getSecurity; ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - `BOOL` - YES:バーコードのセキュリティレベルを正常に取得、NO:失敗 ``` ### サンプルコード ```objectivec BOOL status = [asReaderDevice getSecurity]; if (status) { // メソッドの実行に成功しました } else { // メソッドの実行に失敗しました } ``` --- ## 非推奨メソッド一覧 以下のメソッドは現在非推奨です。 **将来的に削除される可能性がありますので、新規開発では使用しないでください。** 代替手段が用意されている場合はそちらをご利用ください。 --- ### ⚠️ `startScan`【非推奨】 バーコードスキャンを開始します。 代替: [`startScan`](#startscan) ```objectivec - (void)setTriggerModeDefault:(BOOL)isDefault; ```