Я протестировал удаление поддерживаемых аксессуаров (которые содержат com.apple.p1
и com.apple.p2
) и пример приложения EADemo
, все еще обнаружил подключенные аксессуары и позволил мне просмотреть протоколы, которые они поддерживают.
Я не тестировал отправку данных, но что касается вышеупомянутой функциональности, я видел идентичное поведение.
Чтобы ответить на ваш общий вопрос, да, если вы хотите общаться с ExternalAccessory
, вы должны указать протокол аксессуара в своем информационном листе.
Я немного погуглил, но не нашел много упоминаний о com.apple.p1
. Единственное место, которое я смог найти, было в этом проекте на GitHub. Тем не менее, я думаю, что это может быть случай Cargo Cult Programming .
Или, возможно, протоколы что-то делают, и я просто не смог увидеть разницу в поведении.