2013-03-22 3 views
16

Прежде всего я разработчик Android, поэтому вопрос касается всех разработчиков iOS.Android <-> iOS прямая связь (Bluetooth). Является ли это возможным?

Можно ли установить Android < -> iPhone/iPad прямая связь?
Некоторые претензии не могут, другие утверждают, что это так.

Я думаю, два возможных технологии бы Bluetooth и/или Wi-Fi Direct.
Wi-Fi Direct не рекомендуется, поскольку он не поддерживается Gingerbread и, насколько я знаю, это не поддерживается iPhone либо (может быть, iPhone 6, как я слышал от слухов)

Это уже известно, что связь Bluetooth достигается между устройствами iOS, используя GameKit и здесь reference.

Я не понимаю Что такого особенного при общении с GameKit ??
Являются ли сообщения обернутыми с дополнительными байтами в начале и в конце сообщения? Хорошо, мы можем обернуть сообщения так же в Android!
Являются ли сообщения зашифрованными? !! И если да, можем ли мы их расшифровать, когда они будут получены на устройстве Android?

Любые идеи, обходные пути или другие хакерские решения в основном приветствуются!

+2

ну, вопрос, который вы называете дубликатом, был задан более года назад. Кто-то будет ожидать недавних обновлений по этому вопросу. Но спасибо за то, что связали вопрос –

+0

некоторые связанные данные в этой ссылке: http://is.gd/i2UbhE , но до сих пор не могу найти хороший ответ, потому что я предполагаю, что Android-авио Android является более высоким уровнем (так же просто, как работа с вводом -выходные потоки), а для решения iOS вам нужно глубже понять, что я могу сказать. –

+1

Возможно, с небольшой задержкой, но технологии с тех пор развивались: текущее состояние заключается в том, что соединение между iOS и Android возможно через BLE, однако все же многие андроиды не поддерживают BLE Peripheral mode, плюс стек Android BLE очень нестабилен. Кроме того, WiFi Direct поддерживается Android, но на iOS он еще не доступен для публики. Если я могу, я бы рекомендовал посмотреть на фреймворки, которые могут сделать кросс-платформу p2p для вас, так что вам не нужно тратить время на создание сетевого кода. Такими каркасами может быть тот, над которым я работаю над вызываемым http://p2pkit.io или google рядом. – p2pkit

ответ

1

Для устройств в одной локальной сети Bonjour (a.k.a. zeroconf) может быть хорошим способом для процессов на разных машинах/устройствах обнаруживать и взаимодействовать друг с другом.

apple bonjour for android для некоторых указателей на реализацию Android Bonjour.

+0

та же локальная сеть? Nop! Устройства не относятся к локальной сети. На самом деле не предполагается ни одна сеть, ни интернет. Вот почему я упомянул wifi - ** direct **, а не просто wifi, а также поэтому Bluetooth очень важен –

+0

Привет @Caleb мне нужно создать собственное приложение для такого общения, что возможно? –

+0

Хотя я не смог обнаружить службу bounjour (библиотека CocoaHTTP), запущенную с моего iPhone, мне удалось жестко установить IP-адрес точки доступа iPhone (по умолчанию - 170.20.10.1) и порт и подключиться к нему на Android и получить веб-сайт страница, размещенная на iPhone. – Fraggle

3

iOS не реализует никаких стандартных протоколов Bluetooth, которые позволят ему общаться с другими ОС. GameKit является проприетарным, и если его легко взломать, то люди уже сделали бы это (и Apple закрыла бы дыру).

Bluetooth LE поддерживается только некоторыми устройствами Android (пока он еще не включен в AOSP), поэтому он еще не очень полезен, даже если он поддерживает одноранговую связь.

Я читал, что вы можете делать то, что вам нужно, через Wi-Fi direct, например. с этой библиотекой: https://www.alljoyn.org/ В нем говорится, что он поддерживает Android & iOS - я не пробовал это сам, но, похоже, делает то, что вам нужно.

16

Есть в наличии в прошивкой три рамки с помощью которых вы можете разрабатывать приложения Bluetooth:

1. GameKit: Это общедоступная база. Но с помощью этого вы можете установить и установить связь только между двумя устройствами iOS. Таким образом, эта структура имеет свои собственные ограничения.

2. BluetoothManager: Это частная структура.Я использовал эту инфраструктуру для обнаружения устройств без iOS. Я также установил связь. Но не может сделать обмен данными. Я думаю, что он все еще находится в стадии разработки. Для справки вы можете обратиться this link

3. CoreBluetooth: Это также общедоступный каркас. Это может обнаружить только устройства с поддержкой BLE. Я успешно использовал это для передачи данных между устройствами с поддержкой BLE.

+1

Вы сказали, что успешно передали данные между устройствами с поддержкой BLE через CoreBluetooth. С какими устройствами BLE вы разговариваете? Можете ли вы подтвердить меня/нас, что вы успешно перенесли данные на устройство Android, такое как Samsung Galaxy S4 или Nexus 4? Или просто BLE-контакт? @ V-Xtreme – klefevre

+0

@ kl94: для передачи данных вам просто требуется два устройства, поддерживающих BLE, независимо от того, являются ли они iOS-устройством, устройством Android и модемом BLE. Если вы можете отображать уровни, такие как периферийные устройства, службы и характеристики, вы можете выполнять любую операцию с характеристикой в ​​зависимости от свойства характеристики, то есть Read/Write/Notify –

+0

Просто FYI для кого-то, кто возится с CoreBluetooth, вот ссылка на некоторый пример исходного кода, предоставленного Apple: https://developer.apple.com/library/ios/samplecode/TemperatureSensor/Listings/TemperatureSensor_main_m.html#//apple_ref/doc/uid/DTS40012194-TemperatureSensor_main_m-DontLinkElementID_12 –