2017-02-04 2 views
0

Я ищу расширение 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 было признано недействительным.}

ответ

0

Я официально слышал назад от Apple, что это не поддерживаются особенность Watch OS. Это противоречит их собственной документации, о которой я им сообщал. Надеюсь, другие видят этот ответ, и это может сэкономить массу времени, которое я растратил.

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