iOS10 NSLog 限制为 1024 个字符的字符串
iOS10 NSLog is limited to 1024 chars strings
在 iOS10 中,NSlog 被限制为 1024 个字符有没有人知道打印完整字符串的解决方法。
然后尝试 printf
而不是 NSLog
,
printf("%s", [string UTF8String]);
可能有效
我认为这是与 [ 相同的问题,我也会在这里 post 我的回答,以防您想使用 printf
。
这是一个临时解决方案,因为我认为这是一个错误。
只需在全局头文件中将所有NSLOG
重新定义为printf
即可。
#define NSLog(FORMAT, ...) printf("%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
此新 Xcode8 和 Sierra“功能”的 Swift 解决方法...
func Log(_ format:String, _ args:CVarArg...) {
let output = withVaList(args, { (p) -> NSString in
NSString(format: format, arguments: p)
}) as String
print( output )
}
当然,这不会有我们可能需要的 NSLog 的特性,例如时间戳、包名称和线程的东西(包括序列化)。
在 iOS10 中,NSlog 被限制为 1024 个字符有没有人知道打印完整字符串的解决方法。
然后尝试 printf
而不是 NSLog
,
printf("%s", [string UTF8String]);
可能有效
我认为这是与 [printf
。
这是一个临时解决方案,因为我认为这是一个错误。
只需在全局头文件中将所有NSLOG
重新定义为printf
即可。
#define NSLog(FORMAT, ...) printf("%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
此新 Xcode8 和 Sierra“功能”的 Swift 解决方法...
func Log(_ format:String, _ args:CVarArg...) {
let output = withVaList(args, { (p) -> NSString in
NSString(format: format, arguments: p)
}) as String
print( output )
}
当然,这不会有我们可能需要的 NSLog 的特性,例如时间戳、包名称和线程的东西(包括序列化)。