ペアリングされた iPhone デバイスに現在接続しているかどうかを確認したいと考えています。定期的に(たとえば5秒)チェックする必要があります。現在、ExternalAccessory フレームワークを使用して識別していますが、実装されたコードではペアリングされた iPhone のリストが提供されません。
私が実装したコード
- (EASession *)openSessionForProtocol:(NSString *)protocolString
{
NSArray *accessories = [[EAAccessoryManager sharedAccessoryManager]
connectedAccessories];
EAAccessory *accessory = nil;
EASession *session = nil;
for (EAAccessory *obj in accessories)
{
if ([[obj protocolStrings] containsObject:protocolString])
{
accessory = obj;
break;
}
}
if (accessory)
{
session = [[EASession alloc] initWithAccessory:accessory
forProtocol:protocolString];
if (session)
{
[[session inputStream] setDelegate:self];
[[session inputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop]
forMode:NSDefaultRunLoopMode];
[[session inputStream] open];
[[session outputStream] setDelegate:self];
[[session outputStream] scheduleInRunLoop:[NSRunLoop currentRunLoop]
forMode:NSDefaultRunLoopMode];
[[session outputStream] open];
}
}
return session;
}
NSArray *accessories = [[EAAccessoryManager sharedAccessoryManager] connectedAccessories]; 0 台のデバイスが返されます。このメソッドがペアリングされた Bluetooth デバイスを返すかどうか心配です。
私の要件 上記のように、ペアリングされた iPhone デバイスに現在接続されているかどうかを確認したいと考えています。要件を実装するための代替案を提案できます。前もって感謝します。