Xcode 11 GM-错误:访问构建数据库-磁盘I / O错误

时间:2019-09-16 21:19:07

标签: objective-c xcode xcode11

仅为发行版本构建“通用二进制框架”时遇到以下错误。在调试或发布模式下构建“非通用”方案时,相同的项目和设置将起作用。

项目使用Objective-C和Xcode 11 GM(11A419c)。现在,更新到Xcode 11 GM Seed 2(11A420a)。

  

错误:访问生成数据库“ /Users/john.doe/Library/Developer/Xcode/DerivedData/FrameworkSDK-esxhqchxkdevuiapyebthsdscpje/Build/Intermediates.noindex/XCBuildData/build.db”:磁盘I / O错误

使用脚本中的build command

xcodebuild -workspace ${PROJECT_NAME}.xcworkspace -scheme ${PROJECT_NAME} -sdk iphonesimulator -configuration ${CONFIGURATION} only_active_arch=no defines_module=yes clean build CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphonesimulator 2>&1

尝试了一些步骤:完成Related error for Xcode 10linked post上提到的整洁,pod更新和步骤-无法解决此问题

没有关于这个问题的答案:
why error "accessing build database disk I/O error"?

1 个答案:

答案 0 :(得分:1)

为Xcode 11使用Command Line Tools

确保使用正确版本的Command Line Tools(xcodebuild)可以使用完整的干净&构建通用框架。项目正在使用New Build System (Default)。它还与Xcode 11 GM-Build 11A419c(种子1)配合使用。

使用以下命令来确保正确的链接:

xcodebuild -version
Xcode 11.0
Build version 11A419c

Correct version of Command Line Tools

以前它使用的是旧的Xcode10.2 xcodebuild

替代解决方法

这不是一个很好的解决方案,因为它使用Legacy Build System而不是Xcode 11的现代系统。

  1. 对于通用框架项目,一种选择是将Legacy Build SystemShared Project Settings一起使用。

    Shared Project Settings

  2. 使用了未记录的xcodebuild参数-UseModernBuildSystem=NO进行了尝试,但此方法无效。 [使用命令行修复,将更新]

相关发行说明:适用于GM-2种子:发布于2019年9月16日,版本11A420a

  

XCFramework可以捆绑二进制框架或   适用于多种平台的库-包括iOS设备,iOS模拟器,   和Mac Catalyst-放入一个可分发的.xcframework捆绑包中   开发人员可以在自己的应用程序中使用的功能。一个   .xcframework捆绑包可以添加到Xcode目标的链接库中   阶段,Xcode使用包含的正确平台版本   框架或库在构建时。框架的创建是   从命令行使用xcodebuild -create-xcframework支持。   XCFramework中捆绑的框架或库应使用   将“分发的构建库”构建设置设置为“是”。   (49948269)