Releases: bitrise-steplib/steps-xcode-build-for-test
1.1.0
Added support for automatically managing code signing
Will choose automatically between xcodebuild-managed and Bitrise-managed signing.
Requirements for using xcodebuild-managed code signing assets:
- The Xcode project has the Automatically manage signing option turned on.
- The The minimum days the Provisioning Profile should be valid (min_profile_validity) Input is left on the default (
0
) value - Xcode version in use is at least 13.
- API key is used for authentication, not Apple ID.
If the above conditions are not met, will use Bitrise-managed signing.
xcodebuild for managing code signing assets with API key
Uses the CI integration support introduced in Xcode 13 to manage app IDs and profiles. (https://developer.apple.com/videos/play/wwdc2021/10204/)
Bitrise-managed code signing assets
Integrates the functionality of the iOS Auto Provision with App Store Connect API and iOS Auto Provision with Apple ID Step.
Migration
Preserving the valid certificates to the Bitrise Code Signing tab is still a requirement.
- First, set the new Automatic code signing (automatic_code_signing) input to
api_key
orapple_id
.- Must use Apple services connection (https://devcenter.bitrise.io/en/accounts/connecting-to-services/apple-services-connection.html), setting Apple authentication via Step inputs is not supported as of now.
- Configure the Register test devices and The minimum days the Provisioning Profile should be valid inputs, if they were set to a custom value previously.
- Remove iOS Auto Provision and Certificate and profile installer Steps from the workflow. This is possible after all Xcode Steps that require code signing are migrated. Having multiple Steps managing code signing is not an issue.
Step specific migration notes:
- iOS Auto Provision with Apple ID Step
- For more reliable code signing, move to API key authentication. (Unless using Enterprise distribution method).
- Certificate and profile installer Step
- This is possible if migrating to automatically managed code signing assets (Manually installing Provisioning Profiles is unsupported)
- After removal of Certificate and profile installer, only profiles can be removed from the Code signing tab.
(#23)
Full Changelog: 1.0.1...1.1.0
1.0.1
1.0.0
[#17 ] Clean up and standardize step inputs.
Changes
- New input introduced for overriding the Xcode project's Build Settings: 'Build settings (xcconfig)' (
xcconfig_content
). - The raw xcodebuild log output env key is aligned with the source code:
BITRISE_XCODE_RAW_RESULT_TEXT_PATH
- Step input titles, summaries, descriptions, and categories are updated.
Breaking changes to step inputs
disable_index_while_building
input has been removed, the Xcode Build Setting configured by the input (COMPILER_INDEX_STORE_ENABLE = NO
) is the default value for the newxcconfig_content
input.output_tool
input has been renamed tolog_formatter
.
0.4.1
0.4.0
0.3.0
New input:
disable_index_while_building
: If it is set to yes
it will add the COMPILER_INDEX_STORE_ENABLE=NO
flag to the xcodebuild
command which will disable the indexing during the build.
This could make the build faster by skipping the indexing during the build run.
Indexing is needed for
- Autocomplete
- Ability to quickly jump to definition
- Get class and method help by alt clicking.
- Which are not needed in CI environment.
Disable it locally:
In Xcode you can turn off the Index-WhileBuilding feature
by disabling the `Enable Index-WhileBuilding Functionality` in the `Build Settings`.
Disable it via xcodebuild:
In CI environment you can disable it by adding `COMPILER_INDEX_STORE_ENABLE=NO` flag
to the `xcodebuild` command.
0.2.3
Issue fix:
If the user provided custom derived data path for the xcodebuild the step doesn't used it for the xcodebuild -showBuildSettings
command which caused an issue later when the step searched for the generated . xctestrun
in a wrong path.
0.2.2
Fix the "Failed to parse build settings, error: unknown build settings" error which happened if the xcodebuild -showBuildSettings
output contained a line without a = (no key-value pair)