iOS10 NSLog限制为1024个字符的string
在iOS10中,NSlog被限制为1024个字符,任何人都知道打印完整string的解决方法。
尝试printf
而不是NSLog
,
printf("%s", [string UTF8String]);
它可能有效
我认为这是一个相同的问题[ NSLog的设备在iOS 10 / Xcode 8似乎截断? 为什么呢 ,我也会在这里发表我的答案,以防你想用printf
代替。
这是一个临时的解决scheme,因为我认为这是一个错误。
只需在全局头文件中重新定义所有的NSLOG
即可。
#define NSLog(FORMAT, ...) printf("%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
这个新的Xcode8和Sierra“function”的Swift解决scheme…
func Log(_ format:String, _ args:CVarArg...) { let output = withVaList(args, { (p) -> NSString in NSString(format: format, arguments: p) }) as String print( output ) }
当然,这不会有NSLog的function,我们可能需要如时间戳,包名称和线程的东西(包括序列化)。