WatchKit NSUserDefaults и NSKeyedUnarchiver проблема

В моем проекте у меня есть пользовательский объект под названием Country, который реализует NSCoding

Код передается через iphone и приложение для просмотра по ссылке. Оба приложения находятся в одной группе приложений.

В моем приложении для iPhone я использую NSUserDefaults для описания объекта Country, из приложения для часов я читаю тот же объект со следующим кодом:

var defaults = NSUserDefaults(suiteName: "group.my.group")
if let data = defaults?.objectForKey("country") as? NSData {
    if let country = NSKeyedUnarchiver.unarchiveObjectWithData(data) as? Country {
        println("done")
    }
}

Этот код в приложении iPhone работает отлично, и переменная страны создана правильно, в приложении Watch выдается ошибка:

Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: '*** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (Country)'

1 ответ

Решение

Была такая же проблема, это помогло мне: https://devforums.apple.com/message/1093079

Другие вопросы по тегам