NSStringEncoding值不正确

Dan*_*ark 2 objective-c xcode8

我在Xcode 8中运行时收到此消息。

Incorrect NSStringEncoding value 0x8000100 detected. Assuming NSASCIIStringEncoding. Will stop this compatiblity mapping behavior in the near future.

我该如何追踪呢?我0x8000100在项目中找不到任何地方。

Dan*_*ark 6

0x8000100kCFStringEncodingUTF8上定义了错误的编码值-- CFString.h

在我的代码中,我有这行:

[NSString stringWithCString:cString encoding:kCFStringEncodingUTF8];

这导致了错误。从现在开始使用它:

[NSString stringWithCString:cString encoding:NSUTF8StringEncoding];

  • 您来到这里的奇怪变化是因为您收到此日志消息是为了响应使用 NSAttributedString dataFromRange documentAttributes 生成 NSHTMLTextDocumentType,您可以通过将 NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding) 添加到方法中的属性来修复它。 (2认同)