I simply use following option for gym:
def archive(options)
build_ios_app(
workspace: PLZ_WORKSPACE,
scheme: options[:scheme],
clean: true,
export_method: options[:adhoc] ? "ad-hoc" : "app-store",
output_directory: OUTPUT_PATH,
export_options: {
signingStyle: "manual", #added to make it working
provisioningProfiles: {
options[:bundle_id] => options[:provisioning],
options[:share_bundle_id] => options[:share_provisioning]
},
},
#xcargs: { :PROVISIONING_PROFILE_SPECIFIER => options[:provisioning] },
)
end
Commented line must be defined for both targets different way:
for my host app (options[:bundle_id]):
#xcargs: { :PROVISIONING_PROFILE_SPECIFIER => options[:provisioning] },
and for my share extension (options[:share_bundle_id])
#xcargs: { :PROVISIONING_PROFILE_SPECIFIER => options[:share_provisioning] },
Is there a way to do this here using fastlane match? I do not wanna keep everything in separated repository. I just need to make that one change here;)
Thank you for your help.
EDIT
I will create and award bounty of 200 or even more for the one who will help me with this. Thank you very much;)
Or maybe update_project_provisioning is the case to solve it?
I used previously the xcargs option, but for two provisioning profiles, it works without this, and only using export_method and export_options:
def xcode_build
gym(
workspace: "ios/#{xcode_workspace}.xcworkspace",
scheme: xcode_workspace,
output_directory: 'ios',
output_name: File.basename(Config.artifacts_path.ios),
export_method: match_type.export,
export_options: {
signingStyle: 'manual',
provisioningProfiles: {
app_identifier.fetch(:default) => "match #{match_type.profile} #{app_identifier.fetch(:default)}",
app_identifier.fetch(:onesignal) => "match #{match_type.profile} #{app_identifier.fetch(:onesignal)}"
}
}
)
end
The match_type values are one of:
match_type.export: 'ad-hoc' or 'app-store'
match_type.profile: 'AdHoc' or 'AppStore'
More information is available at the 'Gym' official documentation.
https://docs.fastlane.tools/actions/gym/