Error:[Process] kill() returned unexpected error 1 - iOS

项目调试过程中因遇到了 UMCCommon 版本兼容性导致程序 crash 必现的 bug 问题,解决后发现控制台中每逢操作便会打印 [Process] kill() returned unexpected error 1 信息

单从控制台打印的内容毫无头绪是何问题导致的,网上冲浪后发现有反应因 Mac 操作系统为 Catalina 导致的日志打印问题,也有反应因 macOS catalina 对使用 WKWebview 不友好而导致的该问题,具体问题还很灵异不确定仍有待验证(也望已有验证的伙伴可以分享一下具体原因,好奇心爆棚哈哈)
注:WKWebView 该项目中早已在使用,若其引起应早已在此之前就发现该问题(应该不是该控件的问题)

解决办法

首先,打开 Product => Scheme => Edit Scheme (即:command + <)

其次,在 Run => Arguments => Environment Variables 中设置 OS_ACTIVITY_MODE 为 disable

最后,重新编译运行项目即可

OS_ACTIVITY_MODE

该属性其作用为清除掉使用 NSLog 而打印信息的效果;
当真机调试时若使用到 NSLog 打印信息则日志将会全部屏蔽过滤掉;
在该模式下若需要打印信息则需要使用如下宏定义的方法打印信

//开发环境:打印 log 日志
//发布环境:不打印 log 日志
#ifdef DEBUG
#define NSLog(...) NSLog(@"%s 第%d行 \n %@\n\n",__func__,__LINE__,[NSString stringWithFormat:__VA_ARGS__])
//#define NSLog(FORMAT, ...) fprintf(stderr,"\n %s: 第%d行  %s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String],__LINE__, [[[NSString alloc] initWithData:[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] dataUsingEncoding:NSUTF8StringEncoding] encoding:NSNonLossyASCIIStringEncoding] UTF8String]);
#else
#define NSLog(...)
#endif

以上便是此次分享的全部内容,希望能对大家有所帮助!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容