Что мне дают наборы дисплеев iCloud, чего я не могу получить, просто заполнив права

Когда вы создаете версию приложения для iPhone/iPad, а также версию этого же приложения для OS X, вы, вероятно, захотите, чтобы все разные устройства совместно использовали документы или данные «ключ-значение» через iCloud. Этого легко добиться, поместив один и тот же идентификатор пакета в разрешения iCloud для всех приложений. В таком случае, зачем мне вообще использовать наборы дисплеев iCloud.

Я видел этот вопрос, заданный здесь раньше, но, по моему мнению, на него не ответили должным образом. Этот вопрос задал тот же вопрос, но ответ только подтвердил, что дисплей наборы предназначены для предоставления нескольким приложениям доступа к одному и тому же магазину iCloud. Мы уже можем сделать это без наборов дисплеев.

Кто-нибудь знает, есть ли разница или преимущество в том, чтобы делать это с помощью наборов дисплеев, или это просто альтернативный метод?


person hvanbrug    schedule 05.06.2013    source источник


Ответы (1)


Из документов (выделено мной):

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

Если у вас были «упрощенная» и «полная» версии, которые работали на iOS, они не могли использовать один и тот же идентификатор пакета, поэтому сохранение одного и того же идентификатора пакета не является жизнеспособной стратегией. Это применимо к любой ситуации, когда на одной платформе доступно несколько версий одного и того же приложения.

person Tom Harrington    schedule 05.06.2013
comment
Да, но вам не обязательно использовать идентификатор пакета вашего проекта в настройках прав iCloud. Например, у меня есть приложение для iPhone с идентификатором пакета com.xxxxx.yyy и приложение OSX с идентификатором пакета com.xxxxx.yyyOSX. В правах iCloud для приложения iPhone я указал собственный идентификатор пакета. В правах iCloud для приложения OSX я указал идентификатор пакета приложения iPhone. Таким образом, права iCloud для обоих приложений установлены на com.xxxxx.yyy. Другими словами, идентификатор пакета прав iCloud не обязательно должен совпадать с идентификатором пакета приложения. У меня это работает. Та же логика применима к Lite и Full. - person hvanbrug; 05.06.2013
comment
Может я не правильно прочитал ваш ответ. Вы уверены, что если оба приложения находятся на IOS, то они не могут иметь одинаковый идентификатор пакета в настройках icloud? будет ли это также верно для двух приложений OSX? Я замечаю, что основное различие между тем, что я делаю, и тем, что вы говорите, заключается в том, что мои приложения не находятся на одной платформе. Я проверю это прямо сейчас. :) - person hvanbrug; 06.06.2013
comment
Я только что добавил еще одну цель в свой проект OSX с идентификатором пакета com.xxxxx.yyyLiteOSX и настроил iCloud на com.xxxxx.yyy. Они оба работают на моем рабочем столе одновременно, и когда я вношу изменения в один, которые передаются в iCloud, другой видит эти изменения, поэтому, по крайней мере, для приложений OSX мне не нужны наборы дисплеев. Сейчас я попробую приложение IOS, чтобы узнать, ограничено ли оно IOS. - person hvanbrug; 06.06.2013
comment
в порядке. Я сделал то же самое с моим приложением для IOS. Я сделал целевую «облегченную» версию с bundleId com.xxxxx.yyyLite и еще раз настроил iCloud на com.xxxxx.yyy. Когда я запускал основное приложение на своем телефоне и «облегченное» приложение на своем iPad, внесение изменений в одно распространялось на другое. Таким образом, несмотря на то, что наборы дисплеев предназначены для предоставления этой функциональности, мне это не нужно, потому что у меня уже есть эта функциональность. :) - person hvanbrug; 06.06.2013
comment
+1 за то, что заставил меня исследовать это дальше, чем я. Спасибо. - person hvanbrug; 06.06.2013