feat(cli): support manual signing on build command #7625
Description
Capacitor Version
Latest Dependencies:
@capacitor/cli: 6.1.2
@capacitor/core: 6.1.2
@capacitor/android: 6.1.2
@capacitor/ios: 6.1.2
Installed Dependencies:
@capacitor/android: not installed
@capacitor/cli: 6.1.2
@capacitor/core: 6.1.2
@capacitor/ios: 6.1.2
Other API Details
No response
Platforms Affected
- iOS
- Android
- Web
Current Behavior
When disabling "Automatically Manage Signing" and setting up the correct Provisioning Profiles and Signing Certificate, and running cap build ios
, xcodebuild
crashes with a segmentation fault.
Basically cap build ios
runs a couple of commands:
xcodebuild -workspace App.xcworkspace -scheme App -destination generic/platform=iOS -archivePath App.xcarchive archive
to build the xArchivexcodebuild archive -archivePath App.xcarchive -exportArchive -exportOptionsPlist archive.plist -exportPath output -allowProvisioningUpdates -configuration Release
to build the IPA file
The issue lies with the archive.plist
file generated here (cli/src/ios/build.ts#L51-L58).
It seems to be missing the signingStyle
key. Even setting it to automatic
(rather than manual
) makes xcodebuild
work:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>app-store</string>
<key>signingStyle</key>
<string>automatic</string>
</dict>
</plist>
Expected Behavior
Well, xcodebuild
shouldn't segfault!
Project Reproduction
Additional Information
Apologies for the lack of reproduction, but without the proper provisioning profiles and certificates (obtainable only from Apple) there's not much we can do to "reproduce" this...