2013年12月27日金曜日

139 unable to close session for _accessoryの対応について

ERROR - opening session failed
ERROR - /SourceCache/ExternalAccessory/ExternalAccessory-242/EASession.m:-[EASession dealloc] - 139 unable to close session for _accessory=0x14e846d0 and sessionID=65536


またこのエラーが発生しました。


スキャナが繋がっていない場合のプリンタの電源OFF/ONで発生します。


対応は、Bluetooth接続時にコネクションのハードウェアモデルを見るように対応しました。


Bluetoothのイベントキャッチ


  [[EAAccessoryManager sharedAccessoryManager] registerForLocalNotifications];

  [[NSNotificationCenter defaultCenter] addObserver:self
                                           selector:@selector(_accessoryDidConnect:)
                                               name:EAAccessoryDidConnectNotification
                                             object:nil];
  [[NSNotificationCenter defaultCenter] addObserver:self
                                           selector:@selector(_accessoryDidDisconnect:)
                                               name:EAAccessoryDidDisconnectNotification
                                             object:nil];



イベントの記載方法


- (void)_accessoryDidConnect:(NSNotification *)notification
{


 EAAccessory *connectedAccessory =  [[notification userInfo] objectForKey:EAAccessoryKey];
 OPN2002iBluetoothService *sessionController = [OPN2002iBluetoothService sharedController];

    NSLog(@"description=%@",[connectedAccessory description]);
   
    if ([[[connectedAccessory modelNumber] substringToIndex:3] isEqualToString:@"OPN"]) {



補足


2013-12-29 10:08:34.483 UNITE-POS[716:60b] description=<EAAccessory: 0x155eff40> {
  connected:YES
  connectionID:28447505
  name: Wireless Barcode Scanner
  manufacturer: OPTOELECTRONICS CO.,LTD.
  modelNumber: OPN-2002i
  serialNumber: 000956
  firmwareRevision: 1.0.0
  hardwareRevision: 1.0.0
  protocols: (
    "jp.opto.opnprotocol"
)
  delegate: (null)
}


2013-12-29 10:11:21.850 UNITE-POS[716:60b] description=<EAAccessory: 0x155ed810> {
  connected:YES
  connectionID:28447508
  name: Star Micronics
  manufacturer: Star Micronics
  modelNumber: Star Micronics
  serialNumber:
  firmwareRevision: 0.1.0
  hardwareRevision: 0.1.0
  protocols: (
    "jp.star-m.starpro"
)
  delegate: (null)
}



わからないこと


Bluetoothの接続時にDidConnectが2回発生します。

この理由がわからなかった。。。

0 件のコメント:

コメントを投稿