How to use iTMSTransporter

Issue #563

Transporter app

The new Transporter app for macOS makes it easy to upload your binary to App Store Connect. To get started, download Transporter from the Mac App Store, and simply drag and drop your binaries into the upload window. With Transporter you can

https://stackoverflow.com/questions/8094317/where-to-find-application-loader-app-in-mac/40419328

1
2
3
4
5
6
7
8
As of Xcode 11, "Application Loader is no longer included with Xcode", per the Xcode 11 Release Notes:

Xcode supports uploading apps from the Organizer window or from the command line with xcodebuild or xcrun altool. Application Loader is no longer included with Xcode. (29008875)

The Xcode Help page, Upload an app to App Store Connect, explains how to upload from the Xcode Archives Organizer.

Transporter
In October 2019, Apple announced the Transporter app for macOS, now available in the Mac App Store.

Find path

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public struct Transporter {
var arguments: [String] = []

func run(workflow: Workflow) throws {
guard Folder.directoryExists(path: "/Applications/Transporter.app") else {
Deps.console.warn("You need to install Transporter")
throw PumaError.invalid
}

try CommandLine().runBash(
workflow: workflow,
program: transportPath(),
arguments: arguments
)
}

private func transportPath() throws -> String {
if Folder.directoryExists(path: "/Applications/Transporter.app") {
return "/Applications/Transporter.app/Contents/itms/bin/iTMSTransporter"
} else if Folder.directoryExists(path: "/Applications/Xcode.app/Contents/Applications/Application Loader.app/") {
return "/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/MacOS/itms/bin/iTMSTransporter"
} else {
throw PumaError.invalid
}
}
}

Help

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
usage: iTMSTransporter [-help <arg> | -info | -m <arg> | -version]   [-o <arg>] [-v
<arg>] [-WONoPause <arg>] [-Xmx4096m]
iTMSTransporter : iTunes Store Transporter 2.0.0
-help <arg> Show this help. If a mode value is specified, show help specific
to that mode.
-info The -info option should be used by itself and returns the
copyright notice and acknowledgements.
-m <arg> The -m option specifies the tool's mode. The valid values are:
verify, upload, provider, diagnostic, lookupMetadata,
createArtist, lookupArtist, status, statusAll,
createMetadataTicket, queryTickets, generateSchema, transferTest,
downloadMetadataGuides, listReports, requestReport
-o <arg> The -o option specifies the directory and filename you want to use
to log output information. By default, Transporter logs output
information to standard out. If you specify a filename,
Transporter logs the output to the specified file, as well as to
standard out.
-v <arg> The -v option specifies the level of logging. The five values
are: off, detailed, informational, critical, eXtreme.
-version The -version option should be used by itself and returns the
version of the tool.
-WONoPause <arg> The -WONoPause option is only valid on Windows and its value can
be 'true' or 'false'. If an error occurs during script execution,
the process idles because the message 'Press any key...' is
displayed on the console and the system awaits a keypress. To
avoid this behavior, set this property to true
-Xmx4096m Specifies that you want to change the Java Virtual Machine's (JVM)
allocated memory by increasing the JVM heap size. By default,
Transporter uses a 2048MB heap size. You can use the -Xmx4096m
option to specify a 4-gigabyte (GB) heap size. Apple recommends,
if needed, increasing the heap size to 4096MB by specifying the
-Xmx4096m (or -Xmx4g) option and adjusting as needed.

Read more

Comments