Проблема с взаимодействием с аксессуаром iPad через привязку — Xamarin.iOS

#xamarin #xamarin.ios

#xamarin #xamarin.ios

Вопрос:

У меня есть аксессуар для сканера штрих-кодов, к которому подключается iPad, поэтому мне нужно взаимодействовать с аксессуаром для сканирования штрих-кода и использовать его в своем приложении. Чтобы выполнить это, я выполнил шаги, перечисленные здесь

Xamarin Hep — Link

Итак, я продолжил создавать проект «Привязки», добавил собственную библиотеку, то есть файл «.a», создал APIDefinition и структуры с помощью Sharpie и, наконец, добавил ссылку на проект привязки к моему приложению.

На следующем шаге, когда я попытался развернуть приложение на iPad, возникла ошибка в отношении встроенного связывания.

Чтобы исправить это, я упомянул «Фреймворк» в файле LinkWith, например:

[сборка: LinkWith («libBarCodeScannerSDK.a», SmartLink = true, forceLoad = false, Framework =»ExternalAccessory»)]

Выполнив все, что указано выше, я смог развернуть приложение.Но я не могу заставить свое приложение работать с аксессуаром для сканера штрих-кодов. Когда я проверяю состояние сканера, он всегда возвращается как «Не подключен».

Я не знаю, как отладить эту проблему и решить ее. Буду признателен, если кто-нибудь может дать мне указания по этому поводу.

Спасибо, Sid

Комментарии:

1. Почему у вас есть forceLoad = false?

Ответ №1:

большинство (если не все) внешних аксессуаров должны устанавливать UISupportedExternalAccessoryProtocols ключ внутри info.plist файла, см. info.plist Файл, который есть в собственном примере Xcode, поставляемом с вашим scanner SDK, и скопируйте UISupportedExternalAccessoryProtocols раздел в файл приложения вашего Xamarin info.plist .

Надеюсь, это поможет!

Комментарии:

1. Точно, я смог понять это после сравнения моего приложения Xamarin с образцом iOS, который поставляется вместе со сканером SDK. Просто нужно добавить свойство «Поддерживаемые протоколы внешних аксессуаров» и его соответствующее значение в info.plist и вуаля.. начал работать.. Однако спасибо delexsoto за помощь.