Я переношу рабочий код Swift в Xamarin для своего проекта. Каждый раз, когда я вызываю эту функцию, она терпит неудачу, и диалоговое окно выбора аксессуаров не отображается.
EAAccessoryManager.SharedAccessoryManager.ShowBluetoothAccessoryPicker(предикат, завершение)
Вот некоторые вещи, которые я подтвердил:
- БТ радио включено
- Info.plist содержит Поддерживаемые внешние дополнительные протоколы.
- Попытался убедиться, что вызов выполняется в потоке пользовательского интерфейса.
- Пробовал звонить напрямую из события нажатия кнопки
- Тот же базовый код в Swift/Xcode отлично работает
- Убедитесь, что ARMv7 и ARM64 были выбраны в параметрах сборки в соответствии с этой статьей: wit">iPad Air – CoreBluetooth[ОШИБКА] Отмена средства выбора, так как не удалось связаться с Bluetooth
Ксамарин:
EAAccessoryManager.SharedAccessoryManager.ShowBluetoothAccessoryPicker(null, completion: ((Foundation.NSError error) => {
Console.WriteLine("My callback");
if (error != null) {
Console.WriteLine(String.Format("Error code: {0} Desc: {1}", error.Code, error.DebugDescription));
Console.WriteLine("Failed? " + EABluetoothAccessoryPickerError.Failed.ToString());
Console.WriteLine("Failed? " + Convert.ToInt64(EABluetoothAccessoryPickerError.Failed));
}
}));
Xcode/Свифт:
EAAccessoryManager.sharedAccessoryManager().showBluetoothAccessoryPickerWithNameFilter(nil) { (error) -> Void in
if error != nil {
NSLog("Error code: \(error!.code) \(error.debugDescription)")
}
}
Код Xamarin не отображает средство выбора и всегда будет давать сбой.
2016-04-05 19:54:02.136 ASGDemo.iOS[6383:2146384] Connect Clicked
2016-04-05 19:54:06.139 ASGDemo.iOS[6383:2146384] BTM: attaching to BTServer
2016-04-05 19:54:09.157 ASGDemo.iOS[6383:2146384] BTM: session attach called back with BT_SESSION_ATTACHED (fffffed0)
2016-04-05 19:54:09.158 ASGDemo.iOS[6383:2146384] BTM: attemping to re-attach in 1 seconds
2016-04-05 19:54:09.242 ASGDemo.iOS[6383:2146384] My callback
2016-04-05 19:54:09.250 ASGDemo.iOS[6383:2146384] Error code: 3 Desc: Error Domain=EABluetoothAccessoryPickerErrorDomain Code=3 "(null)"
2016-04-05 19:54:09.253 ASGDemo.iOS[6383:2146384] Failed? Failed
2016-04-05 19:54:09.254 ASGDemo.iOS[6383:2146384] Failed? 3