codemagic-ci-cd / cli-tools

Various utilities to managing Android and iOS app builds, code signing, and deployment.
https://codemagic.io/start/
GNU General Public License v3.0
245 stars 42 forks source link

Allow custom export options for `xcode-project build-ipa` #391

Closed priitlatt closed 8 months ago

priitlatt commented 8 months ago

New Xcode versions can introduce export options that are not defined in our ExportOptions class (for example testFlightInternalTestingOnly that was added some time ago, but for which we were lacking definition).

Also in general Xcode does not restrict usage of totally custom export options, and as such it makes little to no sense to be very strict about what keys are allowed in export options and what are not. This PR allows usage of export option keys that are not explicitly defined by the fields in ExportOptions class. Such fields are persisted when the object is updated and are included when the properly list is saved to disk.

Updated actions

Example log with warning about unknown export option ```shell $ xcode-project build-ipa --project banaan.xcodeproj --archive-flags="-destination 'generic/platform=iOS'" Warning: Using unknown export option "myInterestingCustomOption" Using Xcode 15.2 (15C500b) Check banaan.xcodeproj build settings Execute "xcodebuild -project banaan.xcodeproj -scheme banaan -showBuildSettings" ... ```