Я ищу расширение watchkit для чтения файла из хранилища документов iCloud. Я написал файл из приложения iOS, которое также может его прочитать. Я использую общий класс, поэтому код тот же. Проблема в том, что на часах URL-адрес облачного контейнера возвращает нуль.Расширение Watchkit не может читать из iCloud
static func readFromFile(fileName:String) -> String?
{
let fileManager = FileManager.default
var cloudURL = fileManager.url(forUbiquityContainerIdentifier: nil)
cloudURL = cloudURL?.appendingPathComponent("Documents/\(fileName)")
do
{
return try String(contentsOf: cloudURL!)
} catch {
print (error)
return nil
}
В случае, указанном выше, cloudURL - это ноль на часах, но не на телефоне. Для я проверил, что для обоих часов и телефона используется тот же идентификатор. Я также попытался напрямую ввести имя, а не использовать nil и позволить ему захватить его из прав. Формат контейнера:
iCloud.com.company.app
Это мое понимание того, что часы OS 3 должен быть в состоянии использовать ICloud.
Update:
я распечатал let token = fileManager.ubiquityIdentityToken
и я получаю следующее:
WatchKit Extension [390: 687462] [по умолчанию] [ERROR] ошибка при получении ubiquityIdentityToken: Ошибка домена = NSCocoaErrorDomain код = 4099 «Соединение с именем com.apple.bird.token было признано недействительным». UserInfo = {NSDebugDescription = Подключение к службе имени com.apple.bird.token было признано недействительным.}