Подтвердить что ты не робот

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

Если я создаю два приложения для iPhone, как я могу/должен совместно использовать пользовательские данные (а не такие контакты и т.д.)?

Спасибо!

4b9b3361

Ответ 1

Есть два разных способа сделать это.

1) Данные, которые необходимо предоставить, не являются постоянными. Другими словами, вам нужно запустить одно приложение с куском данных, с которым он может что-то сделать. В этом случае вы должны зарегистрировать специальную схему URL-адресов для каждого приложения.

Более подробную информацию о схемах URL можно найти через Craig Hockenberry в своем сообщении [redacted].

2) Данные, которые необходимо предоставить, являются постоянными. Другими словами, вам нужно что-то вроде файла данных, который оба приложения могут читать и писать. Насколько я знаю, нет надежного способа сделать это, кроме хранения ваших данных на удаленном сервере. Если вам нужны данные, доступные без подключения к данным, вам необходимо выяснить способ синхронизации данных между отдельными приложениями и удаленным сервером.

Ответ 2

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

Ответ 3

Приложения могут совместно использовать каталог контейнера в iCloud.

Из Документ Apple по настройке ваших прав iCloud:

Поле iCloud Containers идентифицирует список контейнеров каталоги, которые ваше приложение может получить в хранилище iCloud для пользователей. (Это поле соответствует com.apple.developer.ubiquity-container-identifiers.) строки, которые вы добавляете в этот список, должны соответствовать идентификаторам пакетов для приложений, созданных вашей командой. Xcode использует текущий пакет приложений идентификатор для указания первой строки; вы можете изменить это на различный идентификатор пакета, если вы хотите, чтобы несколько приложений могли контейнер. Вы также можете добавить дополнительные идентификаторы пакетов для ваших команд другие приложения.

Ответ 4

Dan Grisby последний мобильный подкаст для мобильных телефонов предполагает, что вы также можете использовать пользовательские буфера обмена для обмена информацией между приложениями. Я понимаю, что это более старая должность, но я подумал, что я хотел бы указать на это, потому что это высоко оценивает результаты Google.:)

(Документация также предполагает, что NSUserDefaults может быть полезен здесь, но я читал в другом месте, что на самом деле не так.)

Ответ 5

Я могу подумать, что записывает и читает из адресной книги, используя API, сохраняя данные в доступных полях ( + Преобразование NSData для изображения пользователя, возможно). Редактирование: я успешно реализовал преобразование NSData и сохранение объектов внутри изображения на дисплее контакта, что делает их недоступными для редактирования из приложения контактов.