Как обмениваться пользовательскими данными между приложениями iPhone? - PullRequest
26 голосов
/ 21 октября 2008

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

Спасибо!

Ответы [ 5 ]

19 голосов
/ 21 октября 2008

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

19 голосов
/ 21 октября 2008

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

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

Вы можете узнать больше информации о схемах URL через Крейга Хокенберри в его блоге [отредактировано] .

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

5 голосов
/ 21 октября 2011

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

С Документ Apple о настройке прав на iCloud :

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

3 голосов
/ 07 октября 2009

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

3 голосов
/ 06 октября 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...