Проблема 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 работает отлично, и переменная страны создается правильно, в приложении для часов выдает ошибку:

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

person Bagbyte    schedule 07.02.2015    source источник
comment
Я также сталкиваюсь с той же проблемой. Вы нашли решение?   -  person technerd    schedule 20.03.2017


Ответы (1)


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

person Tjeerd    schedule 08.02.2015
comment
Ссылка не работает (уже). Пожалуйста, включите в свой ответ хотя бы самые необходимые шаги! - person beseder; 21.02.2017
comment
@Tjeerd: у меня такая же проблема, ссылка не работает. - person technerd; 20.03.2017