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