Обмен информацией между несколькими приложениями iOS

Под «легально» я имел в виду методы, которые будут приняты в App Store.

Я читал это, но чувствую, что он может быть устаревшим (вопрос и большинство ответов датированы 2008 годом)

Как обмениваться пользовательскими данными между приложениями iPhone?

И они предоставляют минимальную информацию:

Обмен файлами между приложениями на устройствах iOS

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

Насколько я понимаю, эти методы

Совершенно законно

1) UIApplication openURL

2) Связку ключей можно использовать, если оба приложения разрабатывает одна и та же команда.

3) iCloud можно использовать, если оба приложения разрабатывает одна и та же команда.

Серая зона.

4) Глобальное уведомление с использованием CFNotificationCenterGetDarwinNotifyCenter, CFNotificationCenterAddObserver, CFNotificationCenterPostNotification

5) Используйте сокеты TCP / IP (если одно из приложений работает в фоновом режиме)

6) Используйте сокеты Unix (если одно из приложений работает в фоновом режиме)

7) Используйте пользовательский UIPasteBoard

Кто-нибудь был отвергнут или принят, кто использовал это?

Кто-нибудь знает другие методы?

- Обновление 1 -

Оба приложения будут работать на одном устройстве.

Есть вероятность, что одно из приложений будет работать в фоновом режиме (VOIP)

Приложения будут разрабатываться разными командами (не будут подписаны одними и теми же сертификатами).


person Victor Ronin    schedule 25.01.2013    source источник
comment
Почему использование сокетов Unix считается серой зоной? Использование уровня POSIX в iOS является допустимым.   -  person    schedule 26.01.2013
comment
Приложения на одном телефоне? Оба работают одновременно?   -  person Hot Licks    schedule 26.01.2013
comment
2H2CO3: Вообще говоря, это было частью моего вопроса. Примет ли это Apple или отвергнет? Я знаю, что они довольно жестко относятся к таким вещам.   -  person Victor Ronin    schedule 26.01.2013
comment
2Hot Licks: Я только что написал ответы на ваши вопросы в обновлении.   -  person Victor Ronin    schedule 26.01.2013


Ответы (2)


Я бы рекомендовал использовать icloud, потому что Apple отправляет файлы на все устройства, и вы можете получать файлы в обоих приложениях, используя его. если вы хотите сделать это с помощью других приложений, вам нужно будет спросить этого разработчика. но icloud, вероятно, самый простой и быстрый способ.

person Chris Loonam    schedule 25.01.2013
comment
С тех пор, как вы это упомянули. Подвопрос. Нормально ли обмен через iCloud между двумя разными командами (когда одно приложение разработано одной компанией, а другое приложение - другой)? - person Victor Ronin; 26.01.2013
comment
Я не уверен, так как ive никогда не пробовал это, однако вы можете получить доступ к файлам, которые пользователь имеет для этого приложения, с помощью iCloud, но вам нужно будет изучить это, и если Apple это разрешит - person Chris Loonam; 26.01.2013

А как насчет использования такой службы, как Dropbox? Его используют довольно много приложений, и я думаю, что они предоставляют богатый API.

person Thorsten    schedule 25.01.2013
comment
Это интересная идея. Я бы, наверное, даже обобщил - хранить общий контент на сервере. В таком случае главный вопрос - это аутентификация каждого приложения на сервере. - person Victor Ronin; 26.01.2013