使用Shell脚本打包Framework报错:error:accessing build database "xxx/Build/Intermediates.noindex/XCBuildDat...

报错提示:

error:accessing build database "xxx/Build/Intermediates.noindex/XCBuildData/build.db":disk I/O error

分析验证:

将framework和shell脚本单独编译,都可以编译成功,但是在脚本中编译Framework才会出现这个错误。

所以猜测是在编译脚本的时候同时编译了Framework,但是编译生成的临时数据是同一份,所以有可能是同时编译两个Target时同时访问了同一个build.db数据库,造成了数据库锁死,出现访问数据库I/O错误。

原因:

在Xcode10以后,xcode默认使用了新的编译系统。

在对Framework打包的时候因为用到了三方库,所以需要对workspase进行编译,但是新的编译系统配置是针对workspace所有Target生效。所以在编译脚本的时候脚本target和Framework的Target同时访问了build.db出现报错。

解决方案:

将编译系统修改为老的编译系统,就不再出现这个错误了。

修改步骤:

Xcode工具菜单->File->Workspace Settings

按照以上步骤就可以打开上面的窗口了。

如图:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。