gpt4 book ai didi

iOS:使用 .xcconfig 文件指定代码签名身份

转载 作者:可可西里 更新时间:2023-11-01 06:10:47 25 4
gpt4 key购买 nike

我在一个由多个开发人员组成的团队中开发 iOS 应用程序。我们都有属于同一个开发配置文件的开发人员证书。当我构建我们正在开发的应用程序以便在设备上对其进行测试时,我需要明确指定要使用的代码签名身份。否则,如果我选择自动配置文件选择器,我在将应用程序上传到 HockeyApp 等服务时会收到代码签名不匹配错误。事实上,当我选择自动配置文件选择器时,它似乎选择了 iOS Team Provisioning 配置文件,而不是我正在构建的应用程序特定的开发配置文件。

当我是这个应用程序的唯一开发者时,我通过硬编码正确的代码签名实体以在build设置中使用来解决这个问题。问题是我不再是这个项目的唯一开发人员了。在我的项目设置中硬编码我的代码签名身份的问题在于,每次我提交对项目设置的更改时我都必须将其删除,或者如果我不这样做,我的队友在签署应用程序时会出错,说代码在他们的计算机上找不到签名身份。

所以我想做的是设置一个 .xcconfig 文件,每个团队成员都可以在其中指定要使用的代码签名身份。此文件不会进行版本控制,因此每个人都可以明确设置他们的代码签名身份,而不会对同一团队中的其他开发人员造成任何问题。

我设法在我的项目中包含一个 .xcconfig 文件,它在构建阶段进行处理。但是,我无法编写解决代码签名实体问题的 .xcconfig 文件。我试图将以下行放入我的 .xcconfig 文件中:

CODE_SIGN_IDENTITY = iPhone Developer: Firstname Name (XXXXXXXXXX)

其中 Firstname Name (XXXXXXXXXX) 是将我要使用的代码签名身份从build设置复制/粘贴到 .xcconfig 文件的结果。后来我意识到,当我将它们从build设置复制/粘贴到 .xcconfig 文件时,我所有开发配置文件的所有代码签名身份(每个应用程序或包标识符一个)给出相同的结果。

我一直在寻找一种方法来区分它们,但没能找到有效的方法。您知道我该如何解决这个问题吗?

我也尝试使用 [sdk=iphoneos*] 修饰符,但没有成功。

我想避免使用不同的构建配置,因为我觉得我必须将对主配置所做的更改合并到一个新的构建配置中,而新的构建配置只是为了使用正确的代码签名身份。但是,我不熟悉构建配置在 XCode 中的工作方式,所以如果您认为这可能是一个很好的解决方案,请随时就此对我进行教育。

谢谢!

最佳答案

您可以指定 PROVISIONING_PROFILE,而不是选择 CODE_SIGN_IDENTITY(这最终无关紧要),并让 Xcode 使用任何匹配的身份对其进行签名。这就是我们为内部构建系统所做的

指定配置文件:

PROVISIONING_PROFILE=cb65516b-ee34-4334-95d6-6fba5f2df574

其中长十六进制数是配置文件的 UUID。如果您查看供应配置文件,您会发现其中大部分是 ASCII,即使它是一个二进制文件,并且它有一个像这样的部分

UUID
395525c8-8407-4d30-abbd-b65907223eec

关于iOS:使用 .xcconfig 文件指定代码签名身份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14814177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com