2011-12-27 5 views
2

저는 여기에 새로 왔으며 뭔가 명확한 웹 검색이 누락 된 것으로 의심합니다. 사과 문서는 도움이되지 않습니다. 나는 여기 붙어있어 그래서 여기 간다.IPhone EAAccessoryManager가 비어있는 NSArray를 반환합니다.

삼성 HM1100 블루투스 헤드셋이 연결된 IOS 4.2.10을 실행하는 iphone 4가 있습니다. HM1100에서 통화 버튼을 누르면 iphone 일반 설정이 그렇게 말하고 iphone이 으로 응답하므로 연결되어 있다고 확신합니다. 아직 IOS 5 및 CBCentralManager로 업그레이드 할 수 없습니다. HM1100은 iphone4와 호환됩니다 (블루투스 버전 2.1 + EDR).

내 아이폰 응용 프로그램은 ExternalAccessory/ExternalAccessory.h

을 수입하고 코드

NSArray *accessories = [[EAAccessoryManager sharedAccessoryManager]connectedAccessories]; 

NSLog(@"acessories %@", accessories); 

이 코드는 컴파일 다음 줄을 가지고 있으며에서 엑스 코드 4 디버거 에 부착 된 아이폰에 성공적으로 실행 맥북 프로와 빈 배열을 다음과 같이 인쇄합니다.

2011-12-27 15:03:25.106 View Switcher[102:307] acessories (
) 

적어도 EAAccessory 개체를 배열에 반환해야합니다. 나는 뭔가 잘못하고 있어야합니다.

덕분에, AB

답변

3

EAAccessory 만 만들를 위해 아이팟 허가 액세서리입니다. 라이센스가 부여되지 않았고 모든 것이 목록에 나타나지 않습니다. 임의의 Bluetooth 헤드셋이나 다른 장치를 연결할 수는 없습니다.

+0

예, 표준 Bluetooth 헤드셋은 MFi 호환 액세서리가 아니므로 외부 액세서리 프레임 워크의 연결된 액세서리 목록에 표시되지 않습니다. –

+0

감사. MFi 규격에 대한 내용을 읽었지만 의미가 있다는 것을 깨닫지 못했습니다. 당연히 iOS는이 헤드셋에 연결하는 방법을 알고 있지만 내 앱에 해당 정보를 전달하지 않도록 설계되었습니다. – user1118271

+1

그래서 "Made for iPhone"Zomm Wireless Leash Plus가 있고 연결되어 iPhone과 함께 작동합니다. 내 질문에 표시된 EAAccessoryManager 코드가 표시된 코드는 여전히 표시되지 않습니다. – user1118271

0

브래드 라슨 (Brad Larson)은 액세서리가 표준 블루투스 프로파일 (핸즈프리 프로파일 등)을 사용하므로 목록에 표시되지 않을 수도 있다고 지적했습니다.

관련 문제