«Устройство доступно?» коробка ссылается на centralManager(_:didConnect:)
был вызван. Если вы посмотрите на поле выше, это «Попробуйте подключиться». Если это успешно, то устройство доступно.
Это почти всегда правильный подход. Не спрашивайте "это может быть успешным?" Просто попробуй. Если это работает, это работает.
Если вы действительно хотите знать близлежащие, но не подключенные устройства, то вы можете отсканировать их, если они используют рекламу scanForPeripherals(withServices:options:)
. Затем вы можете проверить, являются ли какие-либо обнаруженные периферийные устройства именно тем, что вы ищете.
Конечно, устройство может быть рядом, а не реклама. Возможно, он подключен к другому устройству, и в этом случае вы его не видите. Возможно, он подключен к вашему устройству, и в этом случае вам понадобится retrieveConnectedPeripherals
, чтобы увидеть его. Это может быть просто не реклама (многие устройства прекращают рекламу через некоторое время). В этом случае вы не сможете увидеть его, не пытаясь подключиться к нему.
Но обычно правильный ответ - просто попытаться подключиться, если вы уже знаете устройство. Установите время ожидания, и, если оно истекло, оно, вероятно, не рядом. Или не устанавливайте тайм-аут, и просто дайте ему попытаться подключиться, пока он не заработает.
Вы могли сделать то, что Google делает и Вино пакета с приложением. Тем путем там не является никакой страх, что Вино будет изменять что-то в будущем и препятствовать тому, чтобы Ваше приложение работало.
Да это была бы хорошая идея. Все, что может помочь коммуникации между мирами Linux и Windows, плюс. Было бы еще лучше, если у Вас может быть своя компиляция кода исходно в Linux.
Необходимо перечислить Вино как поддерживаемую платформу, сказать, какую версию Вина Вы протестировали с и просите быть добавленными к списку приложений, которые поддерживают вино по http://wiki.winehq.org/AppsThatSupportWine
Лично, я хотел бы видеть приложения, доступные, которые являются, 'пред '-crossplatform как Вы описали.
Ответ @Mark является также хорошей идеей: распределение статически связанного выпуска Вина, в то время как это сделало бы Ваш продукт больше, гарантирует, что будет работать, даже если более новый выпуск будет существовать, который повреждает что-то (мне напоминают о местах, которые поставляют их 'собственный' JRE, чтобы гарантировать, что их инструмент работает правильно).
Возможно, должно быть перемещение, сделанное в Винном сообществе "сделать для Вина" этикетки/логотипы доступными?
Да... затем мы можем добавить Ваше приложение к http://wiki.winehq.org/AppsThatSupportWine
ЕСЛИ Вы выполнение приложения в Вине, разве Вы не можете попытаться компилировать его исходно и связаться против winelib?
Получение Вашего приложения создать со Свободным Паскалем и Lazarus было бы огромным усилением в системах Linux, за счет некоторой боли Вам.
Я отправил бы уведомление, что Ваше приложение, как сертифицировали, работало с ВИННОЙ версией вообще, и что это может или не может работать с другими версиями ВИНА. Необходимо полагать, что тестирование приложения с бетой и емкостно-резистивными версиями вина гарантирует, что они останутся совместимыми во время циклов выпуска.
Достаточно просто поиграть в песочнице Вас ВИННЫЕ установки.