如何防止Xcode 8在.pbxproj中保存"开发团队"?

msc*_*msc 14 macos xcode codesign ios

在您为iOS和macOS签署应用程序之前,Xcode 8要求您选择"开发团队".要想如何进行选择并不是很困难.(答案可以在Xcode 8添加开发人员团队中找到以防有人无法自行解决.)

问题是Xcode将选择保存在.pbxproj文件中.因为在我的情况下,我期待很多其他人,这是在SCM下,并且该项目被许多不相关的人和团队使用,这是一个巨大的问题.例如,"git status"表示选择团队后工作区域不干净.

还有办法吗?

  • 获取Xcode 8以将选择保存在用户而不是项目数据中,或
  • 为所有Xcode项目指定默认的"开发团队"?

0xc*_*ced 11

您可以滥用Xcode的自定义路径机制,通过设置DEVELOPMENT_TEAM自定义路径(ABCDEFGHIJ用您的团队标识符替换)将您的开发团队标识符存储在project.pbxproj文件之外:

Xcode自定义路径

(Xcode菜单→首选项...→位置→自定义路径)

自定义路径存储在Xcode的首选项(IDEApplicationwideBuildSettingsIDESourceTreeDisplayNames)中.

但有一个问题!不幸的是,只要您更改项目中的任何内容(更新构建设置,添加新的构建阶段,重命名目标等),开发团队就会自动添加到project.pbxproj文件中(在TargetAttributes项目对象中) .这需要经常注意不要提交这些更改.

如果将此设置DEVELOPMENT_TEAM为自定义路径的做法获得牵引力,开源项目所有者将无法指定任何开发团队配置文件,将任何iOS SDK的代码签名标识设置为iOS Developer("CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";)和开源演示应用程序将像在Xcode 7上一样在任何设备上构建和运行.

  • 我想我明白了。目标>构建设置>开发团队>其他>添加$(DEVELOPMENT_TEAM)。如果您返回“目标”>“常规”,您将看到您的团队已填充。如果您在文本编辑器中打开project.pbxproj并搜索DEVELOPMENT_TEAM,您会看到它已设置为“$(DEVELOPMENT_TEAM)”。话虽这么说,我仍然能够通过搜索“DevelopmentTeam”找到我的团队 ID,所以我不确定这个解决方案是否适合我。 (2认同)
  • 我今天尝试的另一种方法是将“DEVELOPMENT_TEAM=...”存储在“.xcconfig”文件中,将该文件添加到项目中,但不要将其添加到版本控制中(将其放入“.gitignore”或与您选择的 VCS 等效的任何内容)。 (2认同)