shipthis 0.0.8 → 0.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -830
- package/bin/readme.sh +15 -0
- package/bin/run.js +1 -1
- package/dist/commands/apple/apiKey/create.js +1 -1
- package/dist/commands/apple/apiKey/status.js +1 -1
- package/dist/commands/apple/certificate/create.js +1 -1
- package/dist/commands/apple/certificate/status.js +1 -1
- package/dist/commands/apple/login.js +3 -3
- package/dist/commands/apple/status.js +24 -9
- package/dist/commands/game/create.js +1 -1
- package/dist/commands/game/details.js +1 -1
- package/dist/commands/game/ios/app/create.js +1 -1
- package/dist/commands/game/ios/app/status.js +1 -1
- package/dist/commands/game/ios/app/sync.js +1 -1
- package/dist/commands/game/ios/profile/create.js +1 -1
- package/dist/commands/game/ios/profile/status.js +1 -1
- package/dist/commands/game/job/list.js +1 -1
- package/dist/commands/game/list.js +1 -1
- package/dist/commands/game/ship.js +1 -1
- package/dist/commands/game/status.js +1 -1
- package/dist/commands/game/wizard.js +3 -2
- package/dist/commands/status.js +1 -1
- package/dist/utils/help.js +14 -0
- package/docs/README.md +20 -0
- package/docs/apple/apiKey/create.md +26 -0
- package/docs/apple/apiKey/export.md +24 -0
- package/docs/apple/apiKey/import.md +24 -0
- package/docs/apple/apiKey/status.md +25 -0
- package/docs/apple/apiKey.md +110 -0
- package/docs/apple/certificate/create.md +26 -0
- package/docs/apple/certificate/export.md +24 -0
- package/docs/apple/certificate/import.md +24 -0
- package/docs/apple/certificate/status.md +25 -0
- package/docs/apple/certificate.md +110 -0
- package/docs/apple/login.md +30 -0
- package/docs/apple/status.md +21 -0
- package/docs/apple.md +48 -0
- package/docs/dashboard.md +18 -0
- package/docs/game/build/download.md +28 -0
- package/docs/game/build/list.md +31 -0
- package/docs/game/build.md +68 -0
- package/docs/game/create.md +23 -0
- package/docs/game/details.md +35 -0
- package/docs/game/export.md +26 -0
- package/docs/game/ios/app/addTester.md +24 -0
- package/docs/game/ios/app/create.md +25 -0
- package/docs/game/ios/app/status.md +21 -0
- package/docs/game/ios/app/sync.md +23 -0
- package/docs/game/ios/app.md +104 -0
- package/docs/game/ios/profile/create.md +23 -0
- package/docs/game/ios/profile/export.md +25 -0
- package/docs/game/ios/profile/import.md +25 -0
- package/docs/game/ios/profile/status.md +22 -0
- package/docs/game/ios/profile.md +106 -0
- package/docs/game/ios/status.md +23 -0
- package/docs/game/ios.md +247 -0
- package/docs/game/job/list.md +29 -0
- package/docs/game/job/status.md +30 -0
- package/docs/game/job.md +68 -0
- package/docs/game/list.md +26 -0
- package/docs/game/ship.md +21 -0
- package/docs/game/status.md +23 -0
- package/docs/game/wizard.md +23 -0
- package/docs/game.md +19 -0
- package/docs/help.md +21 -0
- package/docs/login.md +28 -0
- package/docs/status.md +18 -0
- package/oclif.manifest.json +155 -153
- package/package.json +17 -3
package/bin/readme.sh
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
scriptDir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
4
|
+
|
|
5
|
+
cd $scriptDir/..
|
|
6
|
+
|
|
7
|
+
# We want to avoid overwriting the docs we have manually written
|
|
8
|
+
|
|
9
|
+
bin/dev.js internal readme docs/ -d 2 --only docs/game --notDryRun --overWrite
|
|
10
|
+
bin/dev.js internal readme docs/ -d 2 --only docs/apple/apiKey --notDryRun --overWrite
|
|
11
|
+
bin/dev.js internal readme docs/ -d 2 --only docs/apple/certificate --notDryRun --overWrite
|
|
12
|
+
bin/dev.js internal readme docs/ -d 2 --only docs/login.md --notDryRun --overWrite
|
|
13
|
+
bin/dev.js internal readme docs/ -d 2 --only docs/status.md --notDryRun --overWrite
|
|
14
|
+
bin/dev.js internal readme docs/ -d 2 --only docs/dashboard.md --notDryRun --overWrite
|
|
15
|
+
bin/dev.js internal readme docs/ -d 2 --only docs/help.md --notDryRun --overWrite
|
package/bin/run.js
CHANGED
|
@@ -26,7 +26,7 @@ import 'deepmerge';
|
|
|
26
26
|
|
|
27
27
|
class AppleApiKeyCreate extends BaseAppleCommand {
|
|
28
28
|
static args = {};
|
|
29
|
-
static description = "Creates an App Store Connect API Key in your Apple Developer account
|
|
29
|
+
static description = "Creates an App Store Connect API Key in your Apple Developer account.\nSaves the private key in your ShipThis account.";
|
|
30
30
|
static examples = ["<%= config.bin %> <%= command.id %>", "<%= config.bin %> <%= command.id %> --force"];
|
|
31
31
|
static flags = {
|
|
32
32
|
force: Flags.boolean({ char: "f" }),
|
|
@@ -73,7 +73,7 @@ const AppleApiKeysTable = ({ ctx, ...boxProps }) => {
|
|
|
73
73
|
|
|
74
74
|
class AppleApiKeyStatus extends BaseAuthenticatedCommand {
|
|
75
75
|
static args = {};
|
|
76
|
-
static description = "Displays the status of
|
|
76
|
+
static description = "Displays the status of App Store Connect API Keys in your Apple and ShipThis accounts.\nThis API key is used to automatically publish your games to the App Store.";
|
|
77
77
|
static examples = [
|
|
78
78
|
"<%= config.bin %> <%= command.id %>",
|
|
79
79
|
"<%= config.bin %> <%= command.id %> --noAppleAuth"
|
|
@@ -65,7 +65,7 @@ function exportCertificate(certificate, privateKey) {
|
|
|
65
65
|
|
|
66
66
|
class AppleCertificateCreate extends BaseAppleCommand {
|
|
67
67
|
static args = {};
|
|
68
|
-
static description = "Creates an iOS Distribution Certificate in your Apple Developer account
|
|
68
|
+
static description = "Creates an iOS Distribution Certificate in your Apple Developer account.\nSaves the certificate with the private key to your ShipThis account";
|
|
69
69
|
static examples = ["<%= config.bin %> <%= command.id %>", "<%= config.bin %> <%= command.id %> --force"];
|
|
70
70
|
static flags = {
|
|
71
71
|
force: Flags.boolean({ char: "f" }),
|
|
@@ -81,7 +81,7 @@ const AppleCertificatesTable = ({ ctx, ...boxProps }) => {
|
|
|
81
81
|
|
|
82
82
|
class AppleCertificateStatus extends BaseAuthenticatedCommand {
|
|
83
83
|
static args = {};
|
|
84
|
-
static description = "Displays the status of the iOS Distribution certificates in your Apple and ShipThis accounts
|
|
84
|
+
static description = "Displays the status of the iOS Distribution certificates in your Apple and ShipThis accounts.\nThese are used to sign all of your iOS apps.";
|
|
85
85
|
static examples = [
|
|
86
86
|
"<%= config.bin %> <%= command.id %>",
|
|
87
87
|
"<%= config.bin %> <%= command.id %> --noAppleAuth"
|
|
@@ -36,7 +36,7 @@ class AppleLogin extends BaseAuthenticatedCommand {
|
|
|
36
36
|
force: Flags.boolean({ char: "f" }),
|
|
37
37
|
appleEmail: Flags.string({
|
|
38
38
|
char: "e",
|
|
39
|
-
description: "Your Apple email address"
|
|
39
|
+
description: "Your Apple Developer email address"
|
|
40
40
|
})
|
|
41
41
|
};
|
|
42
42
|
async run() {
|
|
@@ -47,12 +47,12 @@ class AppleLogin extends BaseAuthenticatedCommand {
|
|
|
47
47
|
}
|
|
48
48
|
const getAppleEmail = async () => {
|
|
49
49
|
if (flags.appleEmail) return flags.appleEmail;
|
|
50
|
-
const appleEmail2 = await getInput("Please enter your Apple email address: ");
|
|
50
|
+
const appleEmail2 = await getInput("Please enter your Apple Developer account email address: ");
|
|
51
51
|
if (!appleEmail2) throw new Error("Email address is required");
|
|
52
52
|
return appleEmail2;
|
|
53
53
|
};
|
|
54
54
|
const getApplePassword = async () => {
|
|
55
|
-
const applePassword2 = await getMaskedInput("Please enter your Apple password: ");
|
|
55
|
+
const applePassword2 = await getMaskedInput("Please enter your Apple Developer password: ");
|
|
56
56
|
if (!applePassword2) throw new Error("Password is required");
|
|
57
57
|
return applePassword2;
|
|
58
58
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { B as BaseAuthenticatedCommand } from '../../baseGameCommand-BeUNc6Wy.js';
|
|
2
3
|
import 'path';
|
|
3
4
|
import 'fs';
|
|
4
5
|
import '@oclif/core';
|
|
5
6
|
import '@expo/apple-utils/build/index.js';
|
|
6
7
|
import 'axios';
|
|
7
|
-
import '../../baseGameCommand-BeUNc6Wy.js';
|
|
8
8
|
import 'luxon';
|
|
9
9
|
import 'crypto';
|
|
10
10
|
import 'readline-sync';
|
|
@@ -13,7 +13,6 @@ import 'react';
|
|
|
13
13
|
import '@tanstack/react-query';
|
|
14
14
|
import 'socket.io-client';
|
|
15
15
|
import 'isomorphic-git';
|
|
16
|
-
import { B as BaseAppleCommand } from '../../baseAppleCommand-IhowpKpk.js';
|
|
17
16
|
import { A as App } from '../../App-SiSXLW2s.js';
|
|
18
17
|
import { render } from 'ink';
|
|
19
18
|
import 'ink-spinner';
|
|
@@ -25,19 +24,35 @@ import 'ini';
|
|
|
25
24
|
import 'deepmerge';
|
|
26
25
|
import '../../Title-BCQtayg6.js';
|
|
27
26
|
|
|
28
|
-
class AppleStatus extends
|
|
27
|
+
class AppleStatus extends BaseAuthenticatedCommand {
|
|
29
28
|
static args = {};
|
|
30
|
-
static description = "Shows the status of the Apple authentication and integration";
|
|
29
|
+
static description = "Shows the status of the Apple authentication and integration.";
|
|
31
30
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
32
31
|
static flags = {};
|
|
33
32
|
async run() {
|
|
34
|
-
const
|
|
35
|
-
|
|
33
|
+
const checkAuth = async () => {
|
|
34
|
+
try {
|
|
35
|
+
const authState = await this.refreshAppleAuthState();
|
|
36
|
+
const { session: session2 } = authState;
|
|
37
|
+
return {
|
|
38
|
+
isAuthenticatedOnApple: true,
|
|
39
|
+
session: session2
|
|
40
|
+
};
|
|
41
|
+
} catch {
|
|
42
|
+
return {
|
|
43
|
+
isAuthenticatedOnApple: false,
|
|
44
|
+
session: null
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const { isAuthenticatedOnApple, session } = await checkAuth();
|
|
36
49
|
const statuses = {
|
|
37
|
-
"
|
|
38
|
-
"
|
|
50
|
+
"Authenticated on Apple Developer Portal": isAuthenticatedOnApple,
|
|
51
|
+
"Apple Full Name": session?.user?.fullName || "Please authenticate",
|
|
52
|
+
"Apple Provider Name": session?.provider?.name || "Please authenticate"
|
|
39
53
|
};
|
|
40
|
-
|
|
54
|
+
let steps = [];
|
|
55
|
+
if (!isAuthenticatedOnApple) steps.push("$ shipthis apple login");
|
|
41
56
|
render(
|
|
42
57
|
/* @__PURE__ */ jsxs(App, { children: [
|
|
43
58
|
/* @__PURE__ */ jsx(StatusTable, { marginBottom: 1, title: "Apple Status", statuses }),
|
|
@@ -18,7 +18,7 @@ import 'isomorphic-git';
|
|
|
18
18
|
|
|
19
19
|
class GameCreate extends BaseAuthenticatedCommand {
|
|
20
20
|
static args = {};
|
|
21
|
-
static description = "Create a new game";
|
|
21
|
+
static description = "Create a new game in ShipThis.";
|
|
22
22
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
23
23
|
static flags = {
|
|
24
24
|
quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" }),
|
|
@@ -26,7 +26,7 @@ import '../../Title-BCQtayg6.js';
|
|
|
26
26
|
|
|
27
27
|
class GameDetails extends BaseGameCommand {
|
|
28
28
|
static args = {};
|
|
29
|
-
static description = "Shows and sets the details of a game.
|
|
29
|
+
static description = "Shows and sets the details of a game.";
|
|
30
30
|
static examples = [
|
|
31
31
|
"<%= config.bin %> <%= command.id %>",
|
|
32
32
|
"<%= config.bin %> <%= command.id %> --gameId 0c179fc4",
|
|
@@ -25,7 +25,7 @@ import 'deepmerge';
|
|
|
25
25
|
|
|
26
26
|
class GameIosAppCreate extends BaseGameCommand {
|
|
27
27
|
static args = {};
|
|
28
|
-
static description = "Creates an App and BundleId in the Apple Developer Portal.
|
|
28
|
+
static description = "Creates an App and BundleId in the Apple Developer Portal.";
|
|
29
29
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
30
30
|
static flags = {
|
|
31
31
|
quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" }),
|
|
@@ -29,7 +29,7 @@ import '../../../../useAppleBundleId-VKmaX7sP.js';
|
|
|
29
29
|
|
|
30
30
|
class GameIosAppStatus extends BaseGameCommand {
|
|
31
31
|
static args = {};
|
|
32
|
-
static description = "Shows the Game iOS App status.
|
|
32
|
+
static description = "Shows the Game iOS App status. ";
|
|
33
33
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
34
34
|
static flags = {
|
|
35
35
|
gameId: Flags.string({ char: "g", description: "The ID of the game" })
|
|
@@ -25,7 +25,7 @@ import 'deepmerge';
|
|
|
25
25
|
|
|
26
26
|
class GameIosAppSync extends BaseGameCommand {
|
|
27
27
|
static args = {};
|
|
28
|
-
static description = 'Synchronies the Apple App "BundleId" with the capabilities from the local project.
|
|
28
|
+
static description = 'Synchronies the Apple App "BundleId" with the capabilities from the local project.';
|
|
29
29
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
30
30
|
static flags = {
|
|
31
31
|
quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" }),
|
|
@@ -26,7 +26,7 @@ import 'deepmerge';
|
|
|
26
26
|
|
|
27
27
|
class GameIosProfileCreate extends BaseGameCommand {
|
|
28
28
|
static args = {};
|
|
29
|
-
static description = "Creates a Mobile Provisioning Profile in the Apple Developer Portal.
|
|
29
|
+
static description = "Creates a Mobile Provisioning Profile in the Apple Developer Portal.";
|
|
30
30
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
31
31
|
static flags = {
|
|
32
32
|
quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" }),
|
|
@@ -149,7 +149,7 @@ const ProjectCredentialsTable = ({ credentialTypeName, queryProps, ...boxProps }
|
|
|
149
149
|
|
|
150
150
|
class GameIosProfileStatus extends BaseGameCommand {
|
|
151
151
|
static args = {};
|
|
152
|
-
static description = "Shows the Game iOS Mobile Provisioning Profile Status.
|
|
152
|
+
static description = "Shows the Game iOS Mobile Provisioning Profile Status.";
|
|
153
153
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
154
154
|
static flags = {
|
|
155
155
|
gameId: Flags.string({ char: "g", description: "The ID of the game" }),
|
|
@@ -27,7 +27,7 @@ import '../../../cacheKeys-CShA-ZjE.js';
|
|
|
27
27
|
|
|
28
28
|
class GameJobList extends BaseGameCommand {
|
|
29
29
|
static args = {};
|
|
30
|
-
static description = "Lists the jobs for a game.
|
|
30
|
+
static description = "Lists the jobs for a game.";
|
|
31
31
|
static examples = [
|
|
32
32
|
"<%= config.bin %> <%= command.id %>",
|
|
33
33
|
"<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
|
|
@@ -25,7 +25,7 @@ import 'isomorphic-git';
|
|
|
25
25
|
|
|
26
26
|
class GameList extends BaseAuthenticatedCommand {
|
|
27
27
|
static args = {};
|
|
28
|
-
static description = "Shows a list of all your games";
|
|
28
|
+
static description = "Shows a list of all your games.";
|
|
29
29
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
30
30
|
static flags = {
|
|
31
31
|
pageNumber: Flags.integer({ char: "p", description: "The page number to show (starts at 0)", default: 0 }),
|
|
@@ -22,7 +22,7 @@ import 'isomorphic-git';
|
|
|
22
22
|
|
|
23
23
|
class GameShip extends BaseGameCommand {
|
|
24
24
|
static args = {};
|
|
25
|
-
static description = "Builds the app (for all platforms with valid credentials) and ships it to the stores";
|
|
25
|
+
static description = "Builds the app (for all platforms with valid credentials) and ships it to the stores.";
|
|
26
26
|
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
27
27
|
async run() {
|
|
28
28
|
await this.ensureWeAreInAProjectDir();
|
|
@@ -27,7 +27,7 @@ import '../../Title-BCQtayg6.js';
|
|
|
27
27
|
|
|
28
28
|
class GameStatus extends BaseGameCommand {
|
|
29
29
|
static args = {};
|
|
30
|
-
static description = "Shows the
|
|
30
|
+
static description = "Shows the status of the current game.";
|
|
31
31
|
static examples = [
|
|
32
32
|
"<%= config.bin %> <%= command.id %>",
|
|
33
33
|
"<%= config.bin %> <%= command.id %> --gameId 0c179fc4"
|
|
@@ -22,7 +22,7 @@ class GameWizard extends BaseAuthenticatedCommand {
|
|
|
22
22
|
static flags = {
|
|
23
23
|
forceStep: Flags.string({
|
|
24
24
|
char: "f",
|
|
25
|
-
description: "Force a specific step to run.
|
|
25
|
+
description: "Force a specific step to run."
|
|
26
26
|
}),
|
|
27
27
|
platform: Flags.string({
|
|
28
28
|
char: "p",
|
|
@@ -31,7 +31,8 @@ class GameWizard extends BaseAuthenticatedCommand {
|
|
|
31
31
|
"ios"
|
|
32
32
|
/* TODO - android */
|
|
33
33
|
],
|
|
34
|
-
required:
|
|
34
|
+
required: false,
|
|
35
|
+
default: "ios"
|
|
35
36
|
})
|
|
36
37
|
};
|
|
37
38
|
async run() {
|
package/dist/commands/status.js
CHANGED
|
@@ -56,7 +56,7 @@ class Status extends BaseCommand {
|
|
|
56
56
|
let steps = [];
|
|
57
57
|
if (!isLoggedIn) steps.push("$ shipthis login --email my.email@address.nowhere");
|
|
58
58
|
if (!isGodotGame) steps.push("Run this command in a Godot project directory");
|
|
59
|
-
if (!isShipThisConfigured) steps.push(
|
|
59
|
+
if (!isShipThisConfigured) steps.push("$ shipthis game wizard --platform ios");
|
|
60
60
|
if (steps.length === 0) steps = ["$ shipthis game status"];
|
|
61
61
|
const statusProps = {
|
|
62
62
|
title: "Status",
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Help } from '@oclif/core';
|
|
2
|
+
|
|
3
|
+
class CustomHelp extends Help {
|
|
4
|
+
formatTopics(topics) {
|
|
5
|
+
const publicTopics = topics.filter((t) => t.name !== "internal");
|
|
6
|
+
return super.formatTopics(publicTopics);
|
|
7
|
+
}
|
|
8
|
+
// formatCommand is protected, so we need to override it to make it public
|
|
9
|
+
exposedFormatCommand(command) {
|
|
10
|
+
return super.formatCommand(command);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { CustomHelp as default };
|
package/docs/README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# CLI Reference
|
|
2
|
+
|
|
3
|
+
# Intro
|
|
4
|
+
|
|
5
|
+
ShipThis is a platform that helps you manage shipping your [Godot](https://godotengine.org/) Games to the app
|
|
6
|
+
stores. Currently it supports the Apple App Store however more platforms being developed.
|
|
7
|
+
|
|
8
|
+
This is all done with an easy to use command line tool called `shipthis`.
|
|
9
|
+
|
|
10
|
+
You can discover **ShipThis in less than 5 minutes** via our [Quick Start Guide](https://shipthis.cc/docs/quickstart).
|
|
11
|
+
|
|
12
|
+
## Topics
|
|
13
|
+
- [apple](apple.md)
|
|
14
|
+
- [game](game.md)
|
|
15
|
+
|
|
16
|
+
## Commands
|
|
17
|
+
- [dashboard](dashboard.md)
|
|
18
|
+
- [login](login.md)
|
|
19
|
+
- [status](status.md)
|
|
20
|
+
- [help](help.md)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# apple apiKey create
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Creates an App Store Connect API Key in your Apple Developer account.
|
|
6
|
+
Saves the private key in your ShipThis account.
|
|
7
|
+
|
|
8
|
+
## Help Output
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
USAGE
|
|
12
|
+
$ shipthis apple apiKey create [-f] [-q]
|
|
13
|
+
|
|
14
|
+
FLAGS
|
|
15
|
+
-f, --force
|
|
16
|
+
-q, --quiet Avoid output except for interactions and errors
|
|
17
|
+
|
|
18
|
+
DESCRIPTION
|
|
19
|
+
Creates an App Store Connect API Key in your Apple Developer account.
|
|
20
|
+
Saves the private key in your ShipThis account.
|
|
21
|
+
|
|
22
|
+
EXAMPLES
|
|
23
|
+
$ shipthis apple apiKey create
|
|
24
|
+
|
|
25
|
+
$ shipthis apple apiKey create --force
|
|
26
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# apple apiKey export
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Saves the current App Store Connect API Key to a ZIP file
|
|
6
|
+
|
|
7
|
+
## Help Output
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
USAGE
|
|
11
|
+
$ shipthis apple apiKey export FILE [-f]
|
|
12
|
+
|
|
13
|
+
ARGUMENTS
|
|
14
|
+
FILE Name of the ZIP file to create
|
|
15
|
+
|
|
16
|
+
FLAGS
|
|
17
|
+
-f, --force Overwrite the file if it already exists
|
|
18
|
+
|
|
19
|
+
DESCRIPTION
|
|
20
|
+
Saves the current App Store Connect API Key to a ZIP file
|
|
21
|
+
|
|
22
|
+
EXAMPLES
|
|
23
|
+
$ shipthis apple apiKey export userApiKey.zip
|
|
24
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# apple apiKey import
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Imports an App Store Connect API Key ZIP file into your ShipThis account
|
|
6
|
+
|
|
7
|
+
## Help Output
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
USAGE
|
|
11
|
+
$ shipthis apple apiKey import FILE [-f]
|
|
12
|
+
|
|
13
|
+
ARGUMENTS
|
|
14
|
+
FILE Name of the ZIP file to import (must be in the same format as the export)
|
|
15
|
+
|
|
16
|
+
FLAGS
|
|
17
|
+
-f, --force
|
|
18
|
+
|
|
19
|
+
DESCRIPTION
|
|
20
|
+
Imports an App Store Connect API Key ZIP file into your ShipThis account
|
|
21
|
+
|
|
22
|
+
EXAMPLES
|
|
23
|
+
$ shipthis apple apiKey import userApiKey.zip
|
|
24
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# apple apiKey status
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Displays the status of App Store Connect API Keys in your Apple and ShipThis accounts.
|
|
6
|
+
This API key is used to automatically publish your games to the App Store.
|
|
7
|
+
|
|
8
|
+
## Help Output
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
USAGE
|
|
12
|
+
$ shipthis apple apiKey status [-f]
|
|
13
|
+
|
|
14
|
+
FLAGS
|
|
15
|
+
-f, --noAppleAuth
|
|
16
|
+
|
|
17
|
+
DESCRIPTION
|
|
18
|
+
Displays the status of App Store Connect API Keys in your Apple and ShipThis accounts.
|
|
19
|
+
This API key is used to automatically publish your games to the App Store.
|
|
20
|
+
|
|
21
|
+
EXAMPLES
|
|
22
|
+
$ shipthis apple apiKey status
|
|
23
|
+
|
|
24
|
+
$ shipthis apple apiKey status --noAppleAuth
|
|
25
|
+
```
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# apple apiKey
|
|
2
|
+
|
|
3
|
+
Commands related to App Store Connect API Keys
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Commands
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### apple apiKey create
|
|
10
|
+
|
|
11
|
+
#### Description
|
|
12
|
+
|
|
13
|
+
Creates an App Store Connect API Key in your Apple Developer account.
|
|
14
|
+
Saves the private key in your ShipThis account.
|
|
15
|
+
|
|
16
|
+
#### Help Output
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
USAGE
|
|
20
|
+
$ shipthis apple apiKey create [-f] [-q]
|
|
21
|
+
|
|
22
|
+
FLAGS
|
|
23
|
+
-f, --force
|
|
24
|
+
-q, --quiet Avoid output except for interactions and errors
|
|
25
|
+
|
|
26
|
+
DESCRIPTION
|
|
27
|
+
Creates an App Store Connect API Key in your Apple Developer account.
|
|
28
|
+
Saves the private key in your ShipThis account.
|
|
29
|
+
|
|
30
|
+
EXAMPLES
|
|
31
|
+
$ shipthis apple apiKey create
|
|
32
|
+
|
|
33
|
+
$ shipthis apple apiKey create --force
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### apple apiKey export
|
|
37
|
+
|
|
38
|
+
#### Description
|
|
39
|
+
|
|
40
|
+
Saves the current App Store Connect API Key to a ZIP file
|
|
41
|
+
|
|
42
|
+
#### Help Output
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
USAGE
|
|
46
|
+
$ shipthis apple apiKey export FILE [-f]
|
|
47
|
+
|
|
48
|
+
ARGUMENTS
|
|
49
|
+
FILE Name of the ZIP file to create
|
|
50
|
+
|
|
51
|
+
FLAGS
|
|
52
|
+
-f, --force Overwrite the file if it already exists
|
|
53
|
+
|
|
54
|
+
DESCRIPTION
|
|
55
|
+
Saves the current App Store Connect API Key to a ZIP file
|
|
56
|
+
|
|
57
|
+
EXAMPLES
|
|
58
|
+
$ shipthis apple apiKey export userApiKey.zip
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### apple apiKey import
|
|
62
|
+
|
|
63
|
+
#### Description
|
|
64
|
+
|
|
65
|
+
Imports an App Store Connect API Key ZIP file into your ShipThis account
|
|
66
|
+
|
|
67
|
+
#### Help Output
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
USAGE
|
|
71
|
+
$ shipthis apple apiKey import FILE [-f]
|
|
72
|
+
|
|
73
|
+
ARGUMENTS
|
|
74
|
+
FILE Name of the ZIP file to import (must be in the same format as the export)
|
|
75
|
+
|
|
76
|
+
FLAGS
|
|
77
|
+
-f, --force
|
|
78
|
+
|
|
79
|
+
DESCRIPTION
|
|
80
|
+
Imports an App Store Connect API Key ZIP file into your ShipThis account
|
|
81
|
+
|
|
82
|
+
EXAMPLES
|
|
83
|
+
$ shipthis apple apiKey import userApiKey.zip
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### apple apiKey status
|
|
87
|
+
|
|
88
|
+
#### Description
|
|
89
|
+
|
|
90
|
+
Displays the status of App Store Connect API Keys in your Apple and ShipThis accounts.
|
|
91
|
+
This API key is used to automatically publish your games to the App Store.
|
|
92
|
+
|
|
93
|
+
#### Help Output
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
USAGE
|
|
97
|
+
$ shipthis apple apiKey status [-f]
|
|
98
|
+
|
|
99
|
+
FLAGS
|
|
100
|
+
-f, --noAppleAuth
|
|
101
|
+
|
|
102
|
+
DESCRIPTION
|
|
103
|
+
Displays the status of App Store Connect API Keys in your Apple and ShipThis accounts.
|
|
104
|
+
This API key is used to automatically publish your games to the App Store.
|
|
105
|
+
|
|
106
|
+
EXAMPLES
|
|
107
|
+
$ shipthis apple apiKey status
|
|
108
|
+
|
|
109
|
+
$ shipthis apple apiKey status --noAppleAuth
|
|
110
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# apple certificate create
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Creates an iOS Distribution Certificate in your Apple Developer account.
|
|
6
|
+
Saves the certificate with the private key to your ShipThis account
|
|
7
|
+
|
|
8
|
+
## Help Output
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
USAGE
|
|
12
|
+
$ shipthis apple certificate create [-f] [-q]
|
|
13
|
+
|
|
14
|
+
FLAGS
|
|
15
|
+
-f, --force
|
|
16
|
+
-q, --quiet Avoid output except for interactions and errors
|
|
17
|
+
|
|
18
|
+
DESCRIPTION
|
|
19
|
+
Creates an iOS Distribution Certificate in your Apple Developer account.
|
|
20
|
+
Saves the certificate with the private key to your ShipThis account
|
|
21
|
+
|
|
22
|
+
EXAMPLES
|
|
23
|
+
$ shipthis apple certificate create
|
|
24
|
+
|
|
25
|
+
$ shipthis apple certificate create --force
|
|
26
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# apple certificate export
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Saves the current Apple Distribution Certificate to a ZIP file.
|
|
6
|
+
|
|
7
|
+
## Help Output
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
USAGE
|
|
11
|
+
$ shipthis apple certificate export FILE [-f]
|
|
12
|
+
|
|
13
|
+
ARGUMENTS
|
|
14
|
+
FILE Name of the ZIP file to create
|
|
15
|
+
|
|
16
|
+
FLAGS
|
|
17
|
+
-f, --force Overwrite the file if it already exists
|
|
18
|
+
|
|
19
|
+
DESCRIPTION
|
|
20
|
+
Saves the current Apple Distribution Certificate to a ZIP file.
|
|
21
|
+
|
|
22
|
+
EXAMPLES
|
|
23
|
+
$ shipthis apple certificate export userCert.zip
|
|
24
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# apple certificate import
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Imports an iOS Distribution Certificate to your ShipThis account
|
|
6
|
+
|
|
7
|
+
## Help Output
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
USAGE
|
|
11
|
+
$ shipthis apple certificate import FILE [-f]
|
|
12
|
+
|
|
13
|
+
ARGUMENTS
|
|
14
|
+
FILE Name of the ZIP file to import (must be in the same format as the export)
|
|
15
|
+
|
|
16
|
+
FLAGS
|
|
17
|
+
-f, --force
|
|
18
|
+
|
|
19
|
+
DESCRIPTION
|
|
20
|
+
Imports an iOS Distribution Certificate to your ShipThis account
|
|
21
|
+
|
|
22
|
+
EXAMPLES
|
|
23
|
+
$ shipthis apple certificate import userCert.zip
|
|
24
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# apple certificate status
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Displays the status of the iOS Distribution certificates in your Apple and ShipThis accounts.
|
|
6
|
+
These are used to sign all of your iOS apps.
|
|
7
|
+
|
|
8
|
+
## Help Output
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
USAGE
|
|
12
|
+
$ shipthis apple certificate status [-f]
|
|
13
|
+
|
|
14
|
+
FLAGS
|
|
15
|
+
-f, --noAppleAuth
|
|
16
|
+
|
|
17
|
+
DESCRIPTION
|
|
18
|
+
Displays the status of the iOS Distribution certificates in your Apple and ShipThis accounts.
|
|
19
|
+
These are used to sign all of your iOS apps.
|
|
20
|
+
|
|
21
|
+
EXAMPLES
|
|
22
|
+
$ shipthis apple certificate status
|
|
23
|
+
|
|
24
|
+
$ shipthis apple certificate status --noAppleAuth
|
|
25
|
+
```
|