Могу ли я получить NSAttributedString в приложении для iOS из архива, созданного в OS X? - PullRequest
0 голосов
/ 24 августа 2011

У меня есть программа Mac, которая хранит свои данные с помощью NSKeyedArchiver. Я использую тот же код в приложении для iOS, чтобы попытаться прочитать данные из файла, но он вылетает при попытке декодировать экземпляр NSAttributedString. Совместимы ли версии NSAttributedString для iOS и OS X, т.е. это ошибка в iOS?

Если нет, могу ли я что-нибудь сделать, кроме изменения приложения Mac? Я бы предпочел не делать этого по причинам совместимости.

Ответы [ 2 ]

1 голос
/ 06 марта 2013

NSAttributedString может выглядеть одинаково как на iOS, так и на OS X, некоторые его свойства не совпадают.

Вы видите правильно: http://lists.apple.com/archives/cocoa-dev/2010/Aug/msg00479.html

NSFont vs UIFontи т.д.

0 голосов
/ 24 августа 2011

Так что я не уверен в этом ответе, не углубляясь в документацию, но хотя NSAttributedString может выглядеть одинаково как на iOS, так и на OS X, некоторые его свойства - нет.Например, NSString имеет дополнения, которые отличаются как в iOS (UIStringDrawing.h), так и в Mac OS.

Это может быть связано с тем, что декодер на iOS обнаруживает или ожидает данные в архиве, который не 'не существует.Не могли бы вы вставить полученные журналы?Обычно, если ключевой архиватор обнаруживает ошибку, он регистрирует проблему на консоли.

...