fastlane 2.19.0 → 2.19.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6cadf87b204bdca30738001588faf84461ca755e
4
- data.tar.gz: 5477d359e2810a6a0e862d846ebfdcf4e1a0323f
3
+ metadata.gz: e389b85d55b84c0cc8877620abe3c6c1a5950d8c
4
+ data.tar.gz: 5f12f7169f070c1abdeb23ce1f95df1c8ad93ccd
5
5
  SHA512:
6
- metadata.gz: eeee692e942f54283c2fe33fdbdc6e02271daa8b89584e44037608425f10e2d700c122ed5f825a8f35bb43213a2b1181cbe68ca2b6b4be35e69b62b73e595d1b
7
- data.tar.gz: 64ecfd17ee3f78edfca42c69c50675f24db633b15d1878768002fcb8e2d53987b83a3a4255ba0caabb1040d0535e171cee9748c28bfb53a64a80243a145e191c
6
+ metadata.gz: 7a8b0256c9e43b6c198d88d271a4f3120a988fa264d8549fd56f5926abb2a5dd784b46a61cb6b100dcf363c44ac96851199c501c5dad5e78eccf63b8818f1a97
7
+ data.tar.gz: 0a5ff3c5924f07bcb4a622834d448d111dcb690780902f05591f47776bec8b3fa8343ab2c1c16829aaecde9efd1faf748629c999e7f1c7a6efdc8a7b8d2baba5
@@ -23,7 +23,11 @@ module Fastlane
23
23
  begin
24
24
  setup_project
25
25
  ask_for_apple_id
26
- detect_if_app_is_available
26
+ if self.project.mac?
27
+ UI.important("Generating apps on the Apple Developer Portal and iTunes Connect is not currently available for Mac apps")
28
+ else
29
+ detect_if_app_is_available
30
+ end
27
31
  print_config_table
28
32
  if UI.confirm("Please confirm the above values")
29
33
  default_setup
@@ -62,7 +66,7 @@ module Fastlane
62
66
  copy_existing_files
63
67
  generate_appfile(manually: false)
64
68
  detect_installed_tools # after copying the existing files
65
- if self.itc_ref.nil? && self.portal_ref.nil?
69
+ if !self.project.mac? && self.itc_ref.nil? && self.portal_ref.nil?
66
70
  create_app_if_necessary
67
71
  end
68
72
  enable_deliver
@@ -112,11 +116,11 @@ module Fastlane
112
116
  puts Terminal::Table.new(rows: rows, title: "Detected Values")
113
117
  puts ""
114
118
 
115
- unless self.itc_ref
119
+ unless self.itc_ref || self.project.mac?
116
120
  UI.important "This app identifier doesn't exist on iTunes Connect yet, it will be created for you"
117
121
  end
118
122
 
119
- unless self.portal_ref
123
+ unless self.portal_ref || self.project.mac?
120
124
  UI.important "This app identifier doesn't exist on the Apple Developer Portal yet, it will be created for you"
121
125
  end
122
126
  end
@@ -191,7 +195,6 @@ module Fastlane
191
195
  config = {} # this has to be done like this
192
196
  FastlaneCore::Project.detect_projects(config)
193
197
  project = FastlaneCore::Project.new(config)
194
-
195
198
  produce_options_hash = {
196
199
  app_name: project.app_name,
197
200
  app_identifier: self.app_identifier
@@ -1,4 +1,4 @@
1
1
  module Fastlane
2
- VERSION = '2.19.0'.freeze
2
+ VERSION = '2.19.1'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  end
@@ -492,7 +492,9 @@ module Spaceship
492
492
  end
493
493
 
494
494
  def create_provisioning_profile!(name, distribution_method, app_id, certificate_ids, device_ids, mac: false, sub_platform: nil)
495
- ensure_csrf(Spaceship::ProvisioningProfile)
495
+ ensure_csrf(Spaceship::ProvisioningProfile) do
496
+ fetch_csrf_token_for_provisioning
497
+ end
496
498
 
497
499
  params = {
498
500
  teamId: team_id,
@@ -509,7 +511,9 @@ module Spaceship
509
511
  end
510
512
 
511
513
  def download_provisioning_profile(profile_id, mac: false)
512
- ensure_csrf(Spaceship::ProvisioningProfile)
514
+ ensure_csrf(Spaceship::ProvisioningProfile) do
515
+ fetch_csrf_token_for_provisioning
516
+ end
513
517
 
514
518
  r = request(:get, "account/#{platform_slug(mac)}/profile/downloadProfileContent", {
515
519
  teamId: team_id,
@@ -524,7 +528,9 @@ module Spaceship
524
528
  end
525
529
 
526
530
  def delete_provisioning_profile!(profile_id, mac: false)
527
- ensure_csrf(Spaceship::ProvisioningProfile)
531
+ ensure_csrf(Spaceship::ProvisioningProfile) do
532
+ fetch_csrf_token_for_provisioning
533
+ end
528
534
 
529
535
  r = request(:post, "account/#{platform_slug(mac)}/profile/deleteProvisioningProfile.action", {
530
536
  teamId: team_id,
@@ -534,7 +540,9 @@ module Spaceship
534
540
  end
535
541
 
536
542
  def repair_provisioning_profile!(profile_id, name, distribution_method, app_id, certificate_ids, device_ids, mac: false, sub_platform: nil)
537
- ensure_csrf(Spaceship::ProvisioningProfile)
543
+ ensure_csrf(Spaceship::ProvisioningProfile) do
544
+ fetch_csrf_token_for_provisioning
545
+ end
538
546
 
539
547
  params = {
540
548
  teamId: team_id,
@@ -584,6 +592,24 @@ module Spaceship
584
592
 
585
593
  csrf_cache[klass] = self.csrf_tokens
586
594
  end
595
+
596
+ # We need a custom way to fetch the csrf token for the provisioning profile requests, since
597
+ # we use a separate API endpoint (host of Xcode API) to fetch the provisioning profiles
598
+ # All we do is fetch one profile (if exists) to get a valid csrf token with its time stamp
599
+ # This method is being called from all requests that modify, create or downloading provisioning
600
+ # profiles.
601
+ # Source https://github.com/fastlane/fastlane/issues/5903
602
+ def fetch_csrf_token_for_provisioning(mac: false)
603
+ req = request(:post, "account/#{platform_slug(mac)}/profile/listProvisioningProfiles.action", {
604
+ teamId: team_id,
605
+ pageNumber: 1,
606
+ pageSize: 1,
607
+ sort: 'name=asc'
608
+ })
609
+
610
+ parse_response(req, 'provisioningProfiles')
611
+ return nil
612
+ end
587
613
  end
588
614
  # rubocop:enable Metrics/ClassLength
589
615
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.19.0
4
+ version: 2.19.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause