Xcode:将WorkspaceSettings.xcsettings添加到源代码控制

11

在Xcode中,更改“文件” > “工作区设置...”中的设置会分别存储给每个Xcode用户。我希望所有用户可以设置相同的工作区设置。我的目标是将构建的目标复制到相同的相对目录中。

默认情况下,工作区设置存储在:

[WorkspaceName].xcworkspace/xcuserdata/[UserName].xcuserdatad

我想让这些设置在所有用户间共享,以便将其添加到版本控制中。


4
我也在努力做这件事。如果不能在工作区存储与工作区相关的设置,那还有什么意义呢?请问需要翻译其他内容吗? - devios1
1个回答

6
我们写了一个小的bash脚本,执行了四个默认写入命令,以设置正确的配置。
scriptPath="$(dirname "$0")"
cd "$scriptPath"
fullPath=$(pwd)
settingsFile="$fullPath"/<project>.xcworkspace/xcuserdata/$USER.xcuserdatad/WorkspaceSettings.xcsettings

cp -f "$settingsFile" "$settingsFile.plist"

defaults write "$settingsFile" BuildLocationStyle CustomLocation
defaults write "$settingsFile" CustomBuildLocationType RelativeToWorkspace
defaults write "$settingsFile" CustomBuildProductsPath "Build/Products"
defaults write "$settingsFile" CustomBuildIntermediatesPath "Build/Intermediates"

cp -f "$settingsFile.plist" "$settingsFile"

+1,有趣的解决方案。我猜想无法保证每当有人设置新的工作区时都会发生这种情况,对吗? - mpontillo
我使用了这个想法,但是会添加以下信息:
  • 我创建了一个新的“Aggregate”目标,并将脚本作为构建阶段
  • 我更改了第一行为:'scriptPath="$PROJECT_FILE_PATH"'
  • 我更改了第4行 - 从项目中删除括号
  • 我将最后一行更改为:'cp -f "$settingsFile.plist" "$settingsFile" 2>&1 > /dev/null'
现在机器人也可以将其用于集成。
- gamma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接