【问题标题】:Fastlane Gym change provisioning profile only for one targetFastlane Gym 仅针对一个目标更改配置文件
【发布时间】:2017-07-14 13:41:12
【问题描述】:

我正在尝试使用fastlane 设置Jenkins。我的项目中有两个目标 - 主应用程序和手表套件扩展。当我尝试使用 xcargs 更改 Ad Hoc 签名的配置文件时,gym 更改所有目标的配置文件并且我的构建失败。

这是我的健身房指令。

gym(scheme: "MyApp", 
      workspace: "MyApp.xcworkspace",
      xcargs: "PROVISIONING_PROFILE_SPECIFIER='MyApp Ad Hoc'")

这是输出。

Building MyApp/MyApp WatchKit App [Release]
[08:34:48]: ▸ Check Dependencies
[08:34:48]: ▸ ❌  Provisioning profile "MyApp Ad Hoc" doesn't match the entitlements file's value for the application-identifier entitlement.

如何仅为特定目标更改配置文件? 谢谢。

【问题讨论】:

  • 尝试将项目签名设置更改为手动。看看这个 - github.com/fastlane/fastlane/issues/5608
  • 两个模式都使用 1 个通道吗?
  • @FaresBenHamouda 嗯.. 我刚开始使用快车道。不知道如何为不同的模式创建两条通道,然后得到一个 ipa 文件。
  • @EugeneTrapeznikov 你的问题解决了吗?我现在面临同样的问题。我在github上看到了你的问题,但是没有答案。
  • 同样的问题。你的问题解决了吗?谢谢!

标签: ios xcode jenkins fastlane fastlane-gym


【解决方案1】:

您应该按如下方式使用 provisioningProfiles 选项:

gym(
  ...
  export_options:{
    signingStyle: "manual",
    provisioningProfiles:{
        "com.myapp.iosapp": "match AdHoc com.myapp.iosapp"
    }

【讨论】:

  • 真的有效吗?
  • 我已经 4 年没有测试过它,我不再在那里工作,但它当时确实有效。
【解决方案2】:

如果您为每个目标正确定义了sigh,则根本不需要export_options

cert()
sigh(
  adhoc: options[:adhoc],
  app_identifier: options[:bundle_id],
  provisioning_name: options[:provisioning],
  ignore_profiles_with_different_name: true,
)
sigh(
  adhoc: options[:adhoc],
  app_identifier: options[:share_bundle_id],
  provisioning_name: options[:share_provisioning],
  ignore_profiles_with_different_name: true,
)
build_ios_app(
  workspace: PLZ_WORKSPACE,
  scheme: options[:scheme],
  clean: true,
  export_method: options[:adhoc] ? "ad-hoc" : "app-store",
  export_xcargs: "-allowProvisioningUpdates",
  output_directory: OUTPUT_PATH,
)

请记住,这样您需要在 CI 机器上手动安装您的配置文件,或者在任何您要运行它的地方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 2022-08-17
    相关资源
    最近更新 更多