sigh/lib/sigh/runner.rb in fastlane-2.54.0.beta.20170822010003 vs sigh/lib/sigh/runner.rb in fastlane-2.54.0
- old
+ new
@@ -59,43 +59,30 @@
end
# Fetches a profile matching the user's search requirements
def fetch_profiles
UI.message "Fetching profiles..."
- results = profile_type.find_by_bundle_id(Sigh.config[:app_identifier], mac: Sigh.config[:platform].to_s == 'macos')
+ results = profile_type.find_by_bundle_id(bundle_id: Sigh.config[:app_identifier],
+ mac: Sigh.config[:platform].to_s == 'macos',
+ sub_platform: Sigh.config[:platform].to_s == 'tvos' ? 'tvOS' : nil)
results = results.find_all do |current_profile|
if current_profile.valid? || Sigh.config[:force]
true
else
UI.message("Provisioning Profile '#{current_profile.name}' is not valid, skipping this one...")
false
end
end
# Take the provisioning profile name into account
- if Sigh.config[:provisioning_name].to_s.length > 0
- filtered = results.select { |p| p.name.strip == Sigh.config[:provisioning_name].strip }
- if Sigh.config[:ignore_profiles_with_different_name]
- results = filtered
- elsif (filtered || []).count > 0
- results = filtered
- end
- end
+ results = filter_profiles_by_name(results) if Sigh.config[:provisioning_name].to_s.length > 0
# Since September 20, 2016 spaceship doesn't distinguish between AdHoc and AppStore profiles
# any more, since it requires an additional request
# Instead we only call is_adhoc? on the matching profiles to speed up spaceship
- results = results.find_all do |current_profile|
- if profile_type == Spaceship.provisioning_profile.ad_hoc
- current_profile.is_adhoc?
- elsif profile_type == Spaceship.provisioning_profile.app_store
- !current_profile.is_adhoc?
- else
- true
- end
- end
+ results = filter_profiles_for_adhoc_or_app_store(results)
return results if Sigh.config[:skip_certificate_verification]
UI.message "Verifying certificates..."
return results.find_all do |current_profile|
@@ -150,9 +137,31 @@
bundle_id: bundle_id,
certificate: cert,
mac: Sigh.config[:platform].to_s == 'macos',
sub_platform: Sigh.config[:platform].to_s == 'tvos' ? 'tvOS' : nil)
profile
+ end
+
+ def filter_profiles_by_name(profiles)
+ filtered = profiles.select { |p| p.name.strip == Sigh.config[:provisioning_name].strip }
+ if Sigh.config[:ignore_profiles_with_different_name]
+ profiles = filtered
+ elsif (filtered || []).count > 0
+ profiles = filtered
+ end
+ profiles
+ end
+
+ def filter_profiles_for_adhoc_or_app_store(profiles)
+ profiles.find_all do |current_profile|
+ if profile_type == Spaceship.provisioning_profile.ad_hoc
+ current_profile.is_adhoc?
+ elsif profile_type == Spaceship.provisioning_profile.app_store
+ !current_profile.is_adhoc?
+ else
+ true
+ end
+ end
end
def certificates_for_profile_and_platform
case Sigh.config[:platform].to_s
when 'ios', 'tvos'