2017-09-06 4 views
1

BLE 장치는 정상적인 블루투스 장치가 아닙니다.iOS에서 블루투스 장치를 페어링하지 않고 연결할 수 있습니까?

[[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:nil completion:^(NSError *error) 
     { 

     }]; 
    } 

하고 그 다음 내가 원하는 장치를 클릭하고 개체를 얻을 가서 가능한 블루투스 장치의 목록을 팝업을 엽니 다

, 현재 나의 코드는 내가 함수를 호출 같이 작동 .

이 픽커 단계를 건너 뛰고 직접 내 장치의 개체를 가져올 수있는 방법이 있습니까?

답변

1

아니요, 먼저 페어링하지 않고 연결할 수 없습니다. 처음에는 설정 앱이나 선택기에서 기기와 사용자 페어를 가져야합니다. 그러나 처음 페어링을 한 후에는 액세서리가 이미 iOS 장비에 연결되어 있으면 선택기를 건너 뛰고 액세서리 용으로 EAAccesory *을 얻을 수 있습니다. 여기에 연결된 액세서리의 목록을 조회 할 수있는 방법입니다 다음 EAAccessory 프레임 워크와

NSArray<EAAccessory *> *connectedAccessories = [EAAccessoryManager sharedAccessoryManager].connectedAccessories; 
for (EAAccessory *accessory in connectedAccessories) { 
    // Implement needed filter to recognize your device. 
    // You can use for instance accessory.protocolStrings 
    // The MAC address is available with [accessory valueForKey:@"macAddress"] 
} 

는 프로그래밍 장치에 대한 연결을 시작할 수 없습니다. 후속 연결의 경우, 장치를 마지막으로 연결된 장치에 다시 연결할 수 있습니다 (펌웨어를 제어하는 ​​경우). 앱이 포 그라운드에있는 경우 EAAccessoryDidConnectNotification을 트리거합니다. 그렇지 않으면 알림을 대기열에 추가하고 연결된 액세서리 목록을 업데이트합니다.

+0

펌웨어가 자동 후속 연결을 수행하는 방법을 명확히 할 수 있습니까? 저는 펌웨어 엔지니어와 직접 작업하고 사용자가 설정 응용 프로그램에 들어가서 수동으로 액세서리에 연결하지 않고도 작업중인 iOS 응용 프로그램을 사용할 수있는 기능을 제공하고자합니다. – Audible

+0

@Audible 관련 문서는 MFi 프로그램에 포함되어 있으므로 공개적으로 세부 정보를 제공 할 수는 없습니다. 그러나 귀하 또는 펌웨어 팀이 MFi 액세서리 인터페이스 사양에 액세스 할 수있는 경우 52.4 절 (개정 R27)의 시작 지점을 찾을 수 있습니다. 제품에 사용 된 Bluetooth 칩셋에 따라 칩셋과 함께 제공되는 라이브러리에서이를 수행 할 수있는 기능이있을 수도 있습니다. –

+1

엄격한 MFi 가이드 라인을 확실히 이해합니다. 그러나 이것은 훌륭한 답변입니다. 감사합니다! MFi에 액세스하여 참조한 특정 섹션을 살펴보고 펌웨어 엔지니어 및 칩 제조업체와 협의하여 해결하도록 노력할 것입니다. 매우 감사. – Audible