Xcode 构建项目时出现 10 Beta 错误?

Xcode 10 beta error while building my project?

我将我的 Xcode 更新为 10 beta 之后,当我构建时,我收到了构建失败的波纹管错误..

正在访问构建数据库“/Users/n/Library/Developer/Xcode/DerivedData/Build/Intermediates/XCBuildData/build.db”:数据库已锁定可能有两个并发构建 运行 在同一文件系统位置。

我的脚本处于如下构建阶段

  set -e
  if [ -d "${PROJECT_DIR}/Frameworks" ]; then
  rm -rf "${PROJECT_DIR}/Frameworks"
  fi
  mkdir "${PROJECT_DIR}/Frameworks"
  #FRAMEWORKS_PATH="${PROJECT_DIR}/../Frameworks"
  xcodebuild -project 

  "${PROJECT_DIR}/../iOS/Frameworks/sdk/SDK.xcodeproj" -scheme 
  "SDKAggregate" -sdk "iphoneos" -configuration "Build"

 cp -r 
 ${PROJECT_DIR}/../iOS/Frameworks/sdk/"SDK.framework" 
 "${PROJECT_DIR}/Frameworks"

我找到了这个 LINK [

但我的情况不同请帮助我 提前致谢..

注意:如果我选择新构建系统,那么只有我会收到此错误。 对于 Legacy 构建系统,一切正常。

选项:1

正如我所说,旧版构建系统一切正常,但新构建系统却不行。

选项:2

删除脚本并手动添加 SDK 二进制文件到我使用新构建系统测试的项目工作正常..

当我在脚本的帮助下构建 SDK 时,我正在考虑使用新的构建系统,它同时作为两个构建并抛出错误。

我找到了一个解决方案,如果你是 运行 你的 xcodebuild 从终端到特定目标(聚合目标)只需添加 OBJROOT="${OBJROOT}/DependentBuilds" 示例:

sudo xcodebuild -project YourProject.xcodeproj -target YourProject-Universal -destination "platform=iOS,name=generic/iOS" OBJROOT="${OBJROOT}/DependentBuilds"

我添加了 sudo 以允许 Xcode 创建 DependentBuilds 目录,但您可以更改您的文件夹权限,它会起作用。

我用 -target 替换了 -schema 并且效果很好(不过可能只适用于我的特定情况)。

当我从终端 运行 xcodebuild 时收到此错误。我注意到在 DerivedData 中,我的项目有两个文件夹,而不是一个。我删除了它们两个(一个自动重新生成)并且我不再收到错误。

我在 myProject.xcodeproj/project.xcworkspace/xcshareddata

中添加了文件 WorkspaceSettings.xcsettings
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>BuildSystemType</key>
    <string>Original</string>
</dict>
</plist>

这修复了它