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>
这修复了它
我将我的 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>
这修复了它