Клаудкит с айфона

Пытаюсь получить некоторые данные из CloudKit, и у меня возникает какая-то странная проблема; Если я запускаю код через симулятор для iPhone 5, все работает нормально, но все остальные устройства получают ошибку при получении данных. Если я подключаю свой iPhone 6 к компьютеру и запускаю его там, он работает нормально. Если я протестирую его через TestFlight, он не будет работать на iPhone 4s, iPhone 5 или iPhone 6.

let cloudContainer = CKContainer.defaultContainer()
let publicDatabase = CKContainer.defaultContainer().publicCloudDatabase
let predicate = NSPredicate(value: true)
let query = CKQuery(recordType: "Employee", predicate: predicate)
publicDatabase.performQuery(query, inZoneWithID: nil, completionHandler: {
    results, error in
    if error == nil {
         //some code
    }
    else {
         println(error)
    }})

Ошибка:

did not find required record type.

Я проверил все типы записей, данные и т. д. в CloudKit Dashboard и помню, что он отлично работает в симуляторе iPhone 5 (если я добавляю/удаляю данные в CloudKit Dashborad, это отражается в приложении).

Любая помощь приветствуется.


person Eirik Madland    schedule 23.11.2014    source источник
comment
Вы убедились, что вошли в iCloud на всех устройствах?   -  person algal    schedule 23.11.2014
comment
ОМГ, вот и все. Я не думаю, что.   -  person Eirik Madland    schedule 23.11.2014
comment
НО это не работает в TestFlight, я должен задать вопрос только из-за этого?   -  person Eirik Madland    schedule 23.11.2014
comment
@EirikMadland TestFlight нужна производственная схема для CloudKit. Я думаю, у вас есть развитие.   -  person Shmidt    schedule 23.11.2014
comment
Если запуск через TestFlight означает запуск сборки, распространяемой через TestFlight, то, скорее всего, это будет сборка выпуска, а не сборка отладки. Возможно, по умолчанию он ищет рабочую среду, а не контейнер CloudKit для разработки, поэтому вам нужно включить производственную среду на панели инструментов CK. Может быть.   -  person algal    schedule 23.11.2014
comment
Это сделало это. Добавлены записи в производстве, и они также работают из сборки TestFlight. Спасибо всем.   -  person Eirik Madland    schedule 23.11.2014


Ответы (2)


Вам необходимо развернуть среду разработки CloudKit в рабочей среде. Проверьте вкладку «Развертывание» на icloud.developer.apple.com.

person Aliaksandr Bialiauski    schedule 21.01.2015

Убедитесь, что вы вошли в систему через iCloud. Перейдите в «Настройки устройства» -> «iCloud».

Также ознакомьтесь с этой статьей. И код пример.

person Maksim Usenko    schedule 06.04.2015