Если я создаю два приложения для iPhone, как я могу совместно использовать пользовательские данные (а не такие контакты и тому подобное)?Как обмениваться пользовательскими данными между приложениями iPhone?
Спасибо!
Если я создаю два приложения для iPhone, как я могу совместно использовать пользовательские данные (а не такие контакты и тому подобное)?Как обмениваться пользовательскими данными между приложениями iPhone?
Спасибо!
Есть два разных способа, которыми вы можете это поделать.
1) Данные, которые необходимо предоставить, не являются постоянными. Другими словами, вам нужно запустить одно приложение с куском данных, с которым он может что-то сделать. В этом случае вы должны зарегистрировать специальную схему URL-адресов для каждого приложения.
Дополнительную информацию о схемах URL можно получить через Craig Hockenberry в его [redacted] blog post.
2) Данные, необходимые для совместного использования, являются постоянными. Другими словами, вам нужно что-то вроде файла данных, который оба приложения могут читать и писать. Насколько я знаю, нет надежного способа сделать это, кроме хранения ваших данных на удаленном сервере. Если вам нужны данные, доступные без подключения к данным, вам нужно будет выяснить способ синхронизации данных между отдельными приложениями и удаленным сервером.
В дополнение к тому, что уже упоминалось, документация на iPhone при подписании кода подразумевает, что приложения, подписанные с одинаковым идентификатором, могут обращаться к тем же элементам Keychain. Если вам нужно хранить относительно небольшие объемы данных (пароли и т. Д.), Это может быть полезным методом.
Даниэль Грисби most recent mobile orchard podcast предполагает, что вы можете также использовать настраиваемые буфера обмена для обмена информацией между приложениями. Я понимаю, что это более старая должность, но я подумал, что хочу указать на это, потому что это очень важно для результатов Google. :)
(документация также предполагает, что NSUserDefaults
может быть полезным здесь, но я read elsewhere, что это на самом деле не так.)
хак я могу думать writing to and reading from the Address Book с API, хранение данных в доступные поля (возможно, преобразование NSData для изображения пользователя). Изменить: я успешно реализовал преобразование NSData и сохранение объектов внутри отображаемого изображения контакта, что делает их недоступными для редактирования из приложения контактов.
Приложения могут совместно использовать каталог контейнеров в iCloud.
От Apple's doc on configuring your iCloud entitlements:
Поле ICloud Контейнеры идентифицирует список контейнеров каталогов, что ваше приложение может получить доступ в хранилище ICloud пользователя. (Это поле соответствует правам com.apple.developer.ubiquity-container-identifiers.) Строки , которые вы добавляете в этот список, должны соответствовать идентификаторам пакетов для приложений, созданных вашей командой. Xcode использует идентификатор текущего приложения , чтобы указать первую строку; вы можете изменить это на различный идентификатор пакета, если вы хотите, чтобы несколько приложений делили основной контейнерный контейнер . Вы также можете добавить дополнительные идентификаторы пакетов для других приложений вашей команды.
Да, после ответа Мишеля Ледфорда, который, насколько мне известно, является правильным, я начал изучать брелок, я не уверен, как правильно получить подпись, но это может быть решение для обмена небольшими данными (точно пароли) среди приложений. – 2008-10-21 04:20:39
Я еще не пробовал, но это похоже на цепочку ключей по шагам: http://shaune.com.au/ios-keychain-sharing-data-between-apps/ – leontx 2013-03-08 00:00:15