argumentBuilder property
Builds the Xcrun altool command arguments list.
Constructs the complete command-line arguments for the Xcrun altool command. Formats all parameters according to altool expectations and includes conditional arguments based on configuration.
Key behavior:
- Uses altool
--upload-appcommand - Includes file path as primary target
- Adds authentication parameters (username/password or JWT)
- Includes validation and upload options
- Handles platform-specific parameters
Returns list of formatted Xcrun altool command arguments.
Example output:
["altool", "--upload-app", "-f", "/path/to/app.ipa",
"--apiKey", "ABC123DEF4", "--apiIssuer", "12345678..."]
Implementation
@override
List<String> get argumentBuilder {
return [
"altool",
'--upload-app',
'-f',
filePath,
if (username != null) ...['-u', username!],
if (password != null) ...['-p', password!],
if (apiKey != null) ...['--apiKey', apiKey!],
if (apiIssuer != null) ...['--apiIssuer', apiIssuer!],
if (appleId != null) ...['--apple-id', appleId!],
if (bundleVersion != null) ...['--bundle-version', bundleVersion!],
if (bundleShortVersionString != null) ...[
'--bundle-short-version-string',
bundleShortVersionString!,
],
if (ascPublicId != null) ...['--asc-public-id', ascPublicId!],
if (type != null) ...['-t', type!] else ...['--type', "iphoneos"],
if (validateApp) '-v',
if (bundleId != null) ...['--bundle-id', bundleId!],
if (productId != null) ...['--product-id', productId!],
if (sku != null) ...['--sku', sku!],
if (outputFormat != null) ...['--output-format', outputFormat!],
];
}