仅为发行版本构建“通用二进制框架”时遇到以下错误。在调试或发布模式下构建“非通用”方案时,相同的项目和设置将起作用。
项目使用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 10和linked post上提到的整洁,pod更新和步骤-无法解决此问题
没有关于这个问题的答案:
why error "accessing build database disk I/O error"?
答案 0 :(得分:1)
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
以前它使用的是旧的Xcode10.2
xcodebuild
。
这不是一个很好的解决方案,因为它使用Legacy Build System
而不是Xcode 11的现代系统。
对于通用框架项目,一种选择是将Legacy Build System
与Shared Project Settings
一起使用。
使用了未记录的xcodebuild
参数-UseModernBuildSystem=NO
进行了尝试,但此方法无效。 [使用命令行修复,将更新]
相关发行说明:适用于GM-2种子:发布于2019年9月16日,版本11A420a
XCFramework可以捆绑二进制框架或 适用于多种平台的库-包括iOS设备,iOS模拟器, 和Mac Catalyst-放入一个可分发的.xcframework捆绑包中 开发人员可以在自己的应用程序中使用的功能。一个 .xcframework捆绑包可以添加到Xcode目标的链接库中 阶段,Xcode使用包含的正确平台版本 框架或库在构建时。框架的创建是 从命令行使用xcodebuild -create-xcframework支持。 XCFramework中捆绑的框架或库应使用 将“分发的构建库”构建设置设置为“是”。 (49948269)