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
xcode-project build-ipa
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"
...
```
New Xcode versions can introduce export options that are not defined in our
ExportOptions
class (for exampletestFlightInternalTestingOnly
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
xcode-project build-ipa
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" ... ```