2008-10-21 4 views

ответ

19

Есть два разных способа, которыми вы можете это поделать.

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

Дополнительную информацию о схемах URL можно получить через Craig Hockenberry в его [redacted] blog post.

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

19

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

+0

Да, после ответа Мишеля Ледфорда, который, насколько мне известно, является правильным, я начал изучать брелок, я не уверен, как правильно получить подпись, но это может быть решение для обмена небольшими данными (точно пароли) среди приложений. – 2008-10-21 04:20:39

+1

Я еще не пробовал, но это похоже на цепочку ключей по шагам: http://shaune.com.au/ios-keychain-sharing-data-between-apps/ – leontx 2013-03-08 00:00:15

3

Даниэль Грисби most recent mobile orchard podcast предполагает, что вы можете также использовать настраиваемые буфера обмена для обмена информацией между приложениями. Я понимаю, что это более старая должность, но я подумал, что хочу указать на это, потому что это очень важно для результатов Google. :)

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

3

хак я могу думать writing to and reading from the Address Book с API, хранение данных в доступные поля (возможно, преобразование NSData для изображения пользователя). Изменить: я успешно реализовал преобразование NSData и сохранение объектов внутри отображаемого изображения контакта, что делает их недоступными для редактирования из приложения контактов.

5

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

От Apple's doc on configuring your iCloud entitlements:

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

Смежные вопросы