2015-11-02 3 views
9

У меня есть бесплатная и платная версия моего приложения в магазине приложений. Я обновляю приложение, чтобы поделиться некоторыми общедоступными данными с помощью CloudKit. Я бы хотел, чтобы и бесплатные, и платные приложения могли использовать одни и те же данные.Можете ли вы поделиться данными о CloudKit между различными приложениями

Во-первых, возможно ли, чтобы два приложения могли использовать одни и те же данные с CloudKit?

Если да, то как я могу заставить это работать? Я попытался включить CloudKit в возможности обеих целей и выбрать один и тот же контейнер в обоих приложениях. Основное приложение, которое имеет «Использовать контейнер по умолчанию», работает отлично, но другое приложение, на котором я выбрал «Указать пользовательские контейнеры» и выбрал пользовательский контейнер из первой цели, получает ошибку, когда я пытаюсь загрузить что-либо ,

ответ

12

Да, несколько приложений могут использовать одни и те же данные CloudKit. Когда вы получаете свой CKContainer, я предполагаю, что вы используете что-то вроде следующего для обоих приложений?

let container = CKContainer.defaultContainer() 

Это будет работать для основного приложения (один с идентификатором расслоения, который соответствует идентификатору cloudkit). Другим приложениям потребуется инициализировать контейнер следующим образом:

let container = CKContainer(identifier: "iCloud.com.example.appname") 
+0

Спасибо. У меня это работает, объявив идентификатор явно в обеих целях. –

+0

Нужно ли включать группы приложений в панель возможностей? –

+0

Нет, группы приложений используются для обмена файлами между приложениями. Вам нужно будет включить контейнер iCloud в панели возможностей для каждого приложения. – lehn0058

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