我有一个使用 NSKeyedArchiver 存储其数据的 Mac 程序。我在 iOS 应用程序中使用相同的代码来尝试从文件中读取数据,但是在尝试解码 NSAttributedString 的实例时它会崩溃。NSAttributedString 的 iOS 和 OS X 版本是否兼容,即这是 iOS 中的错误吗?
如果没有,除了修改 Mac 应用程序,我还能做些什么吗?出于兼容性原因,我宁愿不必这样做。
我有一个使用 NSKeyedArchiver 存储其数据的 Mac 程序。我在 iOS 应用程序中使用相同的代码来尝试从文件中读取数据,但是在尝试解码 NSAttributedString 的实例时它会崩溃。NSAttributedString 的 iOS 和 OS X 版本是否兼容,即这是 iOS 中的错误吗?
如果没有,除了修改 Mac 应用程序,我还能做些什么吗?出于兼容性原因,我宁愿不必这样做。
NSAttributedString 在 iOS 和 OS X 上可能看起来相同,但它的某些属性却不同。
您是正确的,请参阅: http: //lists.apple.com/archives/cocoa-dev/2010/Aug/msg00479.html
NSFont 与 UIFont 等。
因此,如果不深入研究文档,我对这个答案没有信心,但虽然NSAttributedString
在 iOS 和 OS X 上看起来可能相同,但它的某些属性却不是。例如,NSString
在 iOS (UIStringDrawing.h) 和 Mac OS 上都有不同的添加。
这可能与 iOS 上的解码器遇到或期望数据位于不存在的存档中有关。你能粘贴你得到的日志吗?通常,如果键控归档程序遇到错误,它会将问题记录到控制台。