sigh 1.3.0 → 1.3.1
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.
- checksums.yaml +4 -4
- data/README.md +3 -0
- data/lib/sigh/download_all.rb +4 -4
- data/lib/sigh/local_manage.rb +23 -25
- data/lib/sigh/options.rb +1 -1
- data/lib/sigh/repair.rb +6 -6
- data/lib/sigh/resign.rb +9 -7
- data/lib/sigh/runner.rb +29 -29
- data/lib/sigh/version.rb +1 -1
- metadata +4 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 9589402f17e4e3c23d0511b977fa7346999dea3f
         | 
| 4 | 
            +
              data.tar.gz: 8980cd98b9bd6e6ab7dd2dd7b73d1dc4ce292a93
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: b0933b80dfa931ab145d08c9c42229913ccecde99acf6060a3efb458a3b3648d49feb54c74af817640c31d26d8f5fa5f08e2a53df20646801ba7f731f1537deb
         | 
| 7 | 
            +
              data.tar.gz: 4b9e228b65c5edef013145cde661982b30229a1e860f22b72c57fb68de3836e8439c930c73a181c9fd33df42a349e05383b188dc7549f50b4f078236f5a94a81
         | 
    
        data/README.md
    CHANGED
    
    | @@ -250,6 +250,9 @@ If you also want to create a new App Identifier on the Apple Developer Portal, c | |
| 250 250 | 
             
            # Need help?
         | 
| 251 251 | 
             
            Please submit an issue on GitHub and provide information about your setup
         | 
| 252 252 |  | 
| 253 | 
            +
            # Code of Conduct
         | 
| 254 | 
            +
            Help us keep `sigh` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/code-of-conduct).
         | 
| 255 | 
            +
             | 
| 253 256 | 
             
            # License
         | 
| 254 257 | 
             
            This project is licensed under the terms of the MIT license. See the LICENSE file.
         | 
| 255 258 |  | 
    
        data/lib/sigh/download_all.rb
    CHANGED
    
    | @@ -2,17 +2,17 @@ module Sigh | |
| 2 2 | 
             
              class DownloadAll
         | 
| 3 3 | 
             
                # Download all valid provisioning profiles
         | 
| 4 4 | 
             
                def download_all
         | 
| 5 | 
            -
                   | 
| 5 | 
            +
                  UI.message "Starting login with user '#{Sigh.config[:username]}'"
         | 
| 6 6 | 
             
                  Spaceship.login(Sigh.config[:username], nil)
         | 
| 7 7 | 
             
                  Spaceship.select_team
         | 
| 8 | 
            -
                   | 
| 8 | 
            +
                  UI.message "Successfully logged in"
         | 
| 9 9 |  | 
| 10 10 | 
             
                  Spaceship.provisioning_profile.all.each do |profile|
         | 
| 11 11 | 
             
                    if profile.valid?
         | 
| 12 | 
            -
                       | 
| 12 | 
            +
                      UI.message "Downloading profile '#{profile.name}'..."
         | 
| 13 13 | 
             
                      download_profile(profile)
         | 
| 14 14 | 
             
                    else
         | 
| 15 | 
            -
                       | 
| 15 | 
            +
                      UI.important "Skipping invalid/expired profile '#{profile.name}'"
         | 
| 16 16 | 
             
                    end
         | 
| 17 17 | 
             
                  end
         | 
| 18 18 | 
             
                end
         | 
    
        data/lib/sigh/local_manage.rb
    CHANGED
    
    | @@ -13,7 +13,7 @@ module Sigh | |
| 13 13 | 
             
                end
         | 
| 14 14 |  | 
| 15 15 | 
             
                def self.install_profile(profile)
         | 
| 16 | 
            -
                   | 
| 16 | 
            +
                  UI.message "Installing provisioning profile..."
         | 
| 17 17 | 
             
                  profile_path = File.expand_path("~") + "/Library/MobileDevice/Provisioning Profiles/"
         | 
| 18 18 | 
             
                  profile_filename = ENV["SIGH_UDID"] + ".mobileprovision"
         | 
| 19 19 | 
             
                  destination = profile_path + profile_filename
         | 
| @@ -27,9 +27,9 @@ module Sigh | |
| 27 27 | 
             
                  FileUtils.copy profile, destination
         | 
| 28 28 |  | 
| 29 29 | 
             
                  if File.exist? destination
         | 
| 30 | 
            -
                     | 
| 30 | 
            +
                    UI.success "Profile installed at \"#{destination}\""
         | 
| 31 31 | 
             
                  else
         | 
| 32 | 
            -
                     | 
| 32 | 
            +
                    UI.user_error!("Failed installation of provisioning profile at location: #{destination}")
         | 
| 33 33 | 
             
                  end
         | 
| 34 34 | 
             
                end
         | 
| 35 35 |  | 
| @@ -40,7 +40,6 @@ module Sigh | |
| 40 40 | 
             
                  return command, clean_expired, clean_pattern
         | 
| 41 41 | 
             
                end
         | 
| 42 42 |  | 
| 43 | 
            -
                # rubocop:disable Metrics/AbcSize
         | 
| 44 43 | 
             
                def self.list_profiles
         | 
| 45 44 | 
             
                  profiles = load_profiles
         | 
| 46 45 |  | 
| @@ -49,62 +48,61 @@ module Sigh | |
| 49 48 |  | 
| 50 49 | 
             
                  profiles_valid = profiles.select { |profile| profile["ExpirationDate"] > now && profile["ExpirationDate"] > soon }
         | 
| 51 50 | 
             
                  if profiles_valid.count > 0
         | 
| 52 | 
            -
                     | 
| 53 | 
            -
                     | 
| 51 | 
            +
                    UI.message "Provisioning profiles installed"
         | 
| 52 | 
            +
                    UI.message "Valid:"
         | 
| 54 53 | 
             
                    profiles_valid.each do |profile|
         | 
| 55 | 
            -
                       | 
| 54 | 
            +
                      UI.message profile["Name"].green
         | 
| 56 55 | 
             
                    end
         | 
| 57 56 | 
             
                  end
         | 
| 58 57 |  | 
| 59 58 | 
             
                  profiles_soon = profiles.select { |profile| profile["ExpirationDate"] > now && profile["ExpirationDate"] < soon }
         | 
| 60 59 | 
             
                  if profiles_soon.count > 0
         | 
| 61 | 
            -
                     | 
| 62 | 
            -
                     | 
| 60 | 
            +
                    UI.message ""
         | 
| 61 | 
            +
                    UI.message "Expiring within 30 day:"
         | 
| 63 62 | 
             
                    profiles_soon.each do |profile|
         | 
| 64 | 
            -
                       | 
| 63 | 
            +
                      UI.message profile["Name"].yellow
         | 
| 65 64 | 
             
                    end
         | 
| 66 65 | 
             
                  end
         | 
| 67 66 |  | 
| 68 67 | 
             
                  profiles_expired = profiles.select { |profile| profile["ExpirationDate"] < now }
         | 
| 69 68 | 
             
                  if profiles_expired.count > 0
         | 
| 70 | 
            -
                     | 
| 71 | 
            -
                     | 
| 69 | 
            +
                    UI.message ""
         | 
| 70 | 
            +
                    UI.message "Expired:"
         | 
| 72 71 | 
             
                    profiles_expired.each do |profile|
         | 
| 73 | 
            -
                       | 
| 72 | 
            +
                      UI.message profile["Name"].red
         | 
| 74 73 | 
             
                    end
         | 
| 75 74 | 
             
                  end
         | 
| 76 75 |  | 
| 77 | 
            -
                   | 
| 78 | 
            -
                   | 
| 79 | 
            -
                   | 
| 80 | 
            -
                   | 
| 81 | 
            -
                   | 
| 82 | 
            -
                   | 
| 76 | 
            +
                  UI.message ""
         | 
| 77 | 
            +
                  UI.message "Summary"
         | 
| 78 | 
            +
                  UI.message "#{profiles.count} installed profiles"
         | 
| 79 | 
            +
                  UI.message "#{profiles_expired.count} are expired".red
         | 
| 80 | 
            +
                  UI.message "#{profiles_soon.count} are valid but will expire within 30 days".yellow
         | 
| 81 | 
            +
                  UI.message "#{profiles_valid.count} are valid".green
         | 
| 83 82 |  | 
| 84 | 
            -
                   | 
| 83 | 
            +
                  UI.message "You can remove all expired profiles using `sigh manage -e`" if profiles_expired.count > 0
         | 
| 85 84 | 
             
                end
         | 
| 86 | 
            -
                # rubocop:enable Metrics/AbcSize
         | 
| 87 85 |  | 
| 88 86 | 
             
                def self.cleanup_profiles(expired = false, pattern = nil)
         | 
| 89 87 | 
             
                  now = DateTime.now
         | 
| 90 88 |  | 
| 91 89 | 
             
                  profiles = load_profiles.select { |profile| (expired && profile["ExpirationDate"] < now) || (!pattern.nil? && profile["Name"] =~ pattern) }
         | 
| 92 90 |  | 
| 93 | 
            -
                   | 
| 91 | 
            +
                  UI.message "The following provisioning profiles are either expired or matches your pattern:"
         | 
| 94 92 | 
             
                  profiles.each do |profile|
         | 
| 95 | 
            -
                     | 
| 93 | 
            +
                    UI.message profile["Name"].red
         | 
| 96 94 | 
             
                  end
         | 
| 97 95 |  | 
| 98 96 | 
             
                  if agree("Delete these provisioning profiles #{profiles.length}? (y/n)  ", true)
         | 
| 99 97 | 
             
                    profiles.each do |profile|
         | 
| 100 98 | 
             
                      File.delete profile["Path"]
         | 
| 101 99 | 
             
                    end
         | 
| 102 | 
            -
                     | 
| 100 | 
            +
                    UI.success "\n\nDeleted #{profiles.length} profiles"
         | 
| 103 101 | 
             
                  end
         | 
| 104 102 | 
             
                end
         | 
| 105 103 |  | 
| 106 104 | 
             
                def self.load_profiles
         | 
| 107 | 
            -
                   | 
| 105 | 
            +
                  UI.message "Loading Provisioning profiles from ~/Library/MobileDevice/Provisioning Profiles/"
         | 
| 108 106 | 
             
                  profiles_path = File.expand_path("~") + "/Library/MobileDevice/Provisioning Profiles/*.mobileprovision"
         | 
| 109 107 | 
             
                  profile_paths = Dir[profiles_path]
         | 
| 110 108 |  | 
    
        data/lib/sigh/options.rb
    CHANGED
    
    | @@ -88,7 +88,7 @@ module Sigh | |
| 88 88 | 
             
                                                 optional: true,
         | 
| 89 89 | 
             
                                                 description: "Filename to use for the generated provisioning profile (must include .mobileprovision)",
         | 
| 90 90 | 
             
                                                 verify_block: proc do |value|
         | 
| 91 | 
            -
                                                    | 
| 91 | 
            +
                                                   UI.user_error!("The output name must end with .mobileprovision") unless value.end_with?(".mobileprovision")
         | 
| 92 92 | 
             
                                                 end),
         | 
| 93 93 | 
             
                    FastlaneCore::ConfigItem.new(key: :skip_fetch_profiles,
         | 
| 94 94 | 
             
                                                 env_name: "SIGH_SKIP_FETCH_PROFILES",
         | 
    
        data/lib/sigh/repair.rb
    CHANGED
    
    | @@ -1,10 +1,10 @@ | |
| 1 1 | 
             
            module Sigh
         | 
| 2 2 | 
             
              class Repair
         | 
| 3 3 | 
             
                def repair_all
         | 
| 4 | 
            -
                   | 
| 4 | 
            +
                  UI.message "Starting login with user '#{Sigh.config[:username]}'"
         | 
| 5 5 | 
             
                  Spaceship.login(Sigh.config[:username], nil)
         | 
| 6 6 | 
             
                  Spaceship.select_team
         | 
| 7 | 
            -
                   | 
| 7 | 
            +
                  UI.message "Successfully logged in"
         | 
| 8 8 |  | 
| 9 9 | 
             
                  # Select all 'Invalid' or 'Expired' provisioning profiles
         | 
| 10 10 | 
             
                  broken_profiles = Spaceship.provisioning_profile.all.find_all do |profile|
         | 
| @@ -12,19 +12,19 @@ module Sigh | |
| 12 12 | 
             
                  end
         | 
| 13 13 |  | 
| 14 14 | 
             
                  if broken_profiles.count == 0
         | 
| 15 | 
            -
                     | 
| 15 | 
            +
                    UI.success "All provisioning profiles are valid, nothing to do"
         | 
| 16 16 | 
             
                    return
         | 
| 17 17 | 
             
                  end
         | 
| 18 18 |  | 
| 19 | 
            -
                   | 
| 19 | 
            +
                  UI.success "Going to repair #{broken_profiles.count} provisioning profiles"
         | 
| 20 20 |  | 
| 21 21 | 
             
                  # Iterate over all broken profiles and repair them
         | 
| 22 22 | 
             
                  broken_profiles.each do |profile|
         | 
| 23 | 
            -
                     | 
| 23 | 
            +
                    UI.message "Repairing profile '#{profile.name}'..."
         | 
| 24 24 | 
             
                    profile.repair! # yes, that's all you need to repair a profile
         | 
| 25 25 | 
             
                  end
         | 
| 26 26 |  | 
| 27 | 
            -
                   | 
| 27 | 
            +
                  UI.success "Successfully repaired #{broken_profiles.count} provisioning profiles"
         | 
| 28 28 | 
             
                end
         | 
| 29 29 | 
             
              end
         | 
| 30 30 | 
             
            end
         | 
    
        data/lib/sigh/resign.rb
    CHANGED
    
    | @@ -41,10 +41,10 @@ module Sigh | |
| 41 41 | 
             
                  puts `#{command}`
         | 
| 42 42 |  | 
| 43 43 | 
             
                  if $?.to_i == 0
         | 
| 44 | 
            -
                     | 
| 44 | 
            +
                    UI.success "Successfully signed #{ipa}!"
         | 
| 45 45 | 
             
                    true
         | 
| 46 46 | 
             
                  else
         | 
| 47 | 
            -
                     | 
| 47 | 
            +
                    UI.error "Something went wrong while code signing #{ipa}"
         | 
| 48 48 | 
             
                    false
         | 
| 49 49 | 
             
                  end
         | 
| 50 50 | 
             
                end
         | 
| @@ -76,7 +76,7 @@ module Sigh | |
| 76 76 |  | 
| 77 77 | 
             
                def find_signing_identity(signing_identity)
         | 
| 78 78 | 
             
                  until installed_identies.include?(signing_identity)
         | 
| 79 | 
            -
                     | 
| 79 | 
            +
                    UI.error "Couldn't find signing identity '#{signing_identity}'."
         | 
| 80 80 | 
             
                    signing_identity = ask_for_signing_identity
         | 
| 81 81 | 
             
                  end
         | 
| 82 82 |  | 
| @@ -90,19 +90,21 @@ module Sigh | |
| 90 90 | 
             
                end
         | 
| 91 91 |  | 
| 92 92 | 
             
                def validate_resign_path(resign_path)
         | 
| 93 | 
            -
                   | 
| 93 | 
            +
                  UI.user_error!('Could not find resign.sh file. Please try re-installing the gem') unless File.exist?(resign_path)
         | 
| 94 94 | 
             
                end
         | 
| 95 95 |  | 
| 96 96 | 
             
                def validate_ipa_file(ipa)
         | 
| 97 | 
            -
                   | 
| 97 | 
            +
                  UI.user_error!("ipa file could not be found or is not an ipa file (#{ipa})") unless File.exist?(ipa) && ipa.end_with?('.ipa')
         | 
| 98 98 | 
             
                end
         | 
| 99 99 |  | 
| 100 100 | 
             
                def validate_provisioning_file(provisioning_profile)
         | 
| 101 | 
            -
                   | 
| 101 | 
            +
                  unless File.exist?(provisioning_profile) && provisioning_profile.end_with?('.mobileprovision')
         | 
| 102 | 
            +
                    UI.user_error!("Provisioning profile file could not be found or is not a .mobileprovision file (#{provisioning_profile})")
         | 
| 103 | 
            +
                  end
         | 
| 102 104 | 
             
                end
         | 
| 103 105 |  | 
| 104 106 | 
             
                def print_available_identities
         | 
| 105 | 
            -
                   | 
| 107 | 
            +
                  UI.message "Available identities: \n\t#{installed_identies.join("\n\t")}\n"
         | 
| 106 108 | 
             
                end
         | 
| 107 109 |  | 
| 108 110 | 
             
                def ask_for_signing_identity
         | 
    
        data/lib/sigh/runner.rb
    CHANGED
    
    | @@ -11,35 +11,35 @@ module Sigh | |
| 11 11 | 
             
                                                     hide_keys: [:output_path],
         | 
| 12 12 | 
             
                                                         title: "Summary for sigh #{Sigh::VERSION}")
         | 
| 13 13 |  | 
| 14 | 
            -
                   | 
| 14 | 
            +
                  UI.message "Starting login with user '#{Sigh.config[:username]}'"
         | 
| 15 15 | 
             
                  Spaceship.login(Sigh.config[:username], nil)
         | 
| 16 16 | 
             
                  Spaceship.select_team
         | 
| 17 | 
            -
                   | 
| 17 | 
            +
                  UI.message "Successfully logged in"
         | 
| 18 18 |  | 
| 19 19 | 
             
                  profiles = [] if Sigh.config[:skip_fetch_profiles]
         | 
| 20 20 | 
             
                  profiles ||= fetch_profiles # download the profile if it's there
         | 
| 21 21 |  | 
| 22 22 | 
             
                  if profiles.count > 0
         | 
| 23 | 
            -
                     | 
| 23 | 
            +
                    UI.success "Found #{profiles.count} matching profile(s)"
         | 
| 24 24 | 
             
                    profile = profiles.first
         | 
| 25 25 |  | 
| 26 26 | 
             
                    if Sigh.config[:force]
         | 
| 27 27 | 
             
                      if profile_type == Spaceship.provisioning_profile::AppStore or profile_type == Spaceship.provisioning_profile::InHouse
         | 
| 28 | 
            -
                         | 
| 28 | 
            +
                        UI.important "Updating the provisioning profile"
         | 
| 29 29 | 
             
                      else
         | 
| 30 | 
            -
                         | 
| 30 | 
            +
                        UI.important "Updating the profile to include all devices"
         | 
| 31 31 | 
             
                        profile.devices = Spaceship.device.all_for_profile_type(profile.type)
         | 
| 32 32 | 
             
                      end
         | 
| 33 33 |  | 
| 34 34 | 
             
                      profile = profile.update! # assign it, as it's a new profile
         | 
| 35 35 | 
             
                    end
         | 
| 36 36 | 
             
                  else
         | 
| 37 | 
            -
                     | 
| 37 | 
            +
                    UI.important "No existing profiles found, that match the certificates you have installed, creating a new one for you"
         | 
| 38 38 | 
             
                    ensure_app_exists!
         | 
| 39 39 | 
             
                    profile = create_profile!
         | 
| 40 40 | 
             
                  end
         | 
| 41 41 |  | 
| 42 | 
            -
                   | 
| 42 | 
            +
                  UI.user_error!("Something went wrong fetching the latest profile") unless profile
         | 
| 43 43 |  | 
| 44 44 | 
             
                  if profile_type == Spaceship.provisioning_profile.in_house
         | 
| 45 45 | 
             
                    ENV["SIGH_PROFILE_ENTERPRISE"] = "1"
         | 
| @@ -64,7 +64,7 @@ module Sigh | |
| 64 64 |  | 
| 65 65 | 
             
                # Fetches a profile matching the user's search requirements
         | 
| 66 66 | 
             
                def fetch_profiles
         | 
| 67 | 
            -
                   | 
| 67 | 
            +
                  UI.message "Fetching profiles..."
         | 
| 68 68 | 
             
                  results = profile_type.find_by_bundle_id(Sigh.config[:app_identifier]).find_all(&:valid?)
         | 
| 69 69 |  | 
| 70 70 | 
             
                  # Take the provisioning profile name into account
         | 
| @@ -100,12 +100,12 @@ module Sigh | |
| 100 100 |  | 
| 101 101 | 
             
                  unless Sigh.config[:skip_fetch_profiles]
         | 
| 102 102 | 
             
                    if Spaceship.provisioning_profile.all.find { |p| p.name == name }
         | 
| 103 | 
            -
                       | 
| 103 | 
            +
                      UI.error "The name '#{name}' is already taken, using another one."
         | 
| 104 104 | 
             
                      name += " #{Time.now.to_i}"
         | 
| 105 105 | 
             
                    end
         | 
| 106 106 | 
             
                  end
         | 
| 107 107 |  | 
| 108 | 
            -
                   | 
| 108 | 
            +
                  UI.important "Creating new provisioning profile for '#{Sigh.config[:app_identifier]}' with name '#{name}'"
         | 
| 109 109 | 
             
                  profile = profile_type.create!(name: name,
         | 
| 110 110 | 
             
                                            bundle_id: bundle_id,
         | 
| 111 111 | 
             
                                          certificate: cert)
         | 
| @@ -137,11 +137,11 @@ module Sigh | |
| 137 137 | 
             
                  end
         | 
| 138 138 |  | 
| 139 139 | 
             
                  if certificates.count > 1 and !Sigh.config[:development]
         | 
| 140 | 
            -
                     | 
| 141 | 
            -
                     | 
| 140 | 
            +
                    UI.important "Found more than one code signing identity. Choosing the first one. Check out `sigh --help` to see all available options."
         | 
| 141 | 
            +
                    UI.important "Available Code Signing Identities for current filters:"
         | 
| 142 142 | 
             
                    certificates.each do |c|
         | 
| 143 143 | 
             
                      str = ["\t- Name:", c.owner_name, "- ID:", c.id + "- Expires", c.expires.strftime("%d/%m/%Y")].join(" ")
         | 
| 144 | 
            -
                       | 
| 144 | 
            +
                      UI.message str.green
         | 
| 145 145 | 
             
                    end
         | 
| 146 146 | 
             
                  end
         | 
| 147 147 |  | 
| @@ -149,8 +149,8 @@ module Sigh | |
| 149 149 | 
             
                    filters = ""
         | 
| 150 150 | 
             
                    filters << "Owner Name: '#{Sigh.config[:cert_owner_name]}' " if Sigh.config[:cert_owner_name]
         | 
| 151 151 | 
             
                    filters << "Certificate ID: '#{Sigh.config[:cert_id]}' " if Sigh.config[:cert_id]
         | 
| 152 | 
            -
                     | 
| 153 | 
            -
                     | 
| 152 | 
            +
                    UI.important "No certificates for filter: #{filters}" if filters.length > 0
         | 
| 153 | 
            +
                    UI.user_error!("Could not find a matching code signing identity for #{profile_type}. You can use cert to generate one (https://github.com/fastlane/cert)")
         | 
| 154 154 | 
             
                  end
         | 
| 155 155 |  | 
| 156 156 | 
             
                  return certificates if Sigh.config[:development] # development profiles support multiple certificates
         | 
| @@ -160,7 +160,7 @@ module Sigh | |
| 160 160 |  | 
| 161 161 | 
             
                # Downloads and stores the provisioning profile
         | 
| 162 162 | 
             
                def download_profile(profile)
         | 
| 163 | 
            -
                   | 
| 163 | 
            +
                  UI.important "Downloading provisioning profile..."
         | 
| 164 164 | 
             
                  profile_name ||= "#{profile.class.pretty_type}_#{Sigh.config[:app_identifier]}.mobileprovision" # default name
         | 
| 165 165 | 
             
                  profile_name += '.mobileprovision' unless profile_name.include? 'mobileprovision'
         | 
| 166 166 |  | 
| @@ -170,7 +170,7 @@ module Sigh | |
| 170 170 | 
             
                    f.write(profile.download)
         | 
| 171 171 | 
             
                  end
         | 
| 172 172 |  | 
| 173 | 
            -
                   | 
| 173 | 
            +
                  UI.success "Successfully downloaded provisioning profile..."
         | 
| 174 174 | 
             
                  return output_path
         | 
| 175 175 | 
             
                end
         | 
| 176 176 |  | 
| @@ -178,21 +178,21 @@ module Sigh | |
| 178 178 | 
             
                def ensure_app_exists!
         | 
| 179 179 | 
             
                  return if Spaceship::App.find(Sigh.config[:app_identifier])
         | 
| 180 180 | 
             
                  print_produce_command(Sigh.config)
         | 
| 181 | 
            -
                   | 
| 181 | 
            +
                  UI.user_error!("Could not find App with App Identifier '#{Sigh.config[:app_identifier]}'")
         | 
| 182 182 | 
             
                end
         | 
| 183 183 |  | 
| 184 184 | 
             
                def print_produce_command(config)
         | 
| 185 | 
            -
                   | 
| 186 | 
            -
                   | 
| 187 | 
            -
                   | 
| 188 | 
            -
                   | 
| 189 | 
            -
                   | 
| 190 | 
            -
                   | 
| 191 | 
            -
                   | 
| 192 | 
            -
                   | 
| 193 | 
            -
                   | 
| 194 | 
            -
                   | 
| 195 | 
            -
                   | 
| 185 | 
            +
                  UI.message ""
         | 
| 186 | 
            +
                  UI.message "==========================================".yellow
         | 
| 187 | 
            +
                  UI.message "Could not find App ID with bundle identifier '#{config[:app_identifier]}'"
         | 
| 188 | 
            +
                  UI.message "You can easily generate a new App ID on the Developer Portal using 'produce':"
         | 
| 189 | 
            +
                  UI.message ""
         | 
| 190 | 
            +
                  UI.message "produce -u #{config[:username]} -a #{config[:app_identifier]} --skip_itc".yellow
         | 
| 191 | 
            +
                  UI.message ""
         | 
| 192 | 
            +
                  UI.message "You will be asked for any missing information, like the full name of your app"
         | 
| 193 | 
            +
                  UI.message "If the app should also be created on iTunes Connect, remove the " + "--skip_itc".yellow + " from the command above"
         | 
| 194 | 
            +
                  UI.message "==========================================".yellow
         | 
| 195 | 
            +
                  UI.message ""
         | 
| 196 196 | 
             
                end
         | 
| 197 197 | 
             
              end
         | 
| 198 198 | 
             
            end
         | 
    
        data/lib/sigh/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: sigh
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.3. | 
| 4 | 
            +
              version: 1.3.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Felix Krause
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016- | 
| 11 | 
            +
            date: 2016-02-02 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: fastlane_core
         | 
| @@ -16,7 +16,7 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - ">="
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: 0. | 
| 19 | 
            +
                    version: 0.36.1
         | 
| 20 20 | 
             
                - - "<"
         | 
| 21 21 | 
             
                  - !ruby/object:Gem::Version
         | 
| 22 22 | 
             
                    version: 1.0.0
         | 
| @@ -26,7 +26,7 @@ dependencies: | |
| 26 26 | 
             
                requirements:
         | 
| 27 27 | 
             
                - - ">="
         | 
| 28 28 | 
             
                  - !ruby/object:Gem::Version
         | 
| 29 | 
            -
                    version: 0. | 
| 29 | 
            +
                    version: 0.36.1
         | 
| 30 30 | 
             
                - - "<"
         | 
| 31 31 | 
             
                  - !ruby/object:Gem::Version
         | 
| 32 32 | 
             
                    version: 1.0.0
         |