2015-05-12 2 views
22

Мои приложения iOS и Mac были запущены в App Store, и все мои пользователи, включая меня, используют базу данных CloudKit. Мой вопрос в том, есть ли способ ориентировать производственную среду на мои разработки? Кажется, что нет способа ориентироваться на производственную среду за пределами Mac App Store, а для iOS только распределение Ad Hoc может ориентироваться на производственную среду.Использовать продукцию CloudKit во время разработки?

+0

Если задача заключается в производственной отладку среды, то это невозможно, но вы можете вернуть все свои записи в отладочную среду смотрите здесь: HTTP: // stackoverflow.com/questions/29274481/any-way-to-debug-app-with-dataset-in-production-environment –

ответ

1

Из Руководства ICloud Design https://developer.apple.com/library/mac/documentation/General/Conceptual/iCloudDesignGuide/DesigningforCloudKit/DesigningforCloudKit.html#//apple_ref/doc/uid/TP40012094-CH9-SW1

В процессе разработки Xcode автоматически указывает ваше приложение в среде разработки. Перед отправкой приложения настройте приложение, используя рабочий процесс распространения. В этом рабочем процессе Xcode позволяет вам выбрать, хотите ли вы настроить таргетинг на среду разработки или производства и добавляет права com.apple.developer.icloud-container-environment на ваше приложение со значением, которое вы выбрали. Перед отправкой обязательно настройте приложение для рабочей среды. Приложения, ориентированные на среду разработки, будут отклонены App Store.

На ваш комментарий вот несколько дополнительных мыслей: В соответствии с директивой Apple вы должны использовать разработку env, пока вы все еще разрабатываете то, что является лучшей схемой данных для вашего приложения, и чтобы обеспечить более быструю разработку. Затем Apple предлагает развернуть на производство и протестировать его, прежде чем давать клиенту. Поэтому я думаю, что ответ заключается в том, что это зависит от того, где вы находитесь в цикле разработки продукта. Если вы находитесь на ранних стадиях, используйте dev env. Если у вас есть клиенты в поле, тогда я буду использовать производство env для производства, пока он удовлетворяет мои потребности. Если я разрабатываю новые функции, требующие изменений схемы, вы должны развивать их только в dev env до тех пор, пока не будете уверены, что их развертывание в производстве ничего не сломит для существующих пользователей и не даст им плавного перехода. Надеюсь, эта помощь.

+1

Это из документа, в основном то, что я задал в оригинальном вопросе. Я хочу знать, что является обычной практикой для разработчиков, которые разрабатывают CloudKit на Mac и iOS, всегда ли команда разработчиков CloudKit использует среду разработки, в отличие от всех своих пользователей? – yilin

+0

добавил информацию к моему ответу. – harryhorn

+0

Спасибо за ответ, но это не очень удобно. В моем случае, схема сделана, я просто хочу, чтобы иметь возможность использовать производственную среду для всех моих разработок, а также, скажем, я настраиваю новое устройство и загружаю свое приложение из App Store, он будет видеть те же данные. Поскольку он стоит сейчас, как разработчик, если я хочу запустить сборку разработки в своем ежедневном использовании этого приложения, я должен всегда запускать сборку разработки и использовать другую среду CloudKit от остальных моих пользователей. Неважно, просто неудобно. – yilin

1

Я не уверен, что настройка «com.apple.developer.icloud-container-environment права» на «Производство» будет работать на устройстве, работающем от Xcode, - это не работает для меня на симуляторе.

Но вы можете сделать себе «внутренний рецензент» и запустить новую версию с помощью TestFlight. TestFlight использует производственную среду.

+5

Пересмотренный - настройка «com.apple.developer.icloud-container-environment» на «Production» в файле прав, а затем запуск из Xcode на устройстве (а не симуляторе) отправляет меня в производство. –

+0

Когда я делаю это для приложения OS X и запускаю приложение из XCode7, приложение не запускается с «Завершена из-за ошибки подписи кода» Любые идеи о том, как это может работать для приложений OS X? – berbie

+0

Это багги на Mac, что стыдно. Пожалуйста, поднимите ошибку с Apple, чтобы они знали, что я не единственный, кто жалуется. – strangetimes

39

Просто добавьте следующую запись в свой файл прав и выполните чистую сборку. Это позволяет запускать приложение в Xcode с помощью cloudKit в рабочем режиме.

записи добавить: com.apple.developer.icloud-container-environment

enter image description here

+0

Работал с удовольствием, спасибо –

+0

работал отлично, но это все еще извлекало данные из: среды разработки и разработки. Почему? :) Должен ли не только от производства? –

+8

для копирования и вставки: 'com.apple.developer.icloud-container-environment' –

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