From 59dcf99e61798b24a9a098eae2753610451c8507 Mon Sep 17 00:00:00 2001 From: LaszloP <7979773+lpusok@users.noreply.github.com> Date: Mon, 30 Jun 2025 16:57:11 +0200 Subject: [PATCH 1/7] Added Platform input --- main.go | 11 +++++----- step.yml | 18 ++++++++++++++++ step/platform.go | 29 +++++++++++++++++++++----- step/step.go | 54 +++++++++++++++++++++++++++++------------------- 4 files changed, 81 insertions(+), 31 deletions(-) diff --git a/main.go b/main.go index f8dc2952..36749d0f 100644 --- a/main.go +++ b/main.go @@ -99,11 +99,12 @@ func createXcodebuildArchiver(logger log.Logger, logFormatter string) (step.Xcod func createRunOptions(config step.Config) step.RunOpts { return step.RunOpts{ - ProjectPath: config.ProjectPath, - Scheme: config.Scheme, - Configuration: config.Configuration, - XcodeMajorVersion: config.XcodeMajorVersion, - ArtifactName: config.ArtifactName, + ProjectPath: config.ProjectPath, + Scheme: config.Scheme, + DestinationPlatform: config.DestinationPlatform, + Configuration: config.Configuration, + XcodeMajorVersion: config.XcodeMajorVersion, + ArtifactName: config.ArtifactName, CodesignManager: config.CodesignManager, diff --git a/step.yml b/step.yml index c4a076b6..6e8a841c 100644 --- a/step.yml +++ b/step.yml @@ -90,6 +90,24 @@ inputs: The input value sets xcodebuild's `-scheme` option. is_required: true +- platform: "automatic" + opts: + title: Platform + summary: + description: |- + Xcode Platform to build. + If not specified, will try to detect the platform from the project settings. + + Its value sets xcodebuild's `-destination` option. + Example: `-destination generic/platform=iOS Simulator`. + value_options: + - automatic + - iOS + - watchOS + - tvOS + - visionOS + is_required: true + - distribution_method: development opts: title: Distribution method diff --git a/step/platform.go b/step/platform.go index 1bb397b9..fe3b7141 100644 --- a/step/platform.go +++ b/step/platform.go @@ -15,13 +15,32 @@ import ( type Platform string const ( - iOS Platform = "iOS" - osX Platform = "OS X" - tvOS Platform = "tvOS" - watchOS Platform = "watchOS" - visionOS Platform = "visionOS" + undefinedPlatform Platform = "" + detectPlatform Platform = "automatic" + iOS Platform = "iOS" + osX Platform = "OS X" + tvOS Platform = "tvOS" + watchOS Platform = "watchOS" + visionOS Platform = "visionOS" ) +func parsePlatform(platform string) Platform { + switch strings.ToLower(platform) { + case "automatic": + return detectPlatform + case "ios": + return iOS + case "tvos": + return tvOS + case "watchos": + return watchOS + case "visionos": + return visionOS + default: + return undefinedPlatform + } +} + func OpenArchivableProject(pth, schemeName, configurationName string) (*xcodeproj.XcodeProj, *xcscheme.Scheme, string, error) { scheme, schemeContainerDir, err := schemeint.Scheme(pth, schemeName) if err != nil { diff --git a/step/step.go b/step/step.go index 47ba1986..0cd59d3d 100644 --- a/step/step.go +++ b/step/step.go @@ -76,6 +76,7 @@ type Inputs struct { ProjectPath string `env:"project_path,file"` Scheme string `env:"scheme,required"` ExportMethod string `env:"distribution_method,opt[app-store,ad-hoc,enterprise,development]"` + Platform string `env:"platform,opt[automatic,iOS,watchOS,tvOS,visionOS]"` // xcodebuild configuration Configuration string `env:"configuration"` @@ -130,6 +131,7 @@ type Inputs struct { // Config ... type Config struct { Inputs + DestinationPlatform Platform XcodeMajorVersion int XcodebuildAdditionalOptions []string CodesignManager *codesign.Manager // nil if automatic code signing is "off" @@ -198,6 +200,8 @@ func (s XcodebuildArchiveConfigParser) ProcessInputs() (Config, error) { logv1.SetEnableDebugLog(true) } + config.DestinationPlatform = parsePlatform(config.Platform) + var err error config.XcodebuildAdditionalOptions, err = shellquote.Split(inputs.XcodebuildOptions) if err != nil { @@ -316,11 +320,12 @@ func (s *XcodebuildArchiver) EnsureDependencies() { // RunOpts ... type RunOpts struct { // Shared - ProjectPath string - Scheme string - Configuration string - XcodeMajorVersion int - ArtifactName string + ProjectPath string + Scheme string + DestinationPlatform Platform + Configuration string + XcodeMajorVersion int + ArtifactName string // Code signing, nil if automatic code signing is "off" CodesignManager *codesign.Manager @@ -426,12 +431,13 @@ func (s XcodebuildArchiver) Run(opts RunOpts) (RunResult, error) { s.logger.Println() archiveOpts := xcodeArchiveOpts{ - ProjectPath: opts.ProjectPath, - Scheme: opts.Scheme, - Configuration: opts.Configuration, - XcodeMajorVersion: opts.XcodeMajorVersion, - ArtifactName: opts.ArtifactName, - XcodeAuthOptions: authOptions, + ProjectPath: opts.ProjectPath, + Scheme: opts.Scheme, + DestinationPlatform: opts.DestinationPlatform, + Configuration: opts.Configuration, + XcodeMajorVersion: opts.XcodeMajorVersion, + ArtifactName: opts.ArtifactName, + XcodeAuthOptions: authOptions, PerformCleanAction: opts.PerformCleanAction, XcconfigContent: opts.XcconfigContent, @@ -784,12 +790,13 @@ func (s XcodebuildArchiveConfigParser) createCodesignManager(config Config) (cod } type xcodeArchiveOpts struct { - ProjectPath string - Scheme string - Configuration string - XcodeMajorVersion int - ArtifactName string - XcodeAuthOptions *xcodebuild.AuthenticationParams + ProjectPath string + Scheme string + DestinationPlatform Platform + Configuration string + XcodeMajorVersion int + ArtifactName string + XcodeAuthOptions *xcodebuild.AuthenticationParams PerformCleanAction bool XcconfigContent string @@ -816,9 +823,14 @@ func (s XcodebuildArchiver) xcodeArchive(opts xcodeArchiveOpts) (xcodeArchiveRes s.logger.TInfof("Reading xcode project") - platform, err := BuildableTargetPlatform(xcodeProj, scheme, configuration, opts.AdditionalOptions, XcodeBuild{}, s.logger) - if err != nil { - return out, fmt.Errorf("failed to read project platform: %s: %s", opts.ProjectPath, err) + if opts.DestinationPlatform == detectPlatform { + s.logger.TInfof("Platform is set to 'automatic', detecting platform from the project.") + s.logger.TWarnf("Please set the Platform Input manually to avoid this step in the future.") + platform, err := BuildableTargetPlatform(xcodeProj, scheme, configuration, opts.AdditionalOptions, XcodeBuild{}, s.logger) + if err != nil { + return out, fmt.Errorf("failed to read project platform: %s: %s", opts.ProjectPath, err) + } + opts.DestinationPlatform = platform } s.logger.TInfof("Reading main target") @@ -869,7 +881,7 @@ and use 'Export iOS and tvOS Xcode archive' step to export an App Clip.`, opts.S archiveCmd.SetAuthentication(*opts.XcodeAuthOptions) } - additionalOptions := generateAdditionalOptions(string(platform), opts.AdditionalOptions) + additionalOptions := generateAdditionalOptions(string(opts.DestinationPlatform), opts.AdditionalOptions) archiveCmd.SetCustomOptions(additionalOptions) var swiftPackagesPath string From fde6a7bc330439f6d01eb401a8deea78363551a8 Mon Sep 17 00:00:00 2001 From: LaszloP <7979773+lpusok@users.noreply.github.com> Date: Mon, 30 Jun 2025 17:02:43 +0200 Subject: [PATCH 2/7] Fix lint --- step.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/step.yml b/step.yml index 6e8a841c..2d46c384 100644 --- a/step.yml +++ b/step.yml @@ -90,10 +90,10 @@ inputs: The input value sets xcodebuild's `-scheme` option. is_required: true -- platform: "automatic" +- platform: automatic opts: title: Platform - summary: + summary: Xcode Platform to build. description: |- Xcode Platform to build. If not specified, will try to detect the platform from the project settings. From 1012b6709f59c55c5373a6d73defb721e1d88bb5 Mon Sep 17 00:00:00 2001 From: LaszloP <7979773+lpusok@users.noreply.github.com> Date: Tue, 1 Jul 2025 11:09:32 +0200 Subject: [PATCH 3/7] Use detect instead of automatic --- step.yml | 8 ++++---- step/platform.go | 27 +++++++++++++-------------- step/step.go | 8 +++++--- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/step.yml b/step.yml index 2d46c384..065c2b99 100644 --- a/step.yml +++ b/step.yml @@ -90,18 +90,18 @@ inputs: The input value sets xcodebuild's `-scheme` option. is_required: true -- platform: automatic +- platform: detect opts: title: Platform - summary: Xcode Platform to build. + summary: Platform to archive the product for. description: |- - Xcode Platform to build. + Platform to archive the product for. If not specified, will try to detect the platform from the project settings. Its value sets xcodebuild's `-destination` option. Example: `-destination generic/platform=iOS Simulator`. value_options: - - automatic + - detect - iOS - watchOS - tvOS diff --git a/step/platform.go b/step/platform.go index fe3b7141..a1247b28 100644 --- a/step/platform.go +++ b/step/platform.go @@ -15,29 +15,28 @@ import ( type Platform string const ( - undefinedPlatform Platform = "" - detectPlatform Platform = "automatic" - iOS Platform = "iOS" - osX Platform = "OS X" - tvOS Platform = "tvOS" - watchOS Platform = "watchOS" - visionOS Platform = "visionOS" + detectPlatform Platform = "detect" + iOS Platform = "iOS" + osX Platform = "OS X" + tvOS Platform = "tvOS" + watchOS Platform = "watchOS" + visionOS Platform = "visionOS" ) -func parsePlatform(platform string) Platform { +func parsePlatform(platform string) (Platform, error) { switch strings.ToLower(platform) { case "automatic": - return detectPlatform + return detectPlatform, nil case "ios": - return iOS + return iOS, nil case "tvos": - return tvOS + return tvOS, nil case "watchos": - return watchOS + return watchOS, nil case "visionos": - return visionOS + return visionOS, nil default: - return undefinedPlatform + return "", fmt.Errorf("unknown platform: %s", platform) } } diff --git a/step/step.go b/step/step.go index 0cd59d3d..aaa59356 100644 --- a/step/step.go +++ b/step/step.go @@ -76,7 +76,7 @@ type Inputs struct { ProjectPath string `env:"project_path,file"` Scheme string `env:"scheme,required"` ExportMethod string `env:"distribution_method,opt[app-store,ad-hoc,enterprise,development]"` - Platform string `env:"platform,opt[automatic,iOS,watchOS,tvOS,visionOS]"` + Platform string `env:"platform,opt[detect,iOS,watchOS,tvOS,visionOS]"` // xcodebuild configuration Configuration string `env:"configuration"` @@ -200,9 +200,11 @@ func (s XcodebuildArchiveConfigParser) ProcessInputs() (Config, error) { logv1.SetEnableDebugLog(true) } - config.DestinationPlatform = parsePlatform(config.Platform) - var err error + if config.DestinationPlatform, err = parsePlatform(config.Platform); err != nil { + return Config{}, fmt.Errorf("issue with input Platform: %w", err) + } + config.XcodebuildAdditionalOptions, err = shellquote.Split(inputs.XcodebuildOptions) if err != nil { return Config{}, fmt.Errorf("provided XcodebuildOptions (%s) are not valid CLI parameters: %s", inputs.XcodebuildOptions, err) From 45d3cbcb07856965d83f3896eb328f71141a940d Mon Sep 17 00:00:00 2001 From: LaszloP <7979773+lpusok@users.noreply.github.com> Date: Tue, 1 Jul 2025 11:11:27 +0200 Subject: [PATCH 4/7] Improved logs --- README.md | 1 + step.yml | 2 +- step/step.go | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 763bf1e0..a0b49fe6 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,7 @@ Build a development IPA with custom xcconfig file path: | --- | --- | --- | --- | | `project_path` | Xcode Project (`.xcodeproj`) or Workspace (`.xcworkspace`) path. The input value sets xcodebuild's `-project` or `-workspace` option. | required | `$BITRISE_PROJECT_PATH` | | `scheme` | Xcode Scheme name. The input value sets xcodebuild's `-scheme` option. | required | `$BITRISE_SCHEME` | +| `platform` | Platform to archive the product for. If set to `detect`, the step will try to detect the platform from the Xcode project settings. Its value sets xcodebuild's `-destination` option. Example: `-destination generic/platform=iOS Simulator`. | required | `detect` | | `distribution_method` | Describes how Xcode should export the archive. The input value sets the method in the export options plist content. Note: In Xcode 15.3, distribution methods have been renamed. The values of this input reflect the old names. When running with Xcode 15.3 and later, the new names are passed to `xcodebuild`: - `debugging`, when `development` is selected - `app-store-connect`, when `app-store` is selected - `release-testing`, when `ad-hoc` is selected - `enterprise` is unchanged | required | `development` | | `configuration` | Xcode Build Configuration. If not specified, the default Build Configuration will be used. The input value sets xcodebuild's `-configuration` option. | | | | `xcconfig_content` | Build settings to override the project's build settings, using xcodebuild's `-xcconfig` option. You can't define `-xcconfig` option in `Additional options for the xcodebuild command` if this input is set. If empty, no setting is changed. When set it can be either: 1. Existing `.xcconfig` file path. Example: `./ios-sample/ios-sample/Configurations/Dev.xcconfig` 2. The contents of a newly created temporary `.xcconfig` file. (This is the default.) Build settings must be separated by newline character (`\n`). Example: ``` COMPILER_INDEX_STORE_ENABLE = NO ONLY_ACTIVE_ARCH[config=Debug][sdk=*][arch=*] = YES ``` | | `COMPILER_INDEX_STORE_ENABLE = NO` | diff --git a/step.yml b/step.yml index 065c2b99..91d73000 100644 --- a/step.yml +++ b/step.yml @@ -96,7 +96,7 @@ inputs: summary: Platform to archive the product for. description: |- Platform to archive the product for. - If not specified, will try to detect the platform from the project settings. + If set to `detect`, the step will try to detect the platform from the Xcode project settings. Its value sets xcodebuild's `-destination` option. Example: `-destination generic/platform=iOS Simulator`. diff --git a/step/step.go b/step/step.go index aaa59356..84605697 100644 --- a/step/step.go +++ b/step/step.go @@ -827,7 +827,7 @@ func (s XcodebuildArchiver) xcodeArchive(opts xcodeArchiveOpts) (xcodeArchiveRes if opts.DestinationPlatform == detectPlatform { s.logger.TInfof("Platform is set to 'automatic', detecting platform from the project.") - s.logger.TWarnf("Please set the Platform Input manually to avoid this step in the future.") + s.logger.TWarnf("Define the platform step input manually to avoid this phase in the future.") platform, err := BuildableTargetPlatform(xcodeProj, scheme, configuration, opts.AdditionalOptions, XcodeBuild{}, s.logger) if err != nil { return out, fmt.Errorf("failed to read project platform: %s: %s", opts.ProjectPath, err) From 2ca85d3868b8ee57980f5ffb2348729c9cc8624f Mon Sep 17 00:00:00 2001 From: LaszloP <7979773+lpusok@users.noreply.github.com> Date: Tue, 1 Jul 2025 13:59:12 +0200 Subject: [PATCH 5/7] Update e2e tests --- e2e/bitrise.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/e2e/bitrise.yml b/e2e/bitrise.yml index 931e5869..ead42790 100644 --- a/e2e/bitrise.yml +++ b/e2e/bitrise.yml @@ -58,6 +58,7 @@ workflows: - TEST_APP_COMMIT: "" - BITRISE_PROJECT_PATH: Fruta.xcodeproj - BITRISE_SCHEME: Fruta iOS + - DESTINATION: "iOS" - CODE_SIGNING_METHOD: api-key - API_KEY_PATH: $BITFALL_APPSTORECONNECT_API_KEY_URL - API_KEY_ID: $BITFALL_APPSTORECONNECT_API_KEY_ID @@ -188,6 +189,7 @@ workflows: - TEST_APP_BRANCH: new-certificates - BITRISE_PROJECT_PATH: ios-simple-objc/ios-simple-objc.xcodeproj - BITRISE_SCHEME: ios-simple-objc + - DESTINATION: "detect" - CODE_SIGNING_METHOD: api-key - XCCONFIG_CONTENT: | COMPILER_INDEX_STORE_ENABLE = NO @@ -221,6 +223,7 @@ workflows: - TEST_APP_BRANCH: master - BITRISE_PROJECT_PATH: Fruta.xcodeproj - BITRISE_SCHEME: Fruta iOS + - DESTINATION: "detect" - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - IPA_EXPORT_METHOD: ad-hoc @@ -247,6 +250,7 @@ workflows: - TEST_APP_BRANCH: manual-signing - BITRISE_PROJECT_PATH: Fruta.xcodeproj - BITRISE_SCHEME: Fruta iOS + - DESTINATION: "detect" - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - IPA_EXPORT_METHOD: development @@ -272,6 +276,7 @@ workflows: - TEST_APP_BRANCH: new-certificates - BITRISE_PROJECT_PATH: ios-simple-objc/ios-simple-objc.xcodeproj - BITRISE_SCHEME: ios-simple-objc + - DESTINATION: "iOS" - CODE_SIGNING_METHOD: apple-id - TEAM_ID: 72SA8V3WYL - MIN_DAYS_PROFILE_VALID: 0 @@ -289,6 +294,7 @@ workflows: - TEST_APP_BRANCH: entitlements - BITRISE_PROJECT_PATH: code-sign-test.xcodeproj - BITRISE_SCHEME: code-sign-test + - DESTINATION: "detect" - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - IPA_EXPORT_METHOD: app-store @@ -305,6 +311,7 @@ workflows: - TEST_APP_BRANCH: automatic - BITRISE_PROJECT_PATH: code-sign-test.xcodeproj - BITRISE_SCHEME: code-sign-test + - DESTINATION: "detect" - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - IPA_EXPORT_METHOD: app-store @@ -331,6 +338,7 @@ workflows: - TEST_APP_BRANCH: automatic - BITRISE_PROJECT_PATH: code-sign-test.xcodeproj - BITRISE_SCHEME: code-sign-test + - DESTINATION: "detect" - CODE_SIGNING_METHOD: apple-id - TEAM_ID: 72SA8V3WYL - MIN_DAYS_PROFILE_VALID: 0 @@ -348,6 +356,7 @@ workflows: - TEST_APP_COMMIT: "" - BITRISE_PROJECT_PATH: code-sign-test.xcodeproj - BITRISE_SCHEME: code-sign-test-Prod + - DESTINATION: "detect" - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - TEAM_ID: 72SA8V3WYL @@ -366,6 +375,7 @@ workflows: - TEST_APP_COMMIT: "" - BITRISE_PROJECT_PATH: ios-simple-objc/ios-simple-objc.xcworkspace - BITRISE_SCHEME: ios-simple-objc + - DESTINATION: "detect" - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - TEAM_ID: 72SA8V3WYL @@ -385,6 +395,7 @@ workflows: - TEST_APP_COMMIT: "" - BITRISE_PROJECT_PATH: ios-simple-objc/ios-simple-objc.xcodeproj - BITRISE_SCHEME: ios-simple-objc + - DESTINATION: "detect" - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - TEAM_ID: 72SA8V3WYL @@ -407,6 +418,7 @@ workflows: - TEST_APP_BRANCH: master - BITRISE_PROJECT_PATH: code-sign-test.xcodeproj - BITRISE_SCHEME: code-sign-test + - DESTINATION: "iOS" - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 112 - TEAM_ID: 72SA8V3WYL @@ -424,6 +436,7 @@ workflows: - TEST_APP_BRANCH: master - BITRISE_PROJECT_PATH: sample-apps-ios-workspace-swift.xcworkspace - BITRISE_SCHEME: sample-apps-ios-workspace-swift + - DESTINATION: "iOS" - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - TEAM_ID: 72SA8V3WYL @@ -442,6 +455,7 @@ workflows: - TEST_APP_COMMIT: "" - BITRISE_PROJECT_PATH: Catalyst Sample.xcodeproj - BITRISE_SCHEME: Catalyst Sample + - DESTINATION: "detect" - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - FORCE_CODE_SIGN_IDENTITY: "Apple Development: Tooling Bot Bitrise" @@ -484,6 +498,7 @@ workflows: inputs: - project_path: ./_tmp/$BITRISE_PROJECT_PATH - scheme: $BITRISE_SCHEME + - platform: $DESTINATION - automatic_code_signing: $CODE_SIGNING_METHOD - min_profile_validity: $MIN_DAYS_PROFILE_VALID - certificate_url_list: $BITFALL_APPLE_APPLE_CERTIFICATE_URL_LIST|$BITFALL_APPLE_IOS_CERTIFICATE_URL_LIST From 47a54297fc072a6f2274a83d6ffbd016e965b949 Mon Sep 17 00:00:00 2001 From: LaszloP <7979773+lpusok@users.noreply.github.com> Date: Tue, 1 Jul 2025 14:01:02 +0200 Subject: [PATCH 6/7] Fix platform parsing --- step/platform.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/step/platform.go b/step/platform.go index a1247b28..d664ae68 100644 --- a/step/platform.go +++ b/step/platform.go @@ -25,7 +25,7 @@ const ( func parsePlatform(platform string) (Platform, error) { switch strings.ToLower(platform) { - case "automatic": + case "detect": return detectPlatform, nil case "ios": return iOS, nil From cf51a9dadecf4858890d127067d83a5c798a36cb Mon Sep 17 00:00:00 2001 From: LaszloP <7979773+lpusok@users.noreply.github.com> Date: Tue, 1 Jul 2025 14:19:47 +0200 Subject: [PATCH 7/7] Fix lint --- e2e/bitrise.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/e2e/bitrise.yml b/e2e/bitrise.yml index ead42790..dddc890c 100644 --- a/e2e/bitrise.yml +++ b/e2e/bitrise.yml @@ -58,7 +58,7 @@ workflows: - TEST_APP_COMMIT: "" - BITRISE_PROJECT_PATH: Fruta.xcodeproj - BITRISE_SCHEME: Fruta iOS - - DESTINATION: "iOS" + - DESTINATION: iOS - CODE_SIGNING_METHOD: api-key - API_KEY_PATH: $BITFALL_APPSTORECONNECT_API_KEY_URL - API_KEY_ID: $BITFALL_APPSTORECONNECT_API_KEY_ID @@ -189,7 +189,7 @@ workflows: - TEST_APP_BRANCH: new-certificates - BITRISE_PROJECT_PATH: ios-simple-objc/ios-simple-objc.xcodeproj - BITRISE_SCHEME: ios-simple-objc - - DESTINATION: "detect" + - DESTINATION: detect - CODE_SIGNING_METHOD: api-key - XCCONFIG_CONTENT: | COMPILER_INDEX_STORE_ENABLE = NO @@ -223,7 +223,7 @@ workflows: - TEST_APP_BRANCH: master - BITRISE_PROJECT_PATH: Fruta.xcodeproj - BITRISE_SCHEME: Fruta iOS - - DESTINATION: "detect" + - DESTINATION: detect - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - IPA_EXPORT_METHOD: ad-hoc @@ -250,7 +250,7 @@ workflows: - TEST_APP_BRANCH: manual-signing - BITRISE_PROJECT_PATH: Fruta.xcodeproj - BITRISE_SCHEME: Fruta iOS - - DESTINATION: "detect" + - DESTINATION: detect - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - IPA_EXPORT_METHOD: development @@ -276,7 +276,7 @@ workflows: - TEST_APP_BRANCH: new-certificates - BITRISE_PROJECT_PATH: ios-simple-objc/ios-simple-objc.xcodeproj - BITRISE_SCHEME: ios-simple-objc - - DESTINATION: "iOS" + - DESTINATION: iOS - CODE_SIGNING_METHOD: apple-id - TEAM_ID: 72SA8V3WYL - MIN_DAYS_PROFILE_VALID: 0 @@ -294,7 +294,7 @@ workflows: - TEST_APP_BRANCH: entitlements - BITRISE_PROJECT_PATH: code-sign-test.xcodeproj - BITRISE_SCHEME: code-sign-test - - DESTINATION: "detect" + - DESTINATION: detect - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - IPA_EXPORT_METHOD: app-store @@ -311,7 +311,7 @@ workflows: - TEST_APP_BRANCH: automatic - BITRISE_PROJECT_PATH: code-sign-test.xcodeproj - BITRISE_SCHEME: code-sign-test - - DESTINATION: "detect" + - DESTINATION: detect - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - IPA_EXPORT_METHOD: app-store @@ -338,7 +338,7 @@ workflows: - TEST_APP_BRANCH: automatic - BITRISE_PROJECT_PATH: code-sign-test.xcodeproj - BITRISE_SCHEME: code-sign-test - - DESTINATION: "detect" + - DESTINATION: detect - CODE_SIGNING_METHOD: apple-id - TEAM_ID: 72SA8V3WYL - MIN_DAYS_PROFILE_VALID: 0 @@ -356,7 +356,7 @@ workflows: - TEST_APP_COMMIT: "" - BITRISE_PROJECT_PATH: code-sign-test.xcodeproj - BITRISE_SCHEME: code-sign-test-Prod - - DESTINATION: "detect" + - DESTINATION: detect - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - TEAM_ID: 72SA8V3WYL @@ -375,7 +375,7 @@ workflows: - TEST_APP_COMMIT: "" - BITRISE_PROJECT_PATH: ios-simple-objc/ios-simple-objc.xcworkspace - BITRISE_SCHEME: ios-simple-objc - - DESTINATION: "detect" + - DESTINATION: detect - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - TEAM_ID: 72SA8V3WYL @@ -395,7 +395,7 @@ workflows: - TEST_APP_COMMIT: "" - BITRISE_PROJECT_PATH: ios-simple-objc/ios-simple-objc.xcodeproj - BITRISE_SCHEME: ios-simple-objc - - DESTINATION: "detect" + - DESTINATION: detect - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - TEAM_ID: 72SA8V3WYL @@ -418,7 +418,7 @@ workflows: - TEST_APP_BRANCH: master - BITRISE_PROJECT_PATH: code-sign-test.xcodeproj - BITRISE_SCHEME: code-sign-test - - DESTINATION: "iOS" + - DESTINATION: iOS - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 112 - TEAM_ID: 72SA8V3WYL @@ -436,7 +436,7 @@ workflows: - TEST_APP_BRANCH: master - BITRISE_PROJECT_PATH: sample-apps-ios-workspace-swift.xcworkspace - BITRISE_SCHEME: sample-apps-ios-workspace-swift - - DESTINATION: "iOS" + - DESTINATION: iOS - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - TEAM_ID: 72SA8V3WYL @@ -455,7 +455,7 @@ workflows: - TEST_APP_COMMIT: "" - BITRISE_PROJECT_PATH: Catalyst Sample.xcodeproj - BITRISE_SCHEME: Catalyst Sample - - DESTINATION: "detect" + - DESTINATION: detect - CODE_SIGNING_METHOD: api-key - MIN_DAYS_PROFILE_VALID: 0 - FORCE_CODE_SIGN_IDENTITY: "Apple Development: Tooling Bot Bitrise"