fastlane 2.232.2 → 2.233.0

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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +98 -98
  3. data/credentials_manager/lib/credentials_manager/appfile_config.rb +4 -0
  4. data/deliver/lib/deliver/detect_values.rb +2 -0
  5. data/deliver/lib/deliver/options.rb +23 -0
  6. data/deliver/lib/deliver/runner.rb +17 -12
  7. data/deliver/lib/deliver/sync_app_previews.rb +204 -0
  8. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +5 -1
  9. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +20 -4
  10. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +3 -0
  11. data/fastlane/lib/fastlane/actions/resign.rb +13 -2
  12. data/fastlane/lib/fastlane/actions/swiftlint.rb +8 -1
  13. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +1 -1
  14. data/fastlane/lib/fastlane/helper/s3_client_helper.rb +5 -2
  15. data/fastlane/lib/fastlane/version.rb +1 -1
  16. data/fastlane/swift/Deliverfile.swift +1 -1
  17. data/fastlane/swift/DeliverfileProtocol.swift +29 -1
  18. data/fastlane/swift/Fastlane.swift +105 -9
  19. data/fastlane/swift/Gymfile.swift +1 -1
  20. data/fastlane/swift/GymfileProtocol.swift +8 -1
  21. data/fastlane/swift/Matchfile.swift +1 -1
  22. data/fastlane/swift/MatchfileProtocol.swift +8 -1
  23. data/fastlane/swift/Precheckfile.swift +1 -1
  24. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  25. data/fastlane/swift/Scanfile.swift +1 -1
  26. data/fastlane/swift/ScanfileProtocol.swift +1 -1
  27. data/fastlane/swift/Screengrabfile.swift +1 -1
  28. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  29. data/fastlane/swift/Snapshotfile.swift +1 -1
  30. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  31. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +48 -17
  32. data/fastlane_core/lib/fastlane_core/video_utils.rb +202 -0
  33. data/frameit/lib/frameit/device_types.rb +2 -2
  34. data/gym/lib/gym/generators/build_command_generator.rb +2 -1
  35. data/gym/lib/gym/options.rb +5 -0
  36. data/match/lib/match/generator.rb +3 -1
  37. data/match/lib/match/options.rb +5 -0
  38. data/match/lib/match/runner.rb +12 -7
  39. data/match/lib/match/storage/s3_storage.rb +4 -1
  40. data/match/lib/match/storage.rb +1 -0
  41. data/pilot/lib/pilot/build_manager.rb +4 -12
  42. data/pilot/lib/pilot/options.rb +4 -0
  43. data/precheck/lib/precheck/rules/rules_data/curse_word_hashes/README.md +54 -0
  44. data/precheck/lib/precheck/rules/rules_data/curse_word_hashes/en_us.txt +2 -1
  45. data/scan/lib/scan/detect_values.rb +11 -3
  46. data/sigh/lib/assets/resign.sh +17 -5
  47. data/sigh/lib/sigh/commands_generator.rb +1 -0
  48. data/sigh/lib/sigh/manager.rb +6 -6
  49. data/sigh/lib/sigh/resign.rb +9 -6
  50. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +54 -17
  51. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +1 -2
  52. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +2 -2
  53. data/trainer/lib/trainer/legacy_xcresult.rb +27 -20
  54. data/trainer/lib/trainer/xcresult/test_suite.rb +4 -1
  55. metadata +25 -22
@@ -190,7 +190,7 @@ public func appStoreBuildNumber(apiKeyPath: OptionalConfigValue<String?> = .fast
190
190
 
191
191
  - parameters:
192
192
  - keyId: The key ID
193
- - issuerId: The issuer ID. It can be nil if the key is individual API key
193
+ - issuerId: The issuer ID. It should be nil if the key is individual API key
194
194
  - keyFilepath: The path to the key p8 file
195
195
  - keyContent: The content of the key p8 file
196
196
  - isKeyContentBase64: Whether :key_content is Base64 encoded or not
@@ -656,6 +656,9 @@ public func appledoc(input: [String],
656
656
  - useLiveVersion: Force usage of live version rather than edit version
657
657
  - metadataPath: Path to the folder containing the metadata files
658
658
  - screenshotsPath: Path to the folder containing the screenshots
659
+ - appPreviewsPath: Path to the folder containing localized App Preview videos
660
+ - previewFrameTimeCode: Time code for the App Preview still frame written as hour:minute:second:centisecond (e.g. 00:00:00:01)
661
+ - overwritePreviewVideos: Clear all previously uploaded App Preview videos before uploading the new ones
659
662
  - skipBinaryUpload: Skip uploading an ipa or pkg to App Store Connect
660
663
  - skipScreenshots: Don't upload the screenshots
661
664
  - skipMetadata: Don't upload the metadata (e.g. title, description). This will still upload screenshots
@@ -680,6 +683,7 @@ public func appledoc(input: [String],
680
683
  - devPortalTeamId: The short ID of your Developer Portal team, if you're in multiple teams. Different from your iTC team ID!
681
684
  - devPortalTeamName: The name of your Developer Portal team if you're in multiple teams
682
685
  - itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `pathToXcode.app/Contents/Applications/Application\ Loader.app/Contents/itms/bin/iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
686
+ - providerPublicId: The provider public ID to be used with altool (--provider-public-id). This value will override the automatically detected provider value for altool uploads. Required after Xcode 26 when your account is associated with multiple providers and using username/app-password authentication
683
687
  - runPrecheckBeforeSubmit: Run precheck before submitting to app review
684
688
  - precheckDefaultRuleLevel: The default precheck rule level unless otherwise configured
685
689
  - individualMetadataItems: **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow
@@ -715,7 +719,7 @@ public func appledoc(input: [String],
715
719
  If you don't want to verify an HTML preview for App Store builds, use the `:force` option.
716
720
  This is useful when running _fastlane_ on your Continuous Integration server:
717
721
  `_upload_to_app_store_(force: true)`
718
- 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.
722
+ If your account is on multiple teams and you need to tell the transporter which provider to use, you can set `:itc_provider` or `:provider_public_id`.
719
723
  */
720
724
  public func appstore(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
721
725
  apiKey: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
@@ -730,6 +734,9 @@ public func appstore(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault
730
734
  useLiveVersion: OptionalConfigValue<Bool> = .fastlaneDefault(false),
731
735
  metadataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
732
736
  screenshotsPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
737
+ appPreviewsPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
738
+ previewFrameTimeCode: String = "00:00:05:00",
739
+ overwritePreviewVideos: OptionalConfigValue<Bool> = .fastlaneDefault(false),
733
740
  skipBinaryUpload: OptionalConfigValue<Bool> = .fastlaneDefault(false),
734
741
  skipScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
735
742
  skipMetadata: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -754,6 +761,7 @@ public func appstore(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault
754
761
  devPortalTeamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
755
762
  devPortalTeamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
756
763
  itcProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
764
+ providerPublicId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
757
765
  runPrecheckBeforeSubmit: OptionalConfigValue<Bool> = .fastlaneDefault(true),
758
766
  precheckDefaultRuleLevel: String = "warn",
759
767
  individualMetadataItems: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
@@ -797,6 +805,9 @@ public func appstore(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault
797
805
  let useLiveVersionArg = useLiveVersion.asRubyArgument(name: "use_live_version", type: nil)
798
806
  let metadataPathArg = metadataPath.asRubyArgument(name: "metadata_path", type: nil)
799
807
  let screenshotsPathArg = screenshotsPath.asRubyArgument(name: "screenshots_path", type: nil)
808
+ let appPreviewsPathArg = appPreviewsPath.asRubyArgument(name: "app_previews_path", type: nil)
809
+ let previewFrameTimeCodeArg = RubyCommand.Argument(name: "preview_frame_time_code", value: previewFrameTimeCode, type: nil)
810
+ let overwritePreviewVideosArg = overwritePreviewVideos.asRubyArgument(name: "overwrite_preview_videos", type: nil)
800
811
  let skipBinaryUploadArg = skipBinaryUpload.asRubyArgument(name: "skip_binary_upload", type: nil)
801
812
  let skipScreenshotsArg = skipScreenshots.asRubyArgument(name: "skip_screenshots", type: nil)
802
813
  let skipMetadataArg = skipMetadata.asRubyArgument(name: "skip_metadata", type: nil)
@@ -821,6 +832,7 @@ public func appstore(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault
821
832
  let devPortalTeamIdArg = devPortalTeamId.asRubyArgument(name: "dev_portal_team_id", type: nil)
822
833
  let devPortalTeamNameArg = devPortalTeamName.asRubyArgument(name: "dev_portal_team_name", type: nil)
823
834
  let itcProviderArg = itcProvider.asRubyArgument(name: "itc_provider", type: nil)
835
+ let providerPublicIdArg = providerPublicId.asRubyArgument(name: "provider_public_id", type: nil)
824
836
  let runPrecheckBeforeSubmitArg = runPrecheckBeforeSubmit.asRubyArgument(name: "run_precheck_before_submit", type: nil)
825
837
  let precheckDefaultRuleLevelArg = RubyCommand.Argument(name: "precheck_default_rule_level", value: precheckDefaultRuleLevel, type: nil)
826
838
  let individualMetadataItemsArg = individualMetadataItems.asRubyArgument(name: "individual_metadata_items", type: nil)
@@ -863,6 +875,9 @@ public func appstore(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault
863
875
  useLiveVersionArg,
864
876
  metadataPathArg,
865
877
  screenshotsPathArg,
878
+ appPreviewsPathArg,
879
+ previewFrameTimeCodeArg,
880
+ overwritePreviewVideosArg,
866
881
  skipBinaryUploadArg,
867
882
  skipScreenshotsArg,
868
883
  skipMetadataArg,
@@ -887,6 +902,7 @@ public func appstore(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault
887
902
  devPortalTeamIdArg,
888
903
  devPortalTeamNameArg,
889
904
  itcProviderArg,
905
+ providerPublicIdArg,
890
906
  runPrecheckBeforeSubmitArg,
891
907
  precheckDefaultRuleLevelArg,
892
908
  individualMetadataItemsArg,
@@ -1298,6 +1314,7 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1298
1314
  - clean: Should the project be cleaned before building it?
1299
1315
  - outputDirectory: The directory in which the ipa file should be stored in
1300
1316
  - outputName: The name of the resulting ipa file
1317
+ - appName: App name to use in logfile name
1301
1318
  - configuration: The configuration to use when building the app. Defaults to 'Release'
1302
1319
  - silent: Hide all information that's not necessary while building
1303
1320
  - codesigningIdentity: The name of the code signing identity to use. It has to match the name exactly. e.g. 'iPhone Distribution: SunApps GmbH'
@@ -1357,6 +1374,7 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1357
1374
  clean: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1358
1375
  outputDirectory: String = ".",
1359
1376
  outputName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1377
+ appName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1360
1378
  configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1361
1379
  silent: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1362
1380
  codesigningIdentity: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -1412,6 +1430,7 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1412
1430
  let cleanArg = clean.asRubyArgument(name: "clean", type: nil)
1413
1431
  let outputDirectoryArg = RubyCommand.Argument(name: "output_directory", value: outputDirectory, type: nil)
1414
1432
  let outputNameArg = outputName.asRubyArgument(name: "output_name", type: nil)
1433
+ let appNameArg = appName.asRubyArgument(name: "app_name", type: nil)
1415
1434
  let configurationArg = configuration.asRubyArgument(name: "configuration", type: nil)
1416
1435
  let silentArg = silent.asRubyArgument(name: "silent", type: nil)
1417
1436
  let codesigningIdentityArg = codesigningIdentity.asRubyArgument(name: "codesigning_identity", type: nil)
@@ -1466,6 +1485,7 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1466
1485
  cleanArg,
1467
1486
  outputDirectoryArg,
1468
1487
  outputNameArg,
1488
+ appNameArg,
1469
1489
  configurationArg,
1470
1490
  silentArg,
1471
1491
  codesigningIdentityArg,
@@ -1531,6 +1551,7 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1531
1551
  - clean: Should the project be cleaned before building it?
1532
1552
  - outputDirectory: The directory in which the ipa file should be stored in
1533
1553
  - outputName: The name of the resulting ipa file
1554
+ - appName: App name to use in logfile name
1534
1555
  - configuration: The configuration to use when building the app. Defaults to 'Release'
1535
1556
  - silent: Hide all information that's not necessary while building
1536
1557
  - codesigningIdentity: The name of the code signing identity to use. It has to match the name exactly. e.g. 'iPhone Distribution: SunApps GmbH'
@@ -1587,6 +1608,7 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1587
1608
  clean: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1588
1609
  outputDirectory: String = ".",
1589
1610
  outputName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1611
+ appName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1590
1612
  configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1591
1613
  silent: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1592
1614
  codesigningIdentity: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -1639,6 +1661,7 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1639
1661
  let cleanArg = clean.asRubyArgument(name: "clean", type: nil)
1640
1662
  let outputDirectoryArg = RubyCommand.Argument(name: "output_directory", value: outputDirectory, type: nil)
1641
1663
  let outputNameArg = outputName.asRubyArgument(name: "output_name", type: nil)
1664
+ let appNameArg = appName.asRubyArgument(name: "app_name", type: nil)
1642
1665
  let configurationArg = configuration.asRubyArgument(name: "configuration", type: nil)
1643
1666
  let silentArg = silent.asRubyArgument(name: "silent", type: nil)
1644
1667
  let codesigningIdentityArg = codesigningIdentity.asRubyArgument(name: "codesigning_identity", type: nil)
@@ -1690,6 +1713,7 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1690
1713
  cleanArg,
1691
1714
  outputDirectoryArg,
1692
1715
  outputNameArg,
1716
+ appNameArg,
1693
1717
  configurationArg,
1694
1718
  silentArg,
1695
1719
  codesigningIdentityArg,
@@ -1752,6 +1776,7 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1752
1776
  - clean: Should the project be cleaned before building it?
1753
1777
  - outputDirectory: The directory in which the ipa file should be stored in
1754
1778
  - outputName: The name of the resulting ipa file
1779
+ - appName: App name to use in logfile name
1755
1780
  - configuration: The configuration to use when building the app. Defaults to 'Release'
1756
1781
  - silent: Hide all information that's not necessary while building
1757
1782
  - codesigningIdentity: The name of the code signing identity to use. It has to match the name exactly. e.g. 'iPhone Distribution: SunApps GmbH'
@@ -1809,6 +1834,7 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1809
1834
  clean: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1810
1835
  outputDirectory: String = ".",
1811
1836
  outputName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1837
+ appName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1812
1838
  configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
1813
1839
  silent: OptionalConfigValue<Bool> = .fastlaneDefault(false),
1814
1840
  codesigningIdentity: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -1862,6 +1888,7 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1862
1888
  let cleanArg = clean.asRubyArgument(name: "clean", type: nil)
1863
1889
  let outputDirectoryArg = RubyCommand.Argument(name: "output_directory", value: outputDirectory, type: nil)
1864
1890
  let outputNameArg = outputName.asRubyArgument(name: "output_name", type: nil)
1891
+ let appNameArg = appName.asRubyArgument(name: "app_name", type: nil)
1865
1892
  let configurationArg = configuration.asRubyArgument(name: "configuration", type: nil)
1866
1893
  let silentArg = silent.asRubyArgument(name: "silent", type: nil)
1867
1894
  let codesigningIdentityArg = codesigningIdentity.asRubyArgument(name: "codesigning_identity", type: nil)
@@ -1914,6 +1941,7 @@ public func buildAndroidApp(task: OptionalConfigValue<String?> = .fastlaneDefaul
1914
1941
  cleanArg,
1915
1942
  outputDirectoryArg,
1916
1943
  outputNameArg,
1944
+ appNameArg,
1917
1945
  configurationArg,
1918
1946
  silentArg,
1919
1947
  codesigningIdentityArg,
@@ -3763,6 +3791,9 @@ public func deleteKeychain(name: OptionalConfigValue<String?> = .fastlaneDefault
3763
3791
  - useLiveVersion: Force usage of live version rather than edit version
3764
3792
  - metadataPath: Path to the folder containing the metadata files
3765
3793
  - screenshotsPath: Path to the folder containing the screenshots
3794
+ - appPreviewsPath: Path to the folder containing localized App Preview videos
3795
+ - previewFrameTimeCode: Time code for the App Preview still frame written as hour:minute:second:centisecond (e.g. 00:00:00:01)
3796
+ - overwritePreviewVideos: Clear all previously uploaded App Preview videos before uploading the new ones
3766
3797
  - skipBinaryUpload: Skip uploading an ipa or pkg to App Store Connect
3767
3798
  - skipScreenshots: Don't upload the screenshots
3768
3799
  - skipMetadata: Don't upload the metadata (e.g. title, description). This will still upload screenshots
@@ -3787,6 +3818,7 @@ public func deleteKeychain(name: OptionalConfigValue<String?> = .fastlaneDefault
3787
3818
  - devPortalTeamId: The short ID of your Developer Portal team, if you're in multiple teams. Different from your iTC team ID!
3788
3819
  - devPortalTeamName: The name of your Developer Portal team if you're in multiple teams
3789
3820
  - itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `pathToXcode.app/Contents/Applications/Application\ Loader.app/Contents/itms/bin/iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
3821
+ - providerPublicId: The provider public ID to be used with altool (--provider-public-id). This value will override the automatically detected provider value for altool uploads. Required after Xcode 26 when your account is associated with multiple providers and using username/app-password authentication
3790
3822
  - runPrecheckBeforeSubmit: Run precheck before submitting to app review
3791
3823
  - precheckDefaultRuleLevel: The default precheck rule level unless otherwise configured
3792
3824
  - individualMetadataItems: **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow
@@ -3822,7 +3854,7 @@ public func deleteKeychain(name: OptionalConfigValue<String?> = .fastlaneDefault
3822
3854
  If you don't want to verify an HTML preview for App Store builds, use the `:force` option.
3823
3855
  This is useful when running _fastlane_ on your Continuous Integration server:
3824
3856
  `_upload_to_app_store_(force: true)`
3825
- 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.
3857
+ If your account is on multiple teams and you need to tell the transporter which provider to use, you can set `:itc_provider` or `:provider_public_id`.
3826
3858
  */
3827
3859
  public func deliver(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(deliverfile.apiKeyPath),
3828
3860
  apiKey: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(deliverfile.apiKey),
@@ -3837,6 +3869,9 @@ public func deliver(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(
3837
3869
  useLiveVersion: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.useLiveVersion),
3838
3870
  metadataPath: OptionalConfigValue<String?> = .fastlaneDefault(deliverfile.metadataPath),
3839
3871
  screenshotsPath: OptionalConfigValue<String?> = .fastlaneDefault(deliverfile.screenshotsPath),
3872
+ appPreviewsPath: OptionalConfigValue<String?> = .fastlaneDefault(deliverfile.appPreviewsPath),
3873
+ previewFrameTimeCode: String = deliverfile.previewFrameTimeCode,
3874
+ overwritePreviewVideos: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.overwritePreviewVideos),
3840
3875
  skipBinaryUpload: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.skipBinaryUpload),
3841
3876
  skipScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.skipScreenshots),
3842
3877
  skipMetadata: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.skipMetadata),
@@ -3861,6 +3896,7 @@ public func deliver(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(
3861
3896
  devPortalTeamId: OptionalConfigValue<String?> = .fastlaneDefault(deliverfile.devPortalTeamId),
3862
3897
  devPortalTeamName: OptionalConfigValue<String?> = .fastlaneDefault(deliverfile.devPortalTeamName),
3863
3898
  itcProvider: OptionalConfigValue<String?> = .fastlaneDefault(deliverfile.itcProvider),
3899
+ providerPublicId: OptionalConfigValue<String?> = .fastlaneDefault(deliverfile.providerPublicId),
3864
3900
  runPrecheckBeforeSubmit: OptionalConfigValue<Bool> = .fastlaneDefault(deliverfile.runPrecheckBeforeSubmit),
3865
3901
  precheckDefaultRuleLevel: Any = deliverfile.precheckDefaultRuleLevel,
3866
3902
  individualMetadataItems: OptionalConfigValue<[String]?> = .fastlaneDefault(deliverfile.individualMetadataItems),
@@ -3904,6 +3940,9 @@ public func deliver(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(
3904
3940
  let useLiveVersionArg = useLiveVersion.asRubyArgument(name: "use_live_version", type: nil)
3905
3941
  let metadataPathArg = metadataPath.asRubyArgument(name: "metadata_path", type: nil)
3906
3942
  let screenshotsPathArg = screenshotsPath.asRubyArgument(name: "screenshots_path", type: nil)
3943
+ let appPreviewsPathArg = appPreviewsPath.asRubyArgument(name: "app_previews_path", type: nil)
3944
+ let previewFrameTimeCodeArg = RubyCommand.Argument(name: "preview_frame_time_code", value: previewFrameTimeCode, type: nil)
3945
+ let overwritePreviewVideosArg = overwritePreviewVideos.asRubyArgument(name: "overwrite_preview_videos", type: nil)
3907
3946
  let skipBinaryUploadArg = skipBinaryUpload.asRubyArgument(name: "skip_binary_upload", type: nil)
3908
3947
  let skipScreenshotsArg = skipScreenshots.asRubyArgument(name: "skip_screenshots", type: nil)
3909
3948
  let skipMetadataArg = skipMetadata.asRubyArgument(name: "skip_metadata", type: nil)
@@ -3928,6 +3967,7 @@ public func deliver(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(
3928
3967
  let devPortalTeamIdArg = devPortalTeamId.asRubyArgument(name: "dev_portal_team_id", type: nil)
3929
3968
  let devPortalTeamNameArg = devPortalTeamName.asRubyArgument(name: "dev_portal_team_name", type: nil)
3930
3969
  let itcProviderArg = itcProvider.asRubyArgument(name: "itc_provider", type: nil)
3970
+ let providerPublicIdArg = providerPublicId.asRubyArgument(name: "provider_public_id", type: nil)
3931
3971
  let runPrecheckBeforeSubmitArg = runPrecheckBeforeSubmit.asRubyArgument(name: "run_precheck_before_submit", type: nil)
3932
3972
  let precheckDefaultRuleLevelArg = RubyCommand.Argument(name: "precheck_default_rule_level", value: precheckDefaultRuleLevel, type: nil)
3933
3973
  let individualMetadataItemsArg = individualMetadataItems.asRubyArgument(name: "individual_metadata_items", type: nil)
@@ -3970,6 +4010,9 @@ public func deliver(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(
3970
4010
  useLiveVersionArg,
3971
4011
  metadataPathArg,
3972
4012
  screenshotsPathArg,
4013
+ appPreviewsPathArg,
4014
+ previewFrameTimeCodeArg,
4015
+ overwritePreviewVideosArg,
3973
4016
  skipBinaryUploadArg,
3974
4017
  skipScreenshotsArg,
3975
4018
  skipMetadataArg,
@@ -3994,6 +4037,7 @@ public func deliver(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(
3994
4037
  devPortalTeamIdArg,
3995
4038
  devPortalTeamNameArg,
3996
4039
  itcProviderArg,
4040
+ providerPublicIdArg,
3997
4041
  runPrecheckBeforeSubmitArg,
3998
4042
  precheckDefaultRuleLevelArg,
3999
4043
  individualMetadataItemsArg,
@@ -5715,6 +5759,7 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
5715
5759
  - clean: Should the project be cleaned before building it?
5716
5760
  - outputDirectory: The directory in which the ipa file should be stored in
5717
5761
  - outputName: The name of the resulting ipa file
5762
+ - appName: App name to use in logfile name
5718
5763
  - configuration: The configuration to use when building the app. Defaults to 'Release'
5719
5764
  - silent: Hide all information that's not necessary while building
5720
5765
  - codesigningIdentity: The name of the code signing identity to use. It has to match the name exactly. e.g. 'iPhone Distribution: SunApps GmbH'
@@ -5774,6 +5819,7 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
5774
5819
  clean: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.clean),
5775
5820
  outputDirectory: String = gymfile.outputDirectory,
5776
5821
  outputName: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.outputName),
5822
+ appName: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.appName),
5777
5823
  configuration: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.configuration),
5778
5824
  silent: OptionalConfigValue<Bool> = .fastlaneDefault(gymfile.silent),
5779
5825
  codesigningIdentity: OptionalConfigValue<String?> = .fastlaneDefault(gymfile.codesigningIdentity),
@@ -5829,6 +5875,7 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
5829
5875
  let cleanArg = clean.asRubyArgument(name: "clean", type: nil)
5830
5876
  let outputDirectoryArg = RubyCommand.Argument(name: "output_directory", value: outputDirectory, type: nil)
5831
5877
  let outputNameArg = outputName.asRubyArgument(name: "output_name", type: nil)
5878
+ let appNameArg = appName.asRubyArgument(name: "app_name", type: nil)
5832
5879
  let configurationArg = configuration.asRubyArgument(name: "configuration", type: nil)
5833
5880
  let silentArg = silent.asRubyArgument(name: "silent", type: nil)
5834
5881
  let codesigningIdentityArg = codesigningIdentity.asRubyArgument(name: "codesigning_identity", type: nil)
@@ -5883,6 +5930,7 @@ public func gradle(task: OptionalConfigValue<String?> = .fastlaneDefault(nil),
5883
5930
  cleanArg,
5884
5931
  outputDirectoryArg,
5885
5932
  outputNameArg,
5933
+ appNameArg,
5886
5934
  configurationArg,
5887
5935
  silentArg,
5888
5936
  codesigningIdentityArg,
@@ -6797,6 +6845,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
6797
6845
  - s3Region: Name of the S3 region
6798
6846
  - s3AccessKey: S3 access key
6799
6847
  - s3SecretAccessKey: S3 secret access key
6848
+ - s3SessionToken: S3 session token
6800
6849
  - s3Bucket: Name of the S3 bucket
6801
6850
  - s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
6802
6851
  - s3SkipEncryption: Skip encryption of all objects uploaded to S3. WARNING: only enable this on S3 buckets with sufficiently restricted permissions and server-side encryption enabled. See https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html
@@ -6856,6 +6905,7 @@ public func match(type: String = matchfile.type,
6856
6905
  s3Region: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3Region),
6857
6906
  s3AccessKey: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3AccessKey),
6858
6907
  s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3SecretAccessKey),
6908
+ s3SessionToken: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3SessionToken),
6859
6909
  s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3Bucket),
6860
6910
  s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(matchfile.s3ObjectPrefix),
6861
6911
  s3SkipEncryption: OptionalConfigValue<Bool> = .fastlaneDefault(matchfile.s3SkipEncryption),
@@ -6913,6 +6963,7 @@ public func match(type: String = matchfile.type,
6913
6963
  let s3RegionArg = s3Region.asRubyArgument(name: "s3_region", type: nil)
6914
6964
  let s3AccessKeyArg = s3AccessKey.asRubyArgument(name: "s3_access_key", type: nil)
6915
6965
  let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
6966
+ let s3SessionTokenArg = s3SessionToken.asRubyArgument(name: "s3_session_token", type: nil)
6916
6967
  let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
6917
6968
  let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
6918
6969
  let s3SkipEncryptionArg = s3SkipEncryption.asRubyArgument(name: "s3_skip_encryption", type: nil)
@@ -6969,6 +7020,7 @@ public func match(type: String = matchfile.type,
6969
7020
  s3RegionArg,
6970
7021
  s3AccessKeyArg,
6971
7022
  s3SecretAccessKeyArg,
7023
+ s3SessionTokenArg,
6972
7024
  s3BucketArg,
6973
7025
  s3ObjectPrefixArg,
6974
7026
  s3SkipEncryptionArg,
@@ -7036,6 +7088,7 @@ public func match(type: String = matchfile.type,
7036
7088
  - s3Region: Name of the S3 region
7037
7089
  - s3AccessKey: S3 access key
7038
7090
  - s3SecretAccessKey: S3 secret access key
7091
+ - s3SessionToken: S3 session token
7039
7092
  - s3Bucket: Name of the S3 bucket
7040
7093
  - s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
7041
7094
  - s3SkipEncryption: Skip encryption of all objects uploaded to S3. WARNING: only enable this on S3 buckets with sufficiently restricted permissions and server-side encryption enabled. See https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html
@@ -7099,6 +7152,7 @@ public func matchNuke(type: String = "development",
7099
7152
  s3Region: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7100
7153
  s3AccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7101
7154
  s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7155
+ s3SessionToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7102
7156
  s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7103
7157
  s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7104
7158
  s3SkipEncryption: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -7156,6 +7210,7 @@ public func matchNuke(type: String = "development",
7156
7210
  let s3RegionArg = s3Region.asRubyArgument(name: "s3_region", type: nil)
7157
7211
  let s3AccessKeyArg = s3AccessKey.asRubyArgument(name: "s3_access_key", type: nil)
7158
7212
  let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
7213
+ let s3SessionTokenArg = s3SessionToken.asRubyArgument(name: "s3_session_token", type: nil)
7159
7214
  let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
7160
7215
  let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
7161
7216
  let s3SkipEncryptionArg = s3SkipEncryption.asRubyArgument(name: "s3_skip_encryption", type: nil)
@@ -7212,6 +7267,7 @@ public func matchNuke(type: String = "development",
7212
7267
  s3RegionArg,
7213
7268
  s3AccessKeyArg,
7214
7269
  s3SecretAccessKeyArg,
7270
+ s3SessionTokenArg,
7215
7271
  s3BucketArg,
7216
7272
  s3ObjectPrefixArg,
7217
7273
  s3SkipEncryptionArg,
@@ -7802,6 +7858,7 @@ public func pem(platform: String = "ios",
7802
7858
  - teamName: The name of your App Store Connect team if you're in multiple teams
7803
7859
  - devPortalTeamId: The short ID of your team in the developer portal, if you're in multiple teams. Different from your iTC team ID!
7804
7860
  - itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `pathToXcode.app/Contents/Applications/Application\ Loader.app/Contents/itms/bin/iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
7861
+ - providerPublicId: The provider public ID to be used with altool (--provider-public-id). This value will override the automatically detected provider value for altool uploads. Required after Xcode 26 when your account is associated with multiple providers and using username/app-password authentication
7805
7862
  - waitProcessingInterval: Interval in seconds to wait for App Store Connect processing
7806
7863
  - waitProcessingTimeoutDuration: Timeout duration in seconds to wait for App Store Connect processing. If set, after exceeding timeout duration, this will `force stop` to wait for App Store Connect processing and exit with exception
7807
7864
  - waitForUploadedBuild: **DEPRECATED!** No longer needed with the transition over to the App Store Connect API - Use version info from uploaded ipa file to determine what build to use for distribution. If set to false, latest processing or any latest build will be used
@@ -7845,6 +7902,7 @@ public func pilot(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(ni
7845
7902
  teamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7846
7903
  devPortalTeamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7847
7904
  itcProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7905
+ providerPublicId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
7848
7906
  waitProcessingInterval: Int = 30,
7849
7907
  waitProcessingTimeoutDuration: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
7850
7908
  waitForUploadedBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -7885,6 +7943,7 @@ public func pilot(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(ni
7885
7943
  let teamNameArg = teamName.asRubyArgument(name: "team_name", type: nil)
7886
7944
  let devPortalTeamIdArg = devPortalTeamId.asRubyArgument(name: "dev_portal_team_id", type: nil)
7887
7945
  let itcProviderArg = itcProvider.asRubyArgument(name: "itc_provider", type: nil)
7946
+ let providerPublicIdArg = providerPublicId.asRubyArgument(name: "provider_public_id", type: nil)
7888
7947
  let waitProcessingIntervalArg = RubyCommand.Argument(name: "wait_processing_interval", value: waitProcessingInterval, type: nil)
7889
7948
  let waitProcessingTimeoutDurationArg = waitProcessingTimeoutDuration.asRubyArgument(name: "wait_processing_timeout_duration", type: nil)
7890
7949
  let waitForUploadedBuildArg = waitForUploadedBuild.asRubyArgument(name: "wait_for_uploaded_build", type: nil)
@@ -7924,6 +7983,7 @@ public func pilot(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(ni
7924
7983
  teamNameArg,
7925
7984
  devPortalTeamIdArg,
7926
7985
  itcProviderArg,
7986
+ providerPublicIdArg,
7927
7987
  waitProcessingIntervalArg,
7928
7988
  waitProcessingTimeoutDurationArg,
7929
7989
  waitForUploadedBuildArg,
@@ -8683,6 +8743,7 @@ public func resetSimulatorContents(ios: OptionalConfigValue<[String]?> = .fastla
8683
8743
  - bundleId: Set new bundle ID during resign (`CFBundleIdentifier`)
8684
8744
  - useAppEntitlements: Extract app bundle codesigning entitlements and combine with entitlements from new provisioning profile
8685
8745
  - keychainPath: Provide a path to a keychain file that should be used by `/usr/bin/codesign`
8746
+ - pagesize: Page size in bytes passed to `/usr/bin/codesign --pagesize` (must be a power of two)
8686
8747
  */
8687
8748
  public func resign(ipa: String,
8688
8749
  signingIdentity: String,
@@ -8694,7 +8755,8 @@ public func resign(ipa: String,
8694
8755
  bundleVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8695
8756
  bundleId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8696
8757
  useAppEntitlements: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8697
- keychainPath: OptionalConfigValue<String?> = .fastlaneDefault(nil))
8758
+ keychainPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8759
+ pagesize: OptionalConfigValue<Int?> = .fastlaneDefault(nil))
8698
8760
  {
8699
8761
  let ipaArg = RubyCommand.Argument(name: "ipa", value: ipa, type: nil)
8700
8762
  let signingIdentityArg = RubyCommand.Argument(name: "signing_identity", value: signingIdentity, type: nil)
@@ -8707,6 +8769,7 @@ public func resign(ipa: String,
8707
8769
  let bundleIdArg = bundleId.asRubyArgument(name: "bundle_id", type: nil)
8708
8770
  let useAppEntitlementsArg = useAppEntitlements.asRubyArgument(name: "use_app_entitlements", type: nil)
8709
8771
  let keychainPathArg = keychainPath.asRubyArgument(name: "keychain_path", type: nil)
8772
+ let pagesizeArg = pagesize.asRubyArgument(name: "pagesize", type: nil)
8710
8773
  let array: [RubyCommand.Argument?] = [ipaArg,
8711
8774
  signingIdentityArg,
8712
8775
  entitlementsArg,
@@ -8717,7 +8780,8 @@ public func resign(ipa: String,
8717
8780
  bundleVersionArg,
8718
8781
  bundleIdArg,
8719
8782
  useAppEntitlementsArg,
8720
- keychainPathArg]
8783
+ keychainPathArg,
8784
+ pagesizeArg]
8721
8785
  let args: [RubyCommand.Argument] = array
8722
8786
  .filter { $0?.value != nil }
8723
8787
  .compactMap { $0 }
@@ -11258,6 +11322,7 @@ public func supply(packageName: String,
11258
11322
  - format: Format code when mode is :autocorrect
11259
11323
  - noCache: Ignore the cache when mode is :autocorrect or :lint
11260
11324
  - compilerLogPath: Compiler log path when mode is :analyze
11325
+ - progress: Show a live-updating progress bar instead of each file being processed
11261
11326
  */
11262
11327
  public func swiftlint(mode: String = "lint",
11263
11328
  path: OptionalConfigValue<String?> = .fastlaneDefault(nil),
@@ -11272,7 +11337,8 @@ public func swiftlint(mode: String = "lint",
11272
11337
  executable: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11273
11338
  format: OptionalConfigValue<Bool> = .fastlaneDefault(false),
11274
11339
  noCache: OptionalConfigValue<Bool> = .fastlaneDefault(false),
11275
- compilerLogPath: OptionalConfigValue<String?> = .fastlaneDefault(nil))
11340
+ compilerLogPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11341
+ progress: OptionalConfigValue<Bool> = .fastlaneDefault(false))
11276
11342
  {
11277
11343
  let modeArg = RubyCommand.Argument(name: "mode", value: mode, type: nil)
11278
11344
  let pathArg = path.asRubyArgument(name: "path", type: nil)
@@ -11288,6 +11354,7 @@ public func swiftlint(mode: String = "lint",
11288
11354
  let formatArg = format.asRubyArgument(name: "format", type: nil)
11289
11355
  let noCacheArg = noCache.asRubyArgument(name: "no_cache", type: nil)
11290
11356
  let compilerLogPathArg = compilerLogPath.asRubyArgument(name: "compiler_log_path", type: nil)
11357
+ let progressArg = progress.asRubyArgument(name: "progress", type: nil)
11291
11358
  let array: [RubyCommand.Argument?] = [modeArg,
11292
11359
  pathArg,
11293
11360
  outputFileArg,
@@ -11301,7 +11368,8 @@ public func swiftlint(mode: String = "lint",
11301
11368
  executableArg,
11302
11369
  formatArg,
11303
11370
  noCacheArg,
11304
- compilerLogPathArg]
11371
+ compilerLogPathArg,
11372
+ progressArg]
11305
11373
  let args: [RubyCommand.Argument] = array
11306
11374
  .filter { $0?.value != nil }
11307
11375
  .compactMap { $0 }
@@ -11341,6 +11409,7 @@ public func swiftlint(mode: String = "lint",
11341
11409
  - s3Region: Name of the S3 region
11342
11410
  - s3AccessKey: S3 access key
11343
11411
  - s3SecretAccessKey: S3 secret access key
11412
+ - s3SessionToken: S3 session token
11344
11413
  - s3Bucket: Name of the S3 bucket
11345
11414
  - s3ObjectPrefix: Prefix to be used on all objects uploaded to S3
11346
11415
  - s3SkipEncryption: Skip encryption of all objects uploaded to S3. WARNING: only enable this on S3 buckets with sufficiently restricted permissions and server-side encryption enabled. See https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html
@@ -11400,6 +11469,7 @@ public func syncCodeSigning(type: String = "development",
11400
11469
  s3Region: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11401
11470
  s3AccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11402
11471
  s3SecretAccessKey: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11472
+ s3SessionToken: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11403
11473
  s3Bucket: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11404
11474
  s3ObjectPrefix: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11405
11475
  s3SkipEncryption: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -11457,6 +11527,7 @@ public func syncCodeSigning(type: String = "development",
11457
11527
  let s3RegionArg = s3Region.asRubyArgument(name: "s3_region", type: nil)
11458
11528
  let s3AccessKeyArg = s3AccessKey.asRubyArgument(name: "s3_access_key", type: nil)
11459
11529
  let s3SecretAccessKeyArg = s3SecretAccessKey.asRubyArgument(name: "s3_secret_access_key", type: nil)
11530
+ let s3SessionTokenArg = s3SessionToken.asRubyArgument(name: "s3_session_token", type: nil)
11460
11531
  let s3BucketArg = s3Bucket.asRubyArgument(name: "s3_bucket", type: nil)
11461
11532
  let s3ObjectPrefixArg = s3ObjectPrefix.asRubyArgument(name: "s3_object_prefix", type: nil)
11462
11533
  let s3SkipEncryptionArg = s3SkipEncryption.asRubyArgument(name: "s3_skip_encryption", type: nil)
@@ -11513,6 +11584,7 @@ public func syncCodeSigning(type: String = "development",
11513
11584
  s3RegionArg,
11514
11585
  s3AccessKeyArg,
11515
11586
  s3SecretAccessKeyArg,
11587
+ s3SessionTokenArg,
11516
11588
  s3BucketArg,
11517
11589
  s3ObjectPrefixArg,
11518
11590
  s3SkipEncryptionArg,
@@ -11693,6 +11765,7 @@ public func testfairy(apiKey: String,
11693
11765
  - teamName: The name of your App Store Connect team if you're in multiple teams
11694
11766
  - devPortalTeamId: The short ID of your team in the developer portal, if you're in multiple teams. Different from your iTC team ID!
11695
11767
  - itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `pathToXcode.app/Contents/Applications/Application\ Loader.app/Contents/itms/bin/iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
11768
+ - providerPublicId: The provider public ID to be used with altool (--provider-public-id). This value will override the automatically detected provider value for altool uploads. Required after Xcode 26 when your account is associated with multiple providers and using username/app-password authentication
11696
11769
  - waitProcessingInterval: Interval in seconds to wait for App Store Connect processing
11697
11770
  - waitProcessingTimeoutDuration: Timeout duration in seconds to wait for App Store Connect processing. If set, after exceeding timeout duration, this will `force stop` to wait for App Store Connect processing and exit with exception
11698
11771
  - waitForUploadedBuild: **DEPRECATED!** No longer needed with the transition over to the App Store Connect API - Use version info from uploaded ipa file to determine what build to use for distribution. If set to false, latest processing or any latest build will be used
@@ -11736,6 +11809,7 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
11736
11809
  teamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11737
11810
  devPortalTeamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11738
11811
  itcProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11812
+ providerPublicId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11739
11813
  waitProcessingInterval: Int = 30,
11740
11814
  waitProcessingTimeoutDuration: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
11741
11815
  waitForUploadedBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -11776,6 +11850,7 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
11776
11850
  let teamNameArg = teamName.asRubyArgument(name: "team_name", type: nil)
11777
11851
  let devPortalTeamIdArg = devPortalTeamId.asRubyArgument(name: "dev_portal_team_id", type: nil)
11778
11852
  let itcProviderArg = itcProvider.asRubyArgument(name: "itc_provider", type: nil)
11853
+ let providerPublicIdArg = providerPublicId.asRubyArgument(name: "provider_public_id", type: nil)
11779
11854
  let waitProcessingIntervalArg = RubyCommand.Argument(name: "wait_processing_interval", value: waitProcessingInterval, type: nil)
11780
11855
  let waitProcessingTimeoutDurationArg = waitProcessingTimeoutDuration.asRubyArgument(name: "wait_processing_timeout_duration", type: nil)
11781
11856
  let waitForUploadedBuildArg = waitForUploadedBuild.asRubyArgument(name: "wait_for_uploaded_build", type: nil)
@@ -11815,6 +11890,7 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
11815
11890
  teamNameArg,
11816
11891
  devPortalTeamIdArg,
11817
11892
  itcProviderArg,
11893
+ providerPublicIdArg,
11818
11894
  waitProcessingIntervalArg,
11819
11895
  waitProcessingTimeoutDurationArg,
11820
11896
  waitForUploadedBuildArg,
@@ -12583,6 +12659,9 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
12583
12659
  - useLiveVersion: Force usage of live version rather than edit version
12584
12660
  - metadataPath: Path to the folder containing the metadata files
12585
12661
  - screenshotsPath: Path to the folder containing the screenshots
12662
+ - appPreviewsPath: Path to the folder containing localized App Preview videos
12663
+ - previewFrameTimeCode: Time code for the App Preview still frame written as hour:minute:second:centisecond (e.g. 00:00:00:01)
12664
+ - overwritePreviewVideos: Clear all previously uploaded App Preview videos before uploading the new ones
12586
12665
  - skipBinaryUpload: Skip uploading an ipa or pkg to App Store Connect
12587
12666
  - skipScreenshots: Don't upload the screenshots
12588
12667
  - skipMetadata: Don't upload the metadata (e.g. title, description). This will still upload screenshots
@@ -12607,6 +12686,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
12607
12686
  - devPortalTeamId: The short ID of your Developer Portal team, if you're in multiple teams. Different from your iTC team ID!
12608
12687
  - devPortalTeamName: The name of your Developer Portal team if you're in multiple teams
12609
12688
  - itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `pathToXcode.app/Contents/Applications/Application\ Loader.app/Contents/itms/bin/iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
12689
+ - providerPublicId: The provider public ID to be used with altool (--provider-public-id). This value will override the automatically detected provider value for altool uploads. Required after Xcode 26 when your account is associated with multiple providers and using username/app-password authentication
12610
12690
  - runPrecheckBeforeSubmit: Run precheck before submitting to app review
12611
12691
  - precheckDefaultRuleLevel: The default precheck rule level unless otherwise configured
12612
12692
  - individualMetadataItems: **DEPRECATED!** Removed after the migration to the new App Store Connect API in June 2020 - An array of localized metadata items to upload individually by language so that errors can be identified. E.g. ['name', 'keywords', 'description']. Note: slow
@@ -12642,7 +12722,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a
12642
12722
  If you don't want to verify an HTML preview for App Store builds, use the `:force` option.
12643
12723
  This is useful when running _fastlane_ on your Continuous Integration server:
12644
12724
  `_upload_to_app_store_(force: true)`
12645
- 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.
12725
+ If your account is on multiple teams and you need to tell the transporter which provider to use, you can set `:itc_provider` or `:provider_public_id`.
12646
12726
  */
12647
12727
  public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12648
12728
  apiKey: OptionalConfigValue<[String: Any]?> = .fastlaneDefault(nil),
@@ -12657,6 +12737,9 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
12657
12737
  useLiveVersion: OptionalConfigValue<Bool> = .fastlaneDefault(false),
12658
12738
  metadataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12659
12739
  screenshotsPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12740
+ appPreviewsPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12741
+ previewFrameTimeCode: String = "00:00:05:00",
12742
+ overwritePreviewVideos: OptionalConfigValue<Bool> = .fastlaneDefault(false),
12660
12743
  skipBinaryUpload: OptionalConfigValue<Bool> = .fastlaneDefault(false),
12661
12744
  skipScreenshots: OptionalConfigValue<Bool> = .fastlaneDefault(false),
12662
12745
  skipMetadata: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -12681,6 +12764,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
12681
12764
  devPortalTeamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12682
12765
  devPortalTeamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12683
12766
  itcProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12767
+ providerPublicId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
12684
12768
  runPrecheckBeforeSubmit: OptionalConfigValue<Bool> = .fastlaneDefault(true),
12685
12769
  precheckDefaultRuleLevel: String = "warn",
12686
12770
  individualMetadataItems: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
@@ -12724,6 +12808,9 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
12724
12808
  let useLiveVersionArg = useLiveVersion.asRubyArgument(name: "use_live_version", type: nil)
12725
12809
  let metadataPathArg = metadataPath.asRubyArgument(name: "metadata_path", type: nil)
12726
12810
  let screenshotsPathArg = screenshotsPath.asRubyArgument(name: "screenshots_path", type: nil)
12811
+ let appPreviewsPathArg = appPreviewsPath.asRubyArgument(name: "app_previews_path", type: nil)
12812
+ let previewFrameTimeCodeArg = RubyCommand.Argument(name: "preview_frame_time_code", value: previewFrameTimeCode, type: nil)
12813
+ let overwritePreviewVideosArg = overwritePreviewVideos.asRubyArgument(name: "overwrite_preview_videos", type: nil)
12727
12814
  let skipBinaryUploadArg = skipBinaryUpload.asRubyArgument(name: "skip_binary_upload", type: nil)
12728
12815
  let skipScreenshotsArg = skipScreenshots.asRubyArgument(name: "skip_screenshots", type: nil)
12729
12816
  let skipMetadataArg = skipMetadata.asRubyArgument(name: "skip_metadata", type: nil)
@@ -12748,6 +12835,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
12748
12835
  let devPortalTeamIdArg = devPortalTeamId.asRubyArgument(name: "dev_portal_team_id", type: nil)
12749
12836
  let devPortalTeamNameArg = devPortalTeamName.asRubyArgument(name: "dev_portal_team_name", type: nil)
12750
12837
  let itcProviderArg = itcProvider.asRubyArgument(name: "itc_provider", type: nil)
12838
+ let providerPublicIdArg = providerPublicId.asRubyArgument(name: "provider_public_id", type: nil)
12751
12839
  let runPrecheckBeforeSubmitArg = runPrecheckBeforeSubmit.asRubyArgument(name: "run_precheck_before_submit", type: nil)
12752
12840
  let precheckDefaultRuleLevelArg = RubyCommand.Argument(name: "precheck_default_rule_level", value: precheckDefaultRuleLevel, type: nil)
12753
12841
  let individualMetadataItemsArg = individualMetadataItems.asRubyArgument(name: "individual_metadata_items", type: nil)
@@ -12790,6 +12878,9 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
12790
12878
  useLiveVersionArg,
12791
12879
  metadataPathArg,
12792
12880
  screenshotsPathArg,
12881
+ appPreviewsPathArg,
12882
+ previewFrameTimeCodeArg,
12883
+ overwritePreviewVideosArg,
12793
12884
  skipBinaryUploadArg,
12794
12885
  skipScreenshotsArg,
12795
12886
  skipMetadataArg,
@@ -12814,6 +12905,7 @@ public func uploadToAppStore(apiKeyPath: OptionalConfigValue<String?> = .fastlan
12814
12905
  devPortalTeamIdArg,
12815
12906
  devPortalTeamNameArg,
12816
12907
  itcProviderArg,
12908
+ providerPublicIdArg,
12817
12909
  runPrecheckBeforeSubmitArg,
12818
12910
  precheckDefaultRuleLevelArg,
12819
12911
  individualMetadataItemsArg,
@@ -13116,6 +13208,7 @@ public func uploadToPlayStoreInternalAppSharing(packageName: String,
13116
13208
  - teamName: The name of your App Store Connect team if you're in multiple teams
13117
13209
  - devPortalTeamId: The short ID of your team in the developer portal, if you're in multiple teams. Different from your iTC team ID!
13118
13210
  - itcProvider: The provider short name to be used with the iTMSTransporter to identify your team. This value will override the automatically detected provider short name. To get provider short name run `pathToXcode.app/Contents/Applications/Application\ Loader.app/Contents/itms/bin/iTMSTransporter -m provider -u 'USERNAME' -p 'PASSWORD' -account_type itunes_connect -v off`. The short names of providers should be listed in the second column
13211
+ - providerPublicId: The provider public ID to be used with altool (--provider-public-id). This value will override the automatically detected provider value for altool uploads. Required after Xcode 26 when your account is associated with multiple providers and using username/app-password authentication
13119
13212
  - waitProcessingInterval: Interval in seconds to wait for App Store Connect processing
13120
13213
  - waitProcessingTimeoutDuration: Timeout duration in seconds to wait for App Store Connect processing. If set, after exceeding timeout duration, this will `force stop` to wait for App Store Connect processing and exit with exception
13121
13214
  - waitForUploadedBuild: **DEPRECATED!** No longer needed with the transition over to the App Store Connect API - Use version info from uploaded ipa file to determine what build to use for distribution. If set to false, latest processing or any latest build will be used
@@ -13159,6 +13252,7 @@ public func uploadToTestflight(apiKeyPath: OptionalConfigValue<String?> = .fastl
13159
13252
  teamName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13160
13253
  devPortalTeamId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13161
13254
  itcProvider: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13255
+ providerPublicId: OptionalConfigValue<String?> = .fastlaneDefault(nil),
13162
13256
  waitProcessingInterval: Int = 30,
13163
13257
  waitProcessingTimeoutDuration: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
13164
13258
  waitForUploadedBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
@@ -13199,6 +13293,7 @@ public func uploadToTestflight(apiKeyPath: OptionalConfigValue<String?> = .fastl
13199
13293
  let teamNameArg = teamName.asRubyArgument(name: "team_name", type: nil)
13200
13294
  let devPortalTeamIdArg = devPortalTeamId.asRubyArgument(name: "dev_portal_team_id", type: nil)
13201
13295
  let itcProviderArg = itcProvider.asRubyArgument(name: "itc_provider", type: nil)
13296
+ let providerPublicIdArg = providerPublicId.asRubyArgument(name: "provider_public_id", type: nil)
13202
13297
  let waitProcessingIntervalArg = RubyCommand.Argument(name: "wait_processing_interval", value: waitProcessingInterval, type: nil)
13203
13298
  let waitProcessingTimeoutDurationArg = waitProcessingTimeoutDuration.asRubyArgument(name: "wait_processing_timeout_duration", type: nil)
13204
13299
  let waitForUploadedBuildArg = waitForUploadedBuild.asRubyArgument(name: "wait_for_uploaded_build", type: nil)
@@ -13238,6 +13333,7 @@ public func uploadToTestflight(apiKeyPath: OptionalConfigValue<String?> = .fastl
13238
13333
  teamNameArg,
13239
13334
  devPortalTeamIdArg,
13240
13335
  itcProviderArg,
13336
+ providerPublicIdArg,
13241
13337
  waitProcessingIntervalArg,
13242
13338
  waitProcessingTimeoutDurationArg,
13243
13339
  waitForUploadedBuildArg,
@@ -13880,4 +13976,4 @@ public let snapshotfile: Snapshotfile = .init()
13880
13976
 
13881
13977
  // Please don't remove the lines below
13882
13978
  // They are used to detect outdated files
13883
- // FastlaneRunnerAPIVersion [0.9.197]
13979
+ // FastlaneRunnerAPIVersion [0.9.198]