fastlane 2.159.0 → 2.160.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +78 -78
- data/deliver/lib/deliver/options.rb +17 -1
- data/deliver/lib/deliver/runner.rb +36 -8
- data/deliver/lib/deliver/upload_metadata.rb +31 -5
- data/deliver/lib/deliver/upload_price_tier.rb +7 -2
- data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +1 -0
- data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +1 -0
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +30 -6
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +10 -2
- data/fastlane/swift/Fastlane.swift +53 -20
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +1 -1
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +1 -1
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +9 -1
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +1 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
- data/frameit/lib/frameit/editor.rb +1 -0
- data/pilot/lib/pilot/options.rb +2 -2
- data/precheck/lib/precheck/options.rb +16 -0
- data/precheck/lib/precheck/runner.rb +20 -1
- data/spaceship/lib/spaceship/connect_api/models/app.rb +17 -9
- data/spaceship/lib/spaceship/connect_api/models/app_info.rb +1 -0
- data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +2 -2
- data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +3 -5
- data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +3 -5
- data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +11 -6
- metadata +16 -18
- data/spaceship/lib/spaceship/connect_api/models/.app.rb.swp +0 -0
- data/spaceship/lib/spaceship/connect_api/models/.app_store_version.rb.swp +0 -0
@@ -2,6 +2,12 @@
|
|
2
2
|
// Copyright (c) 2020 FastlaneTools
|
3
3
|
|
4
4
|
public protocol DeliverfileProtocol: class {
|
5
|
+
/// Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
|
6
|
+
var apiKeyPath: String? { get }
|
7
|
+
|
8
|
+
/// Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
|
9
|
+
var apiKey: [String: Any]? { get }
|
10
|
+
|
5
11
|
/// Your Apple ID Username
|
6
12
|
var username: String { get }
|
7
13
|
|
@@ -44,7 +50,7 @@ public protocol DeliverfileProtocol: class {
|
|
44
50
|
/// Don't upload the metadata (e.g. title, description). This will still upload screenshots
|
45
51
|
var skipMetadata: Bool { get }
|
46
52
|
|
47
|
-
/// Don
|
53
|
+
/// Don’t create or update the app version that is being prepared for submission
|
48
54
|
var skipAppVersionUpdate: Bool { get }
|
49
55
|
|
50
56
|
/// Skip the HTML report file verification
|
@@ -184,6 +190,8 @@ public protocol DeliverfileProtocol: class {
|
|
184
190
|
}
|
185
191
|
|
186
192
|
public extension DeliverfileProtocol {
|
193
|
+
var apiKeyPath: String? { return nil }
|
194
|
+
var apiKey: [String: Any]? { return nil }
|
187
195
|
var username: String { return "" }
|
188
196
|
var appIdentifier: String? { return nil }
|
189
197
|
var appVersion: String? { return nil }
|
@@ -248,4 +256,4 @@ public extension DeliverfileProtocol {
|
|
248
256
|
|
249
257
|
// Please don't remove the lines below
|
250
258
|
// They are used to detect outdated files
|
251
|
-
// FastlaneRunnerAPIVersion [0.9.
|
259
|
+
// FastlaneRunnerAPIVersion [0.9.43]
|
@@ -462,6 +462,8 @@ public func appledoc(input: Any,
|
|
462
462
|
Alias for the `upload_to_app_store` action
|
463
463
|
|
464
464
|
- parameters:
|
465
|
+
- apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
|
466
|
+
- apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
|
465
467
|
- username: Your Apple ID Username
|
466
468
|
- appIdentifier: The bundle identifier of your app
|
467
469
|
- appVersion: The version that should be edited or created
|
@@ -476,7 +478,7 @@ public func appledoc(input: Any,
|
|
476
478
|
- skipBinaryUpload: Skip uploading an ipa or pkg to App Store Connect
|
477
479
|
- skipScreenshots: Don't upload the screenshots
|
478
480
|
- skipMetadata: Don't upload the metadata (e.g. title, description). This will still upload screenshots
|
479
|
-
- skipAppVersionUpdate: Don
|
481
|
+
- skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
|
480
482
|
- force: Skip the HTML report file verification
|
481
483
|
- overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
|
482
484
|
- submitForReview: Submit the new version for Review after uploading everything
|
@@ -530,7 +532,9 @@ public func appledoc(input: Any,
|
|
530
532
|
`_upload_to_app_store_(force: true)`
|
531
533
|
If your account is on multiple teams and you need to tell the `iTMSTransporter` which 'provider' to use, you can set the `:itc_provider` option to pass this info.
|
532
534
|
*/
|
533
|
-
public func appstore(
|
535
|
+
public func appstore(apiKeyPath: String? = nil,
|
536
|
+
apiKey: [String: Any]? = nil,
|
537
|
+
username: String,
|
534
538
|
appIdentifier: String? = nil,
|
535
539
|
appVersion: String? = nil,
|
536
540
|
ipa: String? = nil,
|
@@ -591,7 +595,9 @@ public func appstore(username: String,
|
|
591
595
|
precheckIncludeInAppPurchases: Bool = true,
|
592
596
|
app: Any)
|
593
597
|
{
|
594
|
-
let command = RubyCommand(commandID: "", methodName: "appstore", className: nil, args: [RubyCommand.Argument(name: "
|
598
|
+
let command = RubyCommand(commandID: "", methodName: "appstore", className: nil, args: [RubyCommand.Argument(name: "api_key_path", value: apiKeyPath),
|
599
|
+
RubyCommand.Argument(name: "api_key", value: apiKey),
|
600
|
+
RubyCommand.Argument(name: "username", value: username),
|
595
601
|
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
596
602
|
RubyCommand.Argument(name: "app_version", value: appVersion),
|
597
603
|
RubyCommand.Argument(name: "ipa", value: ipa),
|
@@ -1951,6 +1957,8 @@ public func chatwork(apiToken: String,
|
|
1951
1957
|
Check your app's metadata before you submit your app to review (via _precheck_)
|
1952
1958
|
|
1953
1959
|
- parameters:
|
1960
|
+
- apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
|
1961
|
+
- apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
|
1954
1962
|
- appIdentifier: The bundle identifier of your app
|
1955
1963
|
- username: Your Apple ID Username
|
1956
1964
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
@@ -1973,7 +1981,9 @@ public func chatwork(apiToken: String,
|
|
1973
1981
|
|
1974
1982
|
More information: https://fastlane.tools/precheck
|
1975
1983
|
*/
|
1976
|
-
public func checkAppStoreMetadata(
|
1984
|
+
public func checkAppStoreMetadata(apiKeyPath: String? = nil,
|
1985
|
+
apiKey: [String: Any]? = nil,
|
1986
|
+
appIdentifier: String,
|
1977
1987
|
username: String,
|
1978
1988
|
teamId: String? = nil,
|
1979
1989
|
teamName: String? = nil,
|
@@ -1991,7 +2001,9 @@ public func checkAppStoreMetadata(appIdentifier: String,
|
|
1991
2001
|
copyrightDate: Any? = nil,
|
1992
2002
|
unreachableUrls: Any? = nil)
|
1993
2003
|
{
|
1994
|
-
let command = RubyCommand(commandID: "", methodName: "check_app_store_metadata", className: nil, args: [RubyCommand.Argument(name: "
|
2004
|
+
let command = RubyCommand(commandID: "", methodName: "check_app_store_metadata", className: nil, args: [RubyCommand.Argument(name: "api_key_path", value: apiKeyPath),
|
2005
|
+
RubyCommand.Argument(name: "api_key", value: apiKey),
|
2006
|
+
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
1995
2007
|
RubyCommand.Argument(name: "username", value: username),
|
1996
2008
|
RubyCommand.Argument(name: "team_id", value: teamId),
|
1997
2009
|
RubyCommand.Argument(name: "team_name", value: teamName),
|
@@ -2562,6 +2574,8 @@ public func deleteKeychain(name: String? = nil,
|
|
2562
2574
|
Alias for the `upload_to_app_store` action
|
2563
2575
|
|
2564
2576
|
- parameters:
|
2577
|
+
- apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
|
2578
|
+
- apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
|
2565
2579
|
- username: Your Apple ID Username
|
2566
2580
|
- appIdentifier: The bundle identifier of your app
|
2567
2581
|
- appVersion: The version that should be edited or created
|
@@ -2576,7 +2590,7 @@ public func deleteKeychain(name: String? = nil,
|
|
2576
2590
|
- skipBinaryUpload: Skip uploading an ipa or pkg to App Store Connect
|
2577
2591
|
- skipScreenshots: Don't upload the screenshots
|
2578
2592
|
- skipMetadata: Don't upload the metadata (e.g. title, description). This will still upload screenshots
|
2579
|
-
- skipAppVersionUpdate: Don
|
2593
|
+
- skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
|
2580
2594
|
- force: Skip the HTML report file verification
|
2581
2595
|
- overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
|
2582
2596
|
- submitForReview: Submit the new version for Review after uploading everything
|
@@ -2630,7 +2644,9 @@ public func deleteKeychain(name: String? = nil,
|
|
2630
2644
|
`_upload_to_app_store_(force: true)`
|
2631
2645
|
If your account is on multiple teams and you need to tell the `iTMSTransporter` which 'provider' to use, you can set the `:itc_provider` option to pass this info.
|
2632
2646
|
*/
|
2633
|
-
public func deliver(
|
2647
|
+
public func deliver(apiKeyPath: Any? = deliverfile.apiKeyPath,
|
2648
|
+
apiKey: [String: Any]? = deliverfile.apiKey,
|
2649
|
+
username: Any = deliverfile.username,
|
2634
2650
|
appIdentifier: Any? = deliverfile.appIdentifier,
|
2635
2651
|
appVersion: Any? = deliverfile.appVersion,
|
2636
2652
|
ipa: Any? = deliverfile.ipa,
|
@@ -2691,7 +2707,9 @@ public func deliver(username: Any = deliverfile.username,
|
|
2691
2707
|
precheckIncludeInAppPurchases: Bool = deliverfile.precheckIncludeInAppPurchases,
|
2692
2708
|
app: Any = deliverfile.app)
|
2693
2709
|
{
|
2694
|
-
let command = RubyCommand(commandID: "", methodName: "deliver", className: nil, args: [RubyCommand.Argument(name: "
|
2710
|
+
let command = RubyCommand(commandID: "", methodName: "deliver", className: nil, args: [RubyCommand.Argument(name: "api_key_path", value: apiKeyPath),
|
2711
|
+
RubyCommand.Argument(name: "api_key", value: apiKey),
|
2712
|
+
RubyCommand.Argument(name: "username", value: username),
|
2695
2713
|
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
2696
2714
|
RubyCommand.Argument(name: "app_version", value: appVersion),
|
2697
2715
|
RubyCommand.Argument(name: "ipa", value: ipa),
|
@@ -2831,6 +2849,7 @@ public func download(url: String) {
|
|
2831
2849
|
- version: The app version for dSYMs you wish to download, pass in 'latest' to download only the latest build's dSYMs or 'live' to download only the live version dSYMs
|
2832
2850
|
- buildNumber: The app build_number for dSYMs you wish to download
|
2833
2851
|
- minVersion: The minimum app version for dSYMs you wish to download
|
2852
|
+
- afterUploadedDate: The uploaded date after which you wish to download dSYMs
|
2834
2853
|
- outputDirectory: Where to save the download dSYMs, defaults to the current path
|
2835
2854
|
- waitForDsymProcessing: Wait for dSYMs to process
|
2836
2855
|
- waitTimeout: Number of seconds to wait for dSYMs to process
|
@@ -2854,6 +2873,7 @@ public func downloadDsyms(username: String,
|
|
2854
2873
|
version: String? = nil,
|
2855
2874
|
buildNumber: Any? = nil,
|
2856
2875
|
minVersion: String? = nil,
|
2876
|
+
afterUploadedDate: String? = nil,
|
2857
2877
|
outputDirectory: String? = nil,
|
2858
2878
|
waitForDsymProcessing: Bool = false,
|
2859
2879
|
waitTimeout: Int = 300)
|
@@ -2866,6 +2886,7 @@ public func downloadDsyms(username: String,
|
|
2866
2886
|
RubyCommand.Argument(name: "version", value: version),
|
2867
2887
|
RubyCommand.Argument(name: "build_number", value: buildNumber),
|
2868
2888
|
RubyCommand.Argument(name: "min_version", value: minVersion),
|
2889
|
+
RubyCommand.Argument(name: "after_uploaded_date", value: afterUploadedDate),
|
2869
2890
|
RubyCommand.Argument(name: "output_directory", value: outputDirectory),
|
2870
2891
|
RubyCommand.Argument(name: "wait_for_dsym_processing", value: waitForDsymProcessing),
|
2871
2892
|
RubyCommand.Argument(name: "wait_timeout", value: waitTimeout)])
|
@@ -5184,8 +5205,8 @@ public func pem(development: Bool = false,
|
|
5184
5205
|
Alias for the `upload_to_testflight` action
|
5185
5206
|
|
5186
5207
|
- parameters:
|
5187
|
-
- apiKeyPath: Path to your App Store Connect API
|
5188
|
-
- apiKey:
|
5208
|
+
- apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
|
5209
|
+
- apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
|
5189
5210
|
- username: Your Apple ID Username
|
5190
5211
|
- appIdentifier: The bundle identifier of the app to upload or manage testers (optional)
|
5191
5212
|
- appPlatform: The platform to use (optional)
|
@@ -5472,6 +5493,8 @@ public func podioItem(clientId: String,
|
|
5472
5493
|
Alias for the `check_app_store_metadata` action
|
5473
5494
|
|
5474
5495
|
- parameters:
|
5496
|
+
- apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
|
5497
|
+
- apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
|
5475
5498
|
- appIdentifier: The bundle identifier of your app
|
5476
5499
|
- username: Your Apple ID Username
|
5477
5500
|
- teamId: The ID of your App Store Connect team if you're in multiple teams
|
@@ -5485,7 +5508,9 @@ public func podioItem(clientId: String,
|
|
5485
5508
|
|
5486
5509
|
More information: https://fastlane.tools/precheck
|
5487
5510
|
*/
|
5488
|
-
public func precheck(
|
5511
|
+
public func precheck(apiKeyPath: Any? = precheckfile.apiKeyPath,
|
5512
|
+
apiKey: [String: Any]? = precheckfile.apiKey,
|
5513
|
+
appIdentifier: Any = precheckfile.appIdentifier,
|
5489
5514
|
username: Any = precheckfile.username,
|
5490
5515
|
teamId: Any? = precheckfile.teamId,
|
5491
5516
|
teamName: Any? = precheckfile.teamName,
|
@@ -5494,7 +5519,9 @@ public func precheck(appIdentifier: Any = precheckfile.appIdentifier,
|
|
5494
5519
|
includeInAppPurchases: Bool = precheckfile.includeInAppPurchases,
|
5495
5520
|
freeStuffInIap: Any? = precheckfile.freeStuffInIap)
|
5496
5521
|
{
|
5497
|
-
let command = RubyCommand(commandID: "", methodName: "precheck", className: nil, args: [RubyCommand.Argument(name: "
|
5522
|
+
let command = RubyCommand(commandID: "", methodName: "precheck", className: nil, args: [RubyCommand.Argument(name: "api_key_path", value: apiKeyPath),
|
5523
|
+
RubyCommand.Argument(name: "api_key", value: apiKey),
|
5524
|
+
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
5498
5525
|
RubyCommand.Argument(name: "username", value: username),
|
5499
5526
|
RubyCommand.Argument(name: "team_id", value: teamId),
|
5500
5527
|
RubyCommand.Argument(name: "team_name", value: teamName),
|
@@ -7762,8 +7789,8 @@ public func testfairy(apiKey: String,
|
|
7762
7789
|
Alias for the `upload_to_testflight` action
|
7763
7790
|
|
7764
7791
|
- parameters:
|
7765
|
-
- apiKeyPath: Path to your App Store Connect API
|
7766
|
-
- apiKey:
|
7792
|
+
- apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
|
7793
|
+
- apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
|
7767
7794
|
- username: Your Apple ID Username
|
7768
7795
|
- appIdentifier: The bundle identifier of the app to upload or manage testers (optional)
|
7769
7796
|
- appPlatform: The platform to use (optional)
|
@@ -8356,6 +8383,8 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
|
|
8356
8383
|
Upload metadata and binary to App Store Connect (via _deliver_)
|
8357
8384
|
|
8358
8385
|
- parameters:
|
8386
|
+
- apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
|
8387
|
+
- apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
|
8359
8388
|
- username: Your Apple ID Username
|
8360
8389
|
- appIdentifier: The bundle identifier of your app
|
8361
8390
|
- appVersion: The version that should be edited or created
|
@@ -8370,7 +8399,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
|
|
8370
8399
|
- skipBinaryUpload: Skip uploading an ipa or pkg to App Store Connect
|
8371
8400
|
- skipScreenshots: Don't upload the screenshots
|
8372
8401
|
- skipMetadata: Don't upload the metadata (e.g. title, description). This will still upload screenshots
|
8373
|
-
- skipAppVersionUpdate: Don
|
8402
|
+
- skipAppVersionUpdate: Don’t create or update the app version that is being prepared for submission
|
8374
8403
|
- force: Skip the HTML report file verification
|
8375
8404
|
- overwriteScreenshots: Clear all previously uploaded screenshots before uploading the new ones
|
8376
8405
|
- submitForReview: Submit the new version for Review after uploading everything
|
@@ -8424,7 +8453,9 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
|
|
8424
8453
|
`_upload_to_app_store_(force: true)`
|
8425
8454
|
If your account is on multiple teams and you need to tell the `iTMSTransporter` which 'provider' to use, you can set the `:itc_provider` option to pass this info.
|
8426
8455
|
*/
|
8427
|
-
public func uploadToAppStore(
|
8456
|
+
public func uploadToAppStore(apiKeyPath: String? = nil,
|
8457
|
+
apiKey: [String: Any]? = nil,
|
8458
|
+
username: String,
|
8428
8459
|
appIdentifier: String? = nil,
|
8429
8460
|
appVersion: String? = nil,
|
8430
8461
|
ipa: String? = nil,
|
@@ -8485,7 +8516,9 @@ public func uploadToAppStore(username: String,
|
|
8485
8516
|
precheckIncludeInAppPurchases: Bool = true,
|
8486
8517
|
app: Any)
|
8487
8518
|
{
|
8488
|
-
let command = RubyCommand(commandID: "", methodName: "upload_to_app_store", className: nil, args: [RubyCommand.Argument(name: "
|
8519
|
+
let command = RubyCommand(commandID: "", methodName: "upload_to_app_store", className: nil, args: [RubyCommand.Argument(name: "api_key_path", value: apiKeyPath),
|
8520
|
+
RubyCommand.Argument(name: "api_key", value: apiKey),
|
8521
|
+
RubyCommand.Argument(name: "username", value: username),
|
8489
8522
|
RubyCommand.Argument(name: "app_identifier", value: appIdentifier),
|
8490
8523
|
RubyCommand.Argument(name: "app_version", value: appVersion),
|
8491
8524
|
RubyCommand.Argument(name: "ipa", value: ipa),
|
@@ -8711,8 +8744,8 @@ public func uploadToPlayStoreInternalAppSharing(packageName: String,
|
|
8711
8744
|
Upload new binary to App Store Connect for TestFlight beta testing (via _pilot_)
|
8712
8745
|
|
8713
8746
|
- parameters:
|
8714
|
-
- apiKeyPath: Path to your App Store Connect API
|
8715
|
-
- apiKey:
|
8747
|
+
- apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
|
8748
|
+
- apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
|
8716
8749
|
- username: Your Apple ID Username
|
8717
8750
|
- appIdentifier: The bundle identifier of the app to upload or manage testers (optional)
|
8718
8751
|
- appPlatform: The platform to use (optional)
|
@@ -9273,4 +9306,4 @@ public let snapshotfile = Snapshotfile()
|
|
9273
9306
|
|
9274
9307
|
// Please don't remove the lines below
|
9275
9308
|
// They are used to detect outdated files
|
9276
|
-
// FastlaneRunnerAPIVersion [0.9.
|
9309
|
+
// FastlaneRunnerAPIVersion [0.9.96]
|
@@ -2,6 +2,12 @@
|
|
2
2
|
// Copyright (c) 2020 FastlaneTools
|
3
3
|
|
4
4
|
public protocol PrecheckfileProtocol: class {
|
5
|
+
/// Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)
|
6
|
+
var apiKeyPath: String? { get }
|
7
|
+
|
8
|
+
/// Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)
|
9
|
+
var apiKey: [String: Any]? { get }
|
10
|
+
|
5
11
|
/// The bundle identifier of your app
|
6
12
|
var appIdentifier: String { get }
|
7
13
|
|
@@ -28,6 +34,8 @@ public protocol PrecheckfileProtocol: class {
|
|
28
34
|
}
|
29
35
|
|
30
36
|
public extension PrecheckfileProtocol {
|
37
|
+
var apiKeyPath: String? { return nil }
|
38
|
+
var apiKey: [String: Any]? { return nil }
|
31
39
|
var appIdentifier: String { return "" }
|
32
40
|
var username: String { return "" }
|
33
41
|
var teamId: String? { return nil }
|
@@ -40,4 +48,4 @@ public extension PrecheckfileProtocol {
|
|
40
48
|
|
41
49
|
// Please don't remove the lines below
|
42
50
|
// They are used to detect outdated files
|
43
|
-
// FastlaneRunnerAPIVersion [0.9.
|
51
|
+
// FastlaneRunnerAPIVersion [0.9.39]
|
@@ -429,6 +429,7 @@ module Frameit
|
|
429
429
|
# Add the actual title
|
430
430
|
text_image.combine_options do |i|
|
431
431
|
i.font(current_font) if current_font
|
432
|
+
i.weight(@config[key.to_s]['font_weight']) if @config[key.to_s]['font_weight']
|
432
433
|
i.gravity("Center")
|
433
434
|
i.pointsize(actual_font_size(key))
|
434
435
|
i.draw("text 0,0 '#{text}'")
|
data/pilot/lib/pilot/options.rb
CHANGED
@@ -12,7 +12,7 @@ module Pilot
|
|
12
12
|
[
|
13
13
|
FastlaneCore::ConfigItem.new(key: :api_key_path,
|
14
14
|
env_name: "PILOT_API_KEY_PATH",
|
15
|
-
description: "Path to your App Store Connect API
|
15
|
+
description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
|
16
16
|
optional: true,
|
17
17
|
conflicting_options: [:username],
|
18
18
|
verify_block: proc do |value|
|
@@ -20,7 +20,7 @@ module Pilot
|
|
20
20
|
end),
|
21
21
|
FastlaneCore::ConfigItem.new(key: :api_key,
|
22
22
|
env_name: "PILOT_API_KEY",
|
23
|
-
description: "
|
23
|
+
description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
|
24
24
|
type: Hash,
|
25
25
|
optional: true,
|
26
26
|
sensitive: true,
|
@@ -25,6 +25,22 @@ module Precheck
|
|
25
25
|
user ||= CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)
|
26
26
|
|
27
27
|
[
|
28
|
+
FastlaneCore::ConfigItem.new(key: :api_key_path,
|
29
|
+
env_name: "PRECHECK_API_KEY_PATH",
|
30
|
+
description: "Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file)",
|
31
|
+
optional: true,
|
32
|
+
conflicting_options: [:username],
|
33
|
+
verify_block: proc do |value|
|
34
|
+
UI.user_error!("Couldn't find API key JSON file at path '#{value}'") unless File.exist?(value)
|
35
|
+
end),
|
36
|
+
FastlaneCore::ConfigItem.new(key: :api_key,
|
37
|
+
env_name: "PRECHECK_API_KEY",
|
38
|
+
description: "Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option)",
|
39
|
+
type: Hash,
|
40
|
+
optional: true,
|
41
|
+
sensitive: true,
|
42
|
+
conflicting_options: [:api_key_path, :username]),
|
43
|
+
|
28
44
|
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
29
45
|
short_option: "-a",
|
30
46
|
env_name: "PRECHECK_APP_IDENTIFIER",
|
@@ -18,7 +18,20 @@ module Precheck
|
|
18
18
|
hide_keys: [:output_path],
|
19
19
|
title: "Summary for precheck #{Fastlane::VERSION}")
|
20
20
|
|
21
|
-
|
21
|
+
if api_token
|
22
|
+
|
23
|
+
# As of 2020-09-15, App Store Connect API does not have support for IAPs yet
|
24
|
+
# This means that API Key will fail if checking for IAPs.
|
25
|
+
#
|
26
|
+
# There is also a check in Deliver::Runner for this.
|
27
|
+
# Please remove check in Deliver when the API support IAPs.
|
28
|
+
if Precheck.config[:include_in_app_purchases]
|
29
|
+
UI.user_error!("Precheck cannot check In-app purchases with the App Store Connect API Key (yet). Exclude In-app purchases from precheck or use Apple ID login")
|
30
|
+
end
|
31
|
+
|
32
|
+
UI.message("Creating authorization token for App Store Connect API")
|
33
|
+
Spaceship::ConnectAPI.token = api_token
|
34
|
+
elsif Spaceship::Tunes.client.nil?
|
22
35
|
# Team selection passed though FASTLANE_ITC_TEAM_ID and FASTLANE_ITC_TEAM_NAME environment variables
|
23
36
|
# Prompts select team if multiple teams and none specified
|
24
37
|
UI.message("Starting login with user '#{Precheck.config[:username]}'")
|
@@ -58,6 +71,12 @@ module Precheck
|
|
58
71
|
return true
|
59
72
|
end
|
60
73
|
|
74
|
+
def api_token
|
75
|
+
@api_token ||= Spaceship::ConnectAPI::Token.create(Precheck.config[:api_key]) if Precheck.config[:api_key]
|
76
|
+
@api_token ||= Spaceship::ConnectAPI::Token.from_json_file(Precheck.config[:api_key_path]) if Precheck.config[:api_key_path]
|
77
|
+
return @api_token
|
78
|
+
end
|
79
|
+
|
61
80
|
def print_items_not_checked(processor_result: nil)
|
62
81
|
names = processor_result.items_not_checked.map(&:friendly_name)
|
63
82
|
UI.message("😶 Metadata fields not checked by any rule: #{names.join(', ')}".yellow) if names.length > 0
|