因此,我们的 Xcode 项目中有多个目标,其中一个目标需要禁用“自动管理签名”。这与 Xcode 配合良好,其他目标也按预期工作。
但是在我们之前有效的旧 Fastlane 脚本上已经停止工作,我注意到以下内容:
[15:24:43]: Generated plist file with the following values:
[15:24:43]: ▸ -----------------------------------------
[15:24:43]: ▸ {
[15:24:43]: ▸ "method": "app-store",
[15:24:43]: ▸ "signingStyle": "manual",
[15:24:43]: ▸ "provisioningProfiles": {
[15:24:43]: ▸ "<bundle id of the manual target>": "<development provisioning profile>"
[15:24:43]: ▸ }
[15:24:43]: ▸ }
[15:24:43]: ▸ -----------------------------------------
出于某种原因,Fastlane 将所有目标设置为使用
manual
为 signingStyle
。 ProvisioningProfile 也用于开发环境。通过重新启用罪魁祸首目标的 Automatically manage signing
,Fastlane 脚本将再次工作。
知道为什么会发生这种情况吗?快车道是 2.171.0.
更新: 目前,我强制为罪魁祸首目标启用
Automatically manage signing
,同时为其他目标生成 ipa
文件,然后在必须为该目标生成 ipa
文件时禁用它。这很累,但我找不到任何解决方案来在 development
export_options 中提供 appstore
和 gym
配置文件。
我知道现在解决您的问题有点晚了,我希望现在已经解决了。我刚刚在我的应用程序中遇到了类似的问题,为了解决这个问题,我终于理解了自动和手动之间的区别。例如,如果您有多个目标,您肯定需要手动,因为自动将仅链接到应用程序连接中心中的用户配置文件(管理员),而不是手动,您将分配给您的团队并能够使用不同的配置文件来工作提供您想要指向的任何包。
好吧,描述不是文档中的描述,但简而言之,这就是它的作用。
对于 FastLane,如上所述,手动操作是正常的,您只想将其手动指向您的配置文件,如下所示:
fastlane gym init
你的健身房文件应该是这样的:
scheme("SchemeName")
export_method("app-store")
export_options({
provisioningProfiles: {
"com.xyz.abc" => "name_of_your_provision"
// You can add as many packages as your app contain and point them to whatever provisioning profile as needed.
}
})
clean(true)
output_directory("./Build/ipa/") //that is entirely up to you
output_name("abc")
我希望这可以帮助到下一个有需要的人!