Использование iCloud в iOS Simulator - PullRequest
18 голосов
/ 17 октября 2011

В моем приложении, когда я пытаюсь запустить код в симуляторе iOS:

NSURL *iCloudURL = [fileManager URLForUbiquityContainerIdentifier:@"2VHM28566N.com.eept.TestICloud"];
NSLog(@"IS ICloud : %@", [iCloudURL absoluteString]);

Это показывает, что iCloudURL равен nil.

Можем ли мы использовать iCloud без устройства iPhone?

Ответы [ 3 ]

24 голосов
/ 18 октября 2011

Я пытался запустить свое приложение iCloud сегодня на симуляторе, и, насколько я вижу, нет возможности включить iCloud в симуляторе.Я посмотрел в настройках, но не повезло.Таким образом, ответ будет «нет», вы действительно не сможете протестировать iCloud, если не протестируете его на реальном устройстве.

Если у кого-нибудь есть обходной путь, это было бы невероятно.Немного утомительно всегда тестировать ваше приложение на устройстве.

17 голосов
/ 31 октября 2013

В Xcode 5:

Симулятор iOS теперь поддерживает синхронизацию документов и данных KVS в приложении с помощью iCloud, что позволяет приложениям синхронизироваться между устройствами с помощью iCloud.Эта функция полезна при тестировании, чтобы убедиться, что документы и данные приложения синхронизируются должным образом на нескольких устройствах.

Примечание. Когда приложение работает в iOS Simulator, войдите в учетную запись Apple ID с помощью приложения «Настройки».После входа используйте команду «Trigger iCloud sync» в меню «Отладка», чтобы сказать симулятору синхронизироваться с другими устройствами.

1 голос
/ 13 сентября 2013

Я знаю, что это старая тема, но вы можете протестировать iCloud, изменив цель развертывания на «Устройство».Подключите ваше устройство через USB и начните веселье.

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

Поскольку ваше устройство будет иметьсертификат для обеспечения мобильной связи, который связывается с вашим «корзиной» iCloud, а также с идентификатором комплекта приложений, и гарантирует, что только вы (ваше приложение и разрешенные устройства) имеют доступ к вашей подготовленной корзине iCloud.

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

Все, что я сделал, чтобы обойти это, - это заказ USB-удлинителя на 5 м, чтобы мои iPad, iPod и iPhone могли стоять на столе передо мной без необходимости приседать.под столом или сидеть в неловком положении во время тестирования.

edit Justдобавить немного более четкий ответ относительно того, что allthewayapps спрашивает об идентификаторе пакета.

2VHM28566N.com.eept.TestICloud

состоит из 3 частей в этом случае:

2VHM28566N  -  Being the TeamID which Apple assign you when you register as a developer

com.eept  -  Reverse domain notation of the App's related website i.e. Apple apps would have com.apple

TestICloud - The name of that app itself.

Короче говоря:

teamid.com.yourdomain.appname

Надеюсь, это поможет.

...