Fastlane Gym меняет профиль обеспечения только для одной цели

Я пытаюсь настроить Jenkins с fastlane, Я получил две цели в своем проекте - основное приложение и расширение набора часов. Когда я пытаюсь изменить профиль для подписи Ad Hoc с xcargs, 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.

Как изменить профиль только для конкретной цели?

Спасибо.

2 ответа

Вы должны использовать опцию provisioningProfiles следующим образом:

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

Вам не нужно export_optionsвообще, если правильно определить sighдля каждой цели.

      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 или где бы вы ни собирались это запускать.

Другие вопросы по тегам