建立专案时发生Xcode 10 Beta错误?

时间:2018-07-27 17:30:56

标签: ios shell xcodebuild xcode10

在构建之后,我将Xcode更新为10 beta,但由于构建失败而出现了以下错误。

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

我的脚本处于Build阶段,如下所示

  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"

我找到了此链接 [Xcode 10: unable to attach DB error

但是我的情况有所不同,请帮助我 预先感谢。.

注意:如果我选择“新建”系统,则只有我遇到此错误。 对于旧版构建系统,一切正常。

5 个答案:

答案 0 :(得分:6)

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

  

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

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

答案 1 :(得分:2)

选项:1

正如我所说的那样,使用旧版构建系统,一切都可以正常工作,但不能在新的构建系统上运行。

选项:2

删除脚本,然后将SDK二进制文件手动添加到使用新的构建系统测试过的项目中,效果很好。

当我借助脚本构建SDK时,我正在考虑使用新的构建系统,它将同时进行两个构建并抛出错误。

答案 2 :(得分:1)

我用-target替换了-schema,并且效果很好(尽管可能仅在我的特定情况下有效)。

答案 3 :(得分:0)

从Terminal运行xcodebuild时出现此错误。我注意到在DerivedData中,我的项目有两个文件夹,而不是一个。我删除了这两个文件(其中一个自动重新生成),并且停止获取错误。

答案 4 :(得分:0)

我在WorkspaceSettings.xcsettings中添加了文件myProject.xcodeproj/project.xcworkspace/xcshareddata

<?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>

此问题已解决