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

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

Благодаря!

Это можно сделать двумя разными способами.

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

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

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

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

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

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

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

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

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

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

  • objective c - Обнаруживать, когда пользователь меняет настройки уведомлений приложения
  • Пользовательская клавиатура iPhone
  • Переопределение выделенного выделения в UIPickerView
  • Типы в объективе-c на iPhone
  • Есть ли способ синхронизировать iPhone без iTunes?
  • Межстраничные объявления iAds на iPhone?
  • Получение «Подтверждение подлинности подписи, совпадающее с данным профилем, не найдено в вашей цепочке ключей»
  • Как отключить ссылку на номер телефона в Mobile Safari?
  • Лучшая библиотека Cocoa / Objective-C Wrapper для SQLite на iPhone
  • Как настроить размер содержимого UIScrollView динамически
  • Как сохранить фотографию в библиотеке фотографий iPhone?
  • Interesting Posts

    Windows для быстрого удаления текста?

    CSS – почему не работает процентный рост?

    Правило Outlook – перемещение почты, которая является READ и старше X дней

    Скопируйте все значения из полей одного classа в другой посредством отражения

    Фотографии из папки и отображение полноэкранного слайд-шоу

    C #: как получить первый символ строки?

    Явное vs Автоматическое привязка местоположения атрибутов для шейдеров OpenGL

    Как использовать свойства при работе с членами списка List только для чтения

    Может ли class c ++ включать себя в качестве члена?

    Tar-команда – как извлечь один файл в конкретный каталог

    Правильный способ использования StringBuilder в SQL

    Использование одного и того же установщика Windows 8 Upgrade на нескольких ПК

    Производительность dynamic_cast?

    Почему мне должно быть интересно, чтобы Java не обновляла дженерики?

    Внедрение CRC32C SSE 4.2 в программное обеспечение

    Давайте будем гением компьютера.