iOS для обмена данными между разными устройствами в одном приложении

Я ищу способ, позволяющий пользователям обмениваться данными (парами слов) с другими пользователями того же приложения. Это означает, что мое приложение должно иметь возможность отправлять данные через Bluetooth/airdrop или аналогичным способом в то же приложение на другом устройстве.

Я провел некоторое исследование и обнаружил много информации об обмене данными между различными приложениями на одном устройстве и об использовании UIActivityViewController для общего доступа к данным, но на самом деле я ищу способ для пользователя нажать кнопку "Поделиться", затем отобразить список близлежащих устройств (например, устройств Airdrop), попросить пользователя выбрать одно, а затем автоматически открыть приложение на устройстве другого человека и отобразить или использовать отправленные данные (после подтверждения передачи).

Я пока не совсем знаком с устройствами iOS и Apple в целом, но я знаю, что Apple ограничивает такие вещи, как общение между устройствами. Есть ли способ повторить то, что я пытаюсь достичь здесь?

2 ответа

Вы можете сделать это с помощью CoreBluetooth Framework

Это больше похоже на взаимодействие клиент-сервер, называемое центральным и периферийным, одно из ваших устройств будет действовать как центральное, а другое - как периферийное, а это периферийное устройство будет объявлять (транслировать), а центральное будет устанавливать соединения с ним и взаимодействовать друг с другом.

См. Документ Apple на CoreBluetooth https://developer.apple.com/documentation/corebluetooth

Другие опции

Многопользовательская связь https://developer.apple.com/documentation/multipeerconnectivity

GameCenter https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/GameKit_Guide/Matchmaking/Matchmaking.html

Вы можете сделать это, используя платформу Multipeer Connectivity https://www.appcoda.com/intro-ios-multipeer-connectivity-programming/

Другие вопросы по тегам