SDKの使用方法¶
SDKの追加¶
TARGET -> Build phases -> Link Binary With Libraries¶
SDKフレームワークをプロジェクトに追加します。
“Add Other…” を選択¶
ファイルブラウザを通じてSDKフレームワークファイルを選択します。
AsReaderDockSDK.frameworkとAsReaderBLESDK.frameworkを追加¶
これら2つのフレームワークファイルをプロジェクトに追加します。
追加完了後¶
フレームワークがプロジェクトのリンクライブラリリストに正しく追加されていることを確認します。
AsReaderプロトコルの追加¶
plistファイルの Supported external accessory protocols
オプションに以下のプロトコルを追加します。
ASX - 510R,520R:
jp.co.asx.asreader.barcode
ASR - 010D,020D,022D, M24D:
jp.co.asx.asreader.6dongle.barcode
ASX - 300R,ASX - 301R:
jp.co.asx.asreader.rfid
ASR - 030D,ASR - 031D:
jp.co.asx.asreader.6dongle.rfid
ASR - 0230D,ASR - 0240D:
jp.co.asx.asreader.0230D
,jp.co.asx.asreader.0240D
ASR-M30S:
jp.co.asx.asreader.slim
例えば
クラスでのSDKの使用¶
SDKを使用するクラスでヘッダーファイルをインポートします。
#import "AsReaderDevice.h"
注意事項¶
Dock SDK4 を利用するためには、C++ のコードに対応する必要があります。SDKヘッダーファイルを参照する
.m
ファイルを.mm
に変更するか、libc++
ライブラリをインポートしてビルドしてください。連続して命令を送信する場合は、前の命令の応答を受け取ってから次の命令を送信する必要があります。応答を受信する前に再度コマンドを送信すると、異常が発生する可能性があります。
SDKの使用方法¶
AsReaderRFIDDeviceオブジェクトの作成と初期化(シングルトンパターン)¶
AsReaderRFIDDevice *asReaderRFIDDevice = [AsReaderRFIDDevice sharedInstance];
デリゲートの設定¶
[AsReaderRFIDDevice sharedInstance].delegateDevice = self;
[AsReaderRFIDDevice sharedInstance].delegateRFID = self;
接続状態デリゲートの受信¶
- (void)plugged:(BOOL)plug {
if (plug) {
AsReaderInfo *info = [AsReaderInfo sharedInstance];
if (!info.isEnginePowerAlwaysOn) {
// 030Dは電源をオンにする必要があります
[[AsReaderRFIDDevice sharedInstance] setReaderPower:YES
beep:YES
vibration:YES
batteryGaugeLed:YES
barcodeAimer:YES
barcodePowerOnBeep:YES
mode:1];
} else {
// ASR - M30、ASR-M24Dは電源をオンにする必要はありません
}
}
}
AsReaderの電源をオンにする¶
[[AsReaderRFIDDevice sharedInstance] setReaderPower:YES
beep:YES
vibration:YES
batteryGaugeLed:YES
barcodeAimer:YES
barcodePowerOnBeep:YES
mode:1];
デバイスの電源状態の受信¶
- (void)readerConnected:(int)status {
if (status == 0xFF) {
// 電源が正常にオンになりました
} else {
// 電源のオンに失敗したか、電源が既にオフになっています
}
}
スキャンを開始する¶
[[AsReaderRFIDDevice sharedInstance] startScan:0
readUntilInSec:0
repeatCycle:0];
RFIDタグのスキャン(RSSI取得あり)を開始する¶
[[AsReaderRFIDDevice sharedInstance] startReadTagsAndRssiWithTagNum:0
maxTime:0
repeatCycle:0];
スキャン開始データの状態の受信¶
- (void)startedReadScan:(int)status {
if (status == 0x00) {
// スキャンが正常に開始されました
} else {
// スキャンの開始に失敗しました
}
}
RFIDタグのスキャンを停止する¶
[[AsReaderRFIDDevice sharedInstance] stopScan];
スキャン停止データの状態の受信¶
- (void)stopReadScan:(int)status {
if (status == 0x00) {
// スキャンが正常に停止されました
} else {
// スキャンの停止に失敗しました
}
}
RSSI付きのタグデータの受信¶
- (void)pcEpcRssiReceived:(NSData *)pcEpc rssi:(int)rssi {
// pcEpc: タグのPCEPCデータ
// rssi: タグのRSSI値
}