これは私を狂わせています...以前は正常に機能していましたが、何が変わったのかわかりません。Bluetooth経由で独自の会社のデバイスに接続しています。これには認証チップがあり、(私が言ったように)以前はすべて問題ありませんでした。
iPad とアクセサリの両方が相互に接続されていることを示しています。それでも、アプリ内でデバイスと通信しようとすると、ほとんどの場合、EAAccessoryManager はそれを見つけることさえできません...しかし、たまに接続できることがあります。何を与える?
-(void)scanForDevice
{
NSArray *accList = [[EAAccessoryManager sharedAccessoryManager] connectedAccessories];
// This is ZERO every time...even though iPad and device both indicate connection.
DLog(@"accList count: %i", accList.count);
for (EAAccessory *accessory in accList)
{
for (NSString* protocolString in accessory.protocolStrings) {
if ([protocolString isEqualToString:[redacted]]) {
[self connectToAccessory:accessory];
break;
}
}
}
}
ETA: それ以来、showBluetoothAccessoryPicker... メソッドを呼び出してアプリ内に Bluetooth ピッカーを表示するボタンを接続しました。これにより、さらに混乱が生じました。iPad が (設定で) 既に接続されていることを通知しているアクセサリが、ピッカーに表示されます。クリックすると、コンソール出力は次のようになります。
2014-04-01 16:48:00.324 Subview[3438:60b] BTM: attempting to connect to service 0x00000080 on device [redacted] 00:07:80:73:06:01
2014-04-01 16:48:02.497 Subview[3438:60b] BTM: connection to service 0x00000080 on device [redacted] 00:07:80:73:06:01 succeeded
2014-04-01 16:48:11.924 Subview[3438:60b] BTM: lost device [redacted] 00:07:80:73:06:01
2014-04-01 16:48:12.500 Subview[3438:60b] BTM: setting pairing disabled
2014-04-01 16:48:12.501 Subview[3438:60b] BTM: disabling device scanning
2014-04-01 16:48:12.509 Subview[3438:60b] <0x157d10770 JobListViewController.m:(255)> BTPicker failed with error: The operation couldn’t be completed. (EABluetoothAccessoryPickerErrorDomain error 1.)
そのエラーコードはドキュメントに「見つかりません」と表示されます。うーん…設定どおりずっと接続していたのに、接続が成功してすぐに切れて、見つからないということですか?私はこれを説明するのは損です。このフレームワークの経験がある人の助けをいただければ幸いです。フレームワーク、アクセサリ自体、またはそれらの組み合わせの問題であるとほぼ完全に確信しています。