Giter VIP home page Giter VIP logo

match's People

Contributors

brad avatar brockboland avatar elaz avatar emilwojtaszek avatar hemal avatar hjanuschka avatar javisoto avatar jinjorge avatar krausefx avatar ky1ejs avatar lacostej avatar mackoj avatar mfurtak avatar mk avatar nscskirk avatar ohayon avatar shrinkrayio avatar skywinder avatar stufi avatar vpolouchkine avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

match's Issues

Crash when there are no devices on the portal

With a clean developer account with zero devices added match crashes when trying to generate a profile.

match development -a bundle.id
match version: 0.2.4

/Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/spaceship-0.18.1/lib/spaceship/client.rb:268:in `parse_response': {"responseId"=>"REDACTED", "resultCode"=>35, "resultString"=>"There were errors in the data supplied. Please correct and re-submit.", "userString"=>"There are no current devices on this team matching the provided device IDs.", "creationTimestamp"=>"2016-01-05T14:59:06Z", "protocolVersion"=>"QH65B2", "requestId"=>nil, "userLocale"=>"en_US", "requestUrl"=>"https://developer.apple.com/services-account/QH65B2/account/ios/profile/createProvisioningProfile.action", "httpCode"=>200, "validationMessages"=>[{"validationKey"=>"deviceIds", "validationUserMessage"=>"There are no current devices on this team matching the provided device IDs."}]} (Spaceship::Client::UnexpectedResponse)
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/spaceship-0.18.1/lib/spaceship/portal/portal_client.rb:363:in `create_provisioning_profile!'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/spaceship-0.18.1/lib/spaceship/portal/provisioning_profile.rb:227:in `block in create!'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/spaceship-0.18.1/lib/spaceship/client.rb:186:in `call'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/spaceship-0.18.1/lib/spaceship/client.rb:186:in `with_retry'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/spaceship-0.18.1/lib/spaceship/portal/provisioning_profile.rb:226:in `create!'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/sigh-1.2.1/lib/sigh/runner.rb:109:in `create_profile!'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/sigh-1.2.1/lib/sigh/runner.rb:39:in `run'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/sigh-1.2.1/lib/sigh/manager.rb:7:in `start'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/match-0.2.4/lib/match/generator.rb:54:in `generate_provisioning_profile'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/match-0.2.4/lib/match/runner.rb:79:in `profile'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/match-0.2.4/lib/match/runner.rb:21:in `run'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/match-0.2.4/bin/match:52:in `block (3 levels) in run'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/match-0.2.4/bin/match:108:in `run'
    from /Users/redwards/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/match-0.2.4/bin/match:116:in `<top (required)>'
    from /Users/redwards/.rbenv/versions/2.2.3/bin/match:23:in `load'
    from /Users/redwards/.rbenv/versions/2.2.3/bin/match:23:in `<main>'

Match for Jenkins, provisioning profile could not be found when using readonly

Hey, I have problem configuring match on Jenkins.
I though that I can generate all certs and provisioning profiles on my mac, it will be pushed and then jenkins can just fetch it (with readonly parameter).

Am I missing something? It fails also when I execute match command via ssh or vnc, not via jenkins.

This is output from my local machine where I have write access to repo:

$ match appstore

+----------------+----------------------------------------------+
|                    Summary for match 0.1.2                    |
+----------------+----------------------------------------------+
| git_url        | [email protected]:whatsahoy/certificates.git |
| type           | appstore                                     |
| app_identifier | com.whatsahoy.Ahoy                           |
| username       | [email protected]                            |
| keychain_name  | login.keychain                               |
| readonly       | false                                        |
| team_id        | F696942EFS                                   |
| team_name      | Hernas Limited                               |
| verbose        | false                                        |
| force          | false                                        |
+----------------+----------------------------------------------+

[23:20:30]: Cloning remote git repo...
[23:20:36]: πŸ”“  Successfully decrypted certificates repo
[23:20:36]: Verifying that the certificate and profile are still valid on the Dev Portal...
[23:21:37]: Couldn't find a valid code signing identity in the git repo for distribution... creating one for you now

+-------------+--------------------------------------------------------------------------------------------+
|                                          Summary for cert 1.2.7                                          |
+-------------+--------------------------------------------------------------------------------------------+
| development | false                                                                                      |
| force       | true                                                                                       |
| username    | [email protected]                                                                          |
| team_id     | F696942EFS                                                                                 |
| team_name   | Hernas Limited                                                                             |
| output_path | /var/folders/_z/mdbp6hlj2798z1sbyqjkt9100000gn/T/d20151224-52957-p9j4wd/certs/distribution |
+-------------+--------------------------------------------------------------------------------------------+

[23:21:37]: Starting login with user '[email protected]'
[23:21:40]: Successfully logged in
[23:21:48]: security import /var/folders/_z/mdbp6hlj2798z1sbyqjkt9100000gn/T/d20151224-52957-p9j4wd/certs/distribution/TD45XZ6PRW.p12 -k '/Users/bartg/Library/Keychains/login.keychain' -T /usr/bin/codesign -T /usr/bin/security
[23:21:48]: 1 key imported.

[23:21:48]: security import /var/folders/_z/mdbp6hlj2798z1sbyqjkt9100000gn/T/d20151224-52957-p9j4wd/certs/distribution/TD45XZ6PRW.cer -k '/Users/bartg/Library/Keychains/login.keychain' -T /usr/bin/codesign -T /usr/bin/security
[23:21:48]: 1 certificate imported.

[23:21:48]: Successfully generated TD45XZ6PRW which was imported to the local machine.

+-------------------------------------+-----------------------------------+
|                         Summary for sigh 1.2.1                          |
+-------------------------------------+-----------------------------------+
| adhoc                               | false                             |
| skip_install                        | false                             |
| development                         | false                             |
| force                               | true                              |
| app_identifier                      | com.whatsahoy.Ahoy                |
| username                            | [email protected]                 |
| team_id                             | F696942EFS                        |
| team_name                           | Hernas Limited                    |
| provisioning_name                   | match AppStore com.whatsahoy.Ahoy |
| ignore_profiles_with_different_name | true                              |
| cert_id                             | TD45XZ6PRW                        |
| skip_fetch_profiles                 | false                             |
| skip_certificate_verification       | false                             |
+-------------------------------------+-----------------------------------+

[23:21:56]: Starting login with user '[email protected]'
[23:21:58]: Successfully logged in
[23:21:58]: Fetching profiles...
[23:22:00]: No existing profiles, creating a new one for you
[23:22:11]: Creating new provisioning profile for 'com.whatsahoy.Ahoy' with name 'match AppStore com.whatsahoy.Ahoy'
[23:22:16]: Downloading provisioning profile...
[23:22:19]: Successfully downloaded provisioning profile...
[23:22:20]: Installing provisioning profile...
/var/folders/_z/mdbp6hlj2798z1sbyqjkt9100000gn/T/d20151224-52957-p9j4wd/profiles/appstore/AppStore_com.whatsahoy.Ahoy.mobileprovision
[23:22:20]: Installing provisioning profile...
[23:22:21]: Enter the passphrase that should be used to encrypt/decrypt your certificates
[23:22:21]: This passphrase is specific per repository and will be stored in your local keychain
[23:22:21]: Make sure to remember the password, as you'll need it when you run match on a different machine
Passphrase for Git Repo: **************************************************
[23:22:29]: πŸ”’  Successfully encrypted certificates repo
[23:22:29]: Pushing changes to remote git repo...

+----------------------+--------------------------------------+
|               Installed Provisioning Profile                |
+----------------------+--------------------------------------+
| App Identifier       | com.whatsahoy.Ahoy                   |
| Type                 | appstore                             |
| UUID                 | 97faf9f7-f4fd-4a5a-a981-9ed1c95ef5d0 |
| Environment Variable | sigh_com.whatsahoy.Ahoy_appstore     |
+----------------------+--------------------------------------+

[23:22:32]: All required keys, certificates and provisioning profiles are installed πŸ™Œ

#######################################################################
# match 0.2.2 is available. You are on 0.1.2.
# It is recommended to use the latest version.
# Update using 'sudo gem update match'.
#######################################################################

0.2.2 Fixed nuke command
Fixed `match nuke` command not working

0.2.1 Improved first run experience
Improved the handling of empty repos

0.2.0 Change Password
- You can now run `match change_password` to re-encrypt your repo with a different password
- Fixed a bug where an empty password was used for encryption instead of the actual one
- Added auto-migration of wrongly encrypted repos, so you don't have to do anything
- Added new `shallow_clone` in case your git repo makes problems

To see all new releases, open https://github.com/fastlane/match/releases

Update using 'sudo gem update match'

And this is from Jenkins, where there is --readonly:

mini:ahoy.ios.rc jenkins$ match appstore --readonly

+----------------+----------------------------------------------+
|                    Summary for match 0.1.2                    |
+----------------+----------------------------------------------+
| git_url        | [email protected]:whatsahoy/certificates.git |
| type           | appstore                                     |
| app_identifier | com.whatsahoy.Ahoy                           |
| username       | [email protected]                            |
| keychain_name  | login.keychain                               |
| readonly       | true                                         |
| team_id        | F696942EFS                                   |
| team_name      | Hernas Limited                               |
| verbose        | false                                        |
| force          | false                                        |
+----------------+----------------------------------------------+

[23:29:35]: Cloning remote git repo...
[23:29:37]: πŸ”“  Successfully decrypted certificates repo
[23:29:37]: Installing certificate...
[23:29:40]: πŸ”’  Successfully encrypted certificates repo

#######################################################################
# match 0.2.2 is available. You are on 0.1.2.
# It is recommended to use the latest version.
# Update using 'sudo gem update match'.
#######################################################################

0.2.2 Fixed nuke command
Fixed `match nuke` command not working

0.2.1 Improved first run experience
Improved the handling of empty repos

0.2.0 Change Password
- You can now run `match change_password` to re-encrypt your repo with a different password
- Fixed a bug where an empty password was used for encryption instead of the actual one
- Added auto-migration of wrongly encrypted repos, so you don't have to do anything
- Added new `shallow_clone` in case your git repo makes problems

To see all new releases, open https://github.com/fastlane/match/releases

Update using 'sudo gem update match'
/usr/local/lib/ruby/gems/2.2.0/gems/fastlane_core-0.31.0/lib/fastlane_core/ui/implementations/shell.rb:110:in `crash!': No matching provisioning profiles found and can not create a new one because you enabled `readonly` (RuntimeError)
    from /usr/local/lib/ruby/gems/2.2.0/gems/fastlane_core-0.31.0/lib/fastlane_core/ui/ui.rb:14:in `method_missing'
    from /usr/local/lib/ruby/gems/2.2.0/gems/match-0.1.2/lib/match/runner.rb:77:in `profile'
    from /usr/local/lib/ruby/gems/2.2.0/gems/match-0.1.2/lib/match/runner.rb:21:in `run'
    from /usr/local/lib/ruby/gems/2.2.0/gems/match-0.1.2/bin/match:50:in `block (3 levels) in run'
    from /usr/local/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /usr/local/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /usr/local/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    from /usr/local/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    from /usr/local/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
    from /usr/local/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    from /usr/local/lib/ruby/gems/2.2.0/gems/match-0.1.2/bin/match:94:in `run'
    from /usr/local/lib/ruby/gems/2.2.0/gems/match-0.1.2/bin/match:101:in `<top (required)>'
    from /usr/local/bin/match:23:in `load'
    from /usr/local/bin/match:23:in `<main>'
mini:ahoy.ios.rc jenkins$ 

Add in Password and passphrase through environment variables

Is there a way to pass in the ssl decryption passphrase and the apple dev password through environment variables in fast lane? Mainly thinking I'd like to use this to do automated builds on an Xcode server, and the Xcode server user doesn't have access to the keychain.

Multiple app targets within a single Matchfile

Its not clear how to define multiple bundle identifiers for separate largest within a single Matchfile.

Handle multiple targets specifies how to specify a specific target when generating a new cert and Multiple Targets explains how to specify them in a fast lane file.

My question is how would you specify multiple app_identifiervalues in your Matchfile so new developers can run match development and have all certificates and provisioning profiles pulled down?

Error setting value _blank_ for option 'workspace' - 98edc44cd62a5c98a72071e8e41e7560

Crash ID: 98edc44cd62a5c98a72071e8e41e7560
Got this error when running on a Teamcity agent:
Error setting value '/Users/username/BuildAgent/temp/buildTmp/d20151214-19897-9t0ajd' for option 'workspace'
Works great when ran locally on machine but doesn't seem to like where the agent checks out the project I'm guessing. Teamcity also sets a whole bunch of its own ENV vars that may or may not conflict with those used by match 😁

Add new devices to existing provision profile, that match created

Hi. is it possible to add new devices to provision profile, that match manage?

  1. Now I have to run
    match nuke development && match development to recreate them
    What is the proper way to do that?

  2. If I add devices via developer.apple.com to provosion profile - the I have error in match:
    Provisioning profile '3088dfc9-f701-483b-8535-xxxxxx' is not available on the Developer Portal
    And don't know how to fix it. match nuke - is only one way? is it possible to recreate provisions without recreation of Certificates?

unexpected token at HTTP 400 Bad Request

I'm getting this crash during provisioning profile generation using sigh:

[12:31:34]: Successfully logged in
[12:31:34]: Fetching profiles...
[12:31:37]: No existing profiles, creating a new one for you
[12:31:40]: Creating new provisioning profile for 'com.myapp' with name 'match Development com.myapp'
/Users/emil/.rvm/gems/ruby-2.1.2/gems/json-1.8.3/lib/json/common.rb:155:in `parse': 757: unexpected token at 'HTTP 400 Bad Request' (Faraday::ParsingError)
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/json-1.8.3/lib/json/common.rb:155:in `parse'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/faraday_middleware-0.10.0/lib/faraday_middleware/response/parse_json.rb:11:in `block in <class:ParseJson>'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/faraday_middleware-0.10.0/lib/faraday_middleware/response_middleware.rb:48:in `call'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/faraday_middleware-0.10.0/lib/faraday_middleware/response_middleware.rb:48:in `parse'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/faraday_middleware-0.10.0/lib/faraday_middleware/response_middleware.rb:39:in `process_response'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/faraday_middleware-0.10.0/lib/faraday_middleware/response_middleware.rb:32:in `block in call'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/faraday-0.9.2/lib/faraday/response.rb:57:in `on_complete'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/faraday_middleware-0.10.0/lib/faraday_middleware/response_middleware.rb:30:in `call'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/faraday-0.9.2/lib/faraday/rack_builder.rb:139:in `build_response'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/faraday-0.9.2/lib/faraday/connection.rb:377:in `run_request'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/faraday-0.9.2/lib/faraday/connection.rb:177:in `post'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/spaceship-0.16.0/lib/spaceship/client.rb:250:in `block in send_request'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/spaceship-0.16.0/lib/spaceship/client.rb:184:in `call'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/spaceship-0.16.0/lib/spaceship/client.rb:184:in `with_retry'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/spaceship-0.16.0/lib/spaceship/client.rb:249:in `send_request'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/spaceship-0.16.0/lib/spaceship/client.rb:225:in `request'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/spaceship-0.16.0/lib/spaceship/portal/portal_client.rb:336:in `create_provisioning_profile!'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/spaceship-0.16.0/lib/spaceship/portal/provisioning_profile.rb:222:in `block in create!'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/spaceship-0.16.0/lib/spaceship/client.rb:184:in `call'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/spaceship-0.16.0/lib/spaceship/client.rb:184:in `with_retry'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/spaceship-0.16.0/lib/spaceship/portal/provisioning_profile.rb:221:in `create!'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/sigh-1.2.1/lib/sigh/runner.rb:109:in `create_profile!'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/sigh-1.2.1/lib/sigh/runner.rb:39:in `run'
        from /Users/emil/.rvm/gems/ruby-2.1.2/gems/sigh-1.2.1/lib/sigh/manager.rb:7:in `start'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/lib/match/generator.rb:54:in `generate_provisioning_profile'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/lib/match/runner.rb:78:in `profile'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/lib/match/runner.rb:21:in `run'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/bin/match:50:in `block (3 levels) in run'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/bin/match:94:in `run'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/bin/match:101:in `<top (required)>'
    from /Users/emil/.rvm/gems/ruby-2.1.2/bin/match:23:in `load'
    from /Users/emil/.rvm/gems/ruby-2.1.2/bin/match:23:in `<main>'
    from /Users/emil/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval'
    from /Users/emil/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>'

No password supplied

Running this command 'match development' with match 0.2.1 I get this error "[!] No password supplied" with 0.1.2 works fine.

| Summary for match 0.2.1 |
+----------------+--------------------------------------------------------------+
| git_url | ssh://[email protected]/myrepo/myrepo.git |
| type | appstore |
| app_identifier | |
| username | |
| keychain_name | login.keychain |
| readonly | false |
| verbose | false |
| force | false |
| shallow_clone | true |
+----------------+--------------------------------------------------------------+

[09:54:25]: Cloning remote git repo...
[09:54:27]: Migrating to new match...
[09:54:27]: πŸ”’ Successfully encrypted certificates repo
[09:54:27]: Cloning remote git repo...

[!] No password supplied
[09:54:29]: πŸ”’ Successfully encrypted certificates repo

git-host by gitlab without https

Our projects all host on own gitlab server without https, may i ask why force git url must start with either https:// or git:// ?

Match fails to handle path parameter

Hi,

For some reason our git repository manager does not support configuration like git_url "ssh://[email protected]/CISandbox/fastlane/match" and will look for the CISandbox/fastlane/match repository (and obviously fail to find it)

INFO [2016-01-04 19:39:04.25]: Cloning remote git repo...
INFO [2016-01-04 19:39:04.25]: $ git clone 'ssh://[email protected]/CISandbox/fastlane/match' '/var/folders/3t/1rggmx_x3n7d39q66r4v3dzw0000gn/T/d20160104-46961-bxoqyq'
INFO [2016-01-04 19:39:04.26]: > Cloning into '/var/folders/3t/1rggmx_x3n7d39q66r4v3dzw0000gn/T/d20160104-46961-bxoqyq'...
INFO [2016-01-04 19:39:04.51]: > FATAL: R any CISandbox/fastlane/match nicolas_braun DENIED by fallthru
INFO [2016-01-04 19:39:04.51]: > (or you mis-spelled the reponame)
INFO [2016-01-04 19:39:04.51]: > fatal: Could not read from remote repository.
INFO [2016-01-04 19:39:04.51]: > Please make sure you have the correct access rights
INFO [2016-01-04 19:39:04.51]: > and the repository exists.

I am not really sure why it works in your example

Maybe a good option would be to add a path parameter to indicate in which folder to store the certificates and profiles (maybe the Matchfile - not sure it is necessary for it to be in the same one)

Thanks for your help,

Nicolas

git shallow

during pushing changes to remote git repo i'm getting this error:

...
INFO [2015-12-14 01:01:49.58]: $ git push origin master
INFO [2015-12-14 01:01:51.30]: > Counting objects: 19, done.
INFO [2015-12-14 01:01:51.30]: > Delta compression using up to 4 threads.
INFO [2015-12-14 01:01:51.31]: > Compressing objects: 100% (19/19), done.
INFO [2015-12-14 01:01:51.31]: > Writing objects: 100% (19/19), 61.50 KiB | 0 bytes/s, done.
INFO [2015-12-14 01:01:51.31]: > Total 19 (delta 0), reused 0 (delta 0)
INFO [2015-12-14 01:01:51.38]: > fatal: protocol error: expected old/new/ref, got 'shallow 07bdfc3a9b4c332ccf5128cc208add62e74fe75e'
INFO [2015-12-14 01:01:51.38]: > fatal: The remote end hung up unexpectedly
INFO [2015-12-14 01:01:51.38]: > fatal: The remote end hung up unexpectedly
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (19/19), 61.50 KiB | 0 bytes/s, done.
Total 19 (delta 0), reused 0 (delta 0)
fatal: protocol error: expected old/new/ref, got 'shallow 07bdfc3a9b4c332ccf5128cc208add62e74fe75e'
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
ERROR [2015-12-14 01:01:51.38]: Exit status: 128
/Users/emil/.rvm/gems/ruby-2.1.2/gems/fastlane_core-0.29.1/lib/fastlane_core/command_executor.rb:56:in `execute': undefined method `call' for nil:NilClass (NoMethodError)
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/lib/match/git_helper.rb:46:in `block (2 levels) in commit_changes'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/lib/match/git_helper.rb:45:in `each'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/lib/match/git_helper.rb:45:in `block in commit_changes'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/lib/match/git_helper.rb:33:in `chdir'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/lib/match/git_helper.rb:33:in `commit_changes'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/lib/match/runner.rb:28:in `run'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/bin/match:50:in `block (3 levels) in run'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/bin/match:94:in `run'
    from /Users/emil/.rvm/gems/ruby-2.1.2/gems/match-0.1.0/bin/match:101:in `<top (required)>'
    from /Users/emil/.rvm/gems/ruby-2.1.2/bin/match:23:in `load'
    from /Users/emil/.rvm/gems/ruby-2.1.2/bin/match:23:in `<main>'
    from /Users/emil/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval'
    from /Users/emil/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>'

`match appstore` cause crash right after installation

match appstore cause crash right after installation

435dd3ad2fc0ed08141969297a93ca8a

fastlane appstore
[17:16:53]: -------------------------------------------------
[17:16:53]: --- Step: Verifying required fastlane version ---
[17:16:53]: -------------------------------------------------
[17:16:53]: fastlane version valid
Successfully submitted a crash report. If this is a problem with one of the tools specifically,
please submit an issue on GitHub and attach the following number to it: '435dd3ad2fc0ed08141969297a93ca8a'
The crash report has been stored locally '/tmp/sentry_435dd3ad2fc0ed08141969297a93ca8a.json'

Multiple bundle identifier workflow.

Hi. It's not clear from https://codesigning.guide/

If your app has multiple targets (e.g. Today widget) you have to repeat the above for each target

Can you explain this workflow in details? Where should I specify another targets bundle id's and how should it looks like?

Crash: When no teams exist in your AppleID account

Low priority as you should inevitably have at least one team in your AppleID account. However, if you create a new appleID as followed in the guide, and forget to click the invitation link to accept yourself into a team, the program will crash.

Perhaps catch and display a You're being stupid error.

/Library/Ruby/Gems/2.0.0/gems/spaceship-0.19.0/lib/spaceship/client.rb:268:in `parse_response': {"creationTimestamp"=>"2016-01-06T11:06:12Z", "resultCode"=>0, "userLocale"=>"en_US", "protocolVersion"=>"QH65B2", "requestUrl"=>"https://developerservices2.apple.com:443//services/QH65B2/listTeams.action", "responseId"=>"a58cb7ee-074f-4d58-ae66-b189c39a5d89"} (Spaceship::Client::UnexpectedResponse)
    from /Library/Ruby/Gems/2.0.0/gems/spaceship-0.19.0/lib/spaceship/portal/portal_client.rb:62:in `teams'
    from /Library/Ruby/Gems/2.0.0/gems/spaceship-0.19.0/lib/spaceship/portal/ui/select_team.rb:35:in `select_team'
    from /Library/Ruby/Gems/2.0.0/gems/spaceship-0.19.0/lib/spaceship/portal/portal_client.rb:78:in `select_team'
    from /Library/Ruby/Gems/2.0.0/gems/spaceship-0.19.0/lib/spaceship/portal/spaceship.rb:37:in `select_team'
    from /Library/Ruby/Gems/2.0.0/gems/spaceship-0.19.0/lib/spaceship/portal/spaceship.rb:81:in `select_team'
    from /Library/Ruby/Gems/2.0.0/gems/match-0.2.4/lib/match/spaceship_ensure.rb:20:in `initialize'
    from /Library/Ruby/Gems/2.0.0/gems/match-0.2.4/lib/match/runner.rb:11:in `new'
    from /Library/Ruby/Gems/2.0.0/gems/match-0.2.4/lib/match/runner.rb:11:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/match-0.2.4/bin/match:52:in `block (3 levels) in run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/match-0.2.4/bin/match:108:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/match-0.2.4/bin/match:116:in `<top (required)>'
    from /usr/bin/match:23:in `load'
    from /usr/bin/match:23:in `<main>'

UUIDs prefills

Hey Felix Match looks awesome!
In the doc you wrote

match automatically pre-fills environment variables with the UUIDs of the correct provisioning profiles, ready to be used in your Xcode project.

At what point this value is set in my project

Also in our fastlane does it mean we can replace cert and sigh by match ?

lane :beta do
    # cert
    # sigh(force: true)
    # ENV["PROFILE_UDID"] = lane_context[SharedValues::SIGH_UDID]
    match(type: "appstore")
    gym(scheme: "MyScheme")
    pilot
  end

Does not support non-default port numbers for ssh

We use self hosted git repos and use a custom port for git ssh which we normally include in the git url

eg.
[email protected]:43700/diffusion/username/certificates.git

match gives me this error:

[20:02:07]: Cloning remote git repo...
Cloning into '/var/folders/0_/kxt_3yns5l71stj95zbmjqtw0000gn/T/d20151210-10388-12xa7x7'...
ssh: connect to host mycompany.com port 22: Connection refused
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
[20:02:08]: Exit status: 128
/Users/username/.rvm/gems/ruby-2.2.1@global/gems/fastlane_core-0.29.1/lib/fastlane_core/command_executor.rb:56:in `execute': undefined method `call' for nil:NilClass (NoMethodError)
    from /Users/username/.rvm/gems/ruby-2.2.1@global/gems/match-0.1.0/lib/match/git_helper.rb:9:in `clone'
    from /Users/username/.rvm/gems/ruby-2.2.1@global/gems/match-0.1.0/lib/match/runner.rb:10:in `run'
    from /Users/username/.rvm/gems/ruby-2.2.1@global/gems/match-0.1.0/bin/match:37:in `block (2 levels) in run'
    from /Users/username/.rvm/gems/ruby-2.2.1@global/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Users/username/.rvm/gems/ruby-2.2.1@global/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Users/username/.rvm/gems/ruby-2.2.1@global/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    from /Users/username/.rvm/gems/ruby-2.2.1@global/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    from /Users/username/.rvm/gems/ruby-2.2.1@global/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
    from /Users/username/.rvm/gems/ruby-2.2.1@global/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    from /Users/username/.rvm/gems/ruby-2.2.1@global/gems/match-0.1.0/bin/match:94:in `run'
    from /Users/username/.rvm/gems/ruby-2.2.1@global/gems/match-0.1.0/bin/match:101:in `<top (required)>'
    from /Users/username/.rvm/rubies/ruby-2.2.1/bin/match:23:in `load'
    from /Users/username/.rvm/rubies/ruby-2.2.1/bin/match:23:in `<main>'
    from /Users/username/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval'
    from /Users/username/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>'

Use match for enterprise codesigning

Hi,

I am trying to use Match to share and Entreprise In House certificat.
The enterprise type is not officially supported but using type appstore the following command works

match appstore

to generate a distribution certificate and inHouse mobileprovision (even though it is called Match AppStore) http://i.imgur.com/IauNTHg.png

Sadly the following commands fail afterwards to retrieve the assets.

match appstore --readonly

Is there any solution int he current state of match?

Regards,

Nicolas

Travis builds are failing

Builds on Travis are failing with the master branch which makes checks for contribution auto-fail. Example of failed Travis build can be found here.

Nuke command try to delete provisioning profile for a different account

Having multiple accounts with match sharing the same git repo seem to have a problem with the nuke command. When you try to remove a certificate, using for example match nuke development, it will also try to remove all the development provisioning profiles stored in the repository, disregarding which account do they belong to.

Using match version 0.2.4.

ArgumentError when running match nuke

Getting a crash here in 0.2.1 when running match nuke distribution.

$ match nuke distribution
/Library/Ruby/Gems/2.0.0/gems/match-0.2.1/lib/match/git_helper.rb:3:in `clone': wrong number of arguments (1 for 2) (ArgumentError)
    from /Library/Ruby/Gems/2.0.0/gems/match-0.2.1/lib/match/nuke.rb:14:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/match-0.2.1/bin/match:101:in `block (3 levels) in run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    from /Library/Ruby/Gems/2.0.0/gems/match-0.2.1/bin/match:108:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/match-0.2.1/bin/match:116:in `<top (required)>'
    from /usr/local/bin/match:23:in `load'
    from /usr/local/bin/match:23:in `<main>'

Matchfile looks like this:

git_url "https://bitbucket.org/myusername/myapp"

type "development" # The default type, can be: appstore, adhoc or development

app_identifier "com.mycompany.myapp"
username "[email protected]" # Your Apple Developer Portal username

# For all available options run `match --help`
# Remove the # in the beginning of the line to enable the other options

Any other helpful information I can give?

How should new devices be added to provisioning profiles?

When running match development new devices are not automatically added to the existing provisioning profiles.

When manually added through the portal, running match development will complain that the provisioning profile is now missing.

[11:29:59]: Cloning remote git repo...
[11:30:00]: πŸ”“  Successfully decrypted certificates repo
[11:30:00]: Verifying that the certificate and profile are still valid on the Dev Portal...
[11:30:02]: Installing certificate...
[11:30:03]: Installing provisioning profile...
[11:30:04]: Provisioning profile 'REDACTED' is not available on the Developer Portal
[11:30:04]: for the user REDACTED
[11:30:04]: Make sure to use the same user and team every time you run 'match' for this
[11:30:04]: Git repository. This might be caused by deleting the provisioning profile on the Dev Portal

Installation of old version of match via gem

I tried to install prvious working version, but have no luck. what I'm doing wrong?

> sudo gem install match -v 0.1.0

Fetching: match-0.1.0.gem (100%)
Successfully installed match-0.1.0
Parsing documentation for match-0.1.0
Installing ri documentation for match-0.1.0
Done installing documentation for match after 0 seconds
1 gem installed

> match -v

match 0.2.2

Error with "Invalid Provisioning Profile"

match 0.1.2. Steps:

on dev machine: match nuke, then match development
on circleci: match development, then gym, then pitot

log from CI server for match:
+----------------+----------------------------------------------------+
| Summary for match 0.1.2 |
+----------------+----------------------------------------------------+
| git_url | git+ssh://[email protected]/my2bytes/certificates.git |
| type | development |
| app_identifier | com.My2Bytes.ShoppingApp.Demo |
| username | [email protected] |
| keychain_name | login.keychain |
| readonly | true |
| verbose | true |
| force | false |
+----------------+----------------------------------------------------+

INFO [2015-12-22 20:56:18.10]: Cloning remote git repo...
INFO [2015-12-22 20:56:18.10]: $ git clone 'git+ssh://[email protected]/my2bytes/certificates.git' '/var/folders/jm/fw86rxds0xn69sk40d18y69m0000gp/T/d20151222-4072-1bzxo1c' --depth 1
INFO [2015-12-22 20:56:18.10]: > Cloning into '/var/folders/jm/fw86rxds0xn69sk40d18y69m0000gp/T/d20151222-4072-1bzxo1c'...
INFO [2015-12-22 20:56:18.49]: > remote: Counting objects: 17, done.
INFO [2015-12-22 20:56:18.49]: > remote: Compressing objects: 100% (17/17), done.
INFO [2015-12-22 20:56:18.53]: > remote: Total 17 (delta 0), reused 16 (delta 0), pack-reused 0
INFO [2015-12-22 20:56:18.53]: > Receiving objects: 100% (17/17), 38.62 KiB | 0 bytes/s, done.
INFO [2015-12-22 20:56:18.61]: > Checking connectivity... done.
INFO [2015-12-22 20:56:18.63]: πŸ”“ Decrypted 'NZL65R46D5.cer'
INFO [2015-12-22 20:56:18.63]: πŸ”“ Decrypted 'CMVR7EK86M.cer'
INFO [2015-12-22 20:56:18.64]: πŸ”“ Decrypted 'NZL65R46D5.p12'
INFO [2015-12-22 20:56:18.65]: πŸ”“ Decrypted 'CMVR7EK86M.p12'
INFO [2015-12-22 20:56:18.65]: πŸ”“ Decrypted 'AppStore_com.My2Bytes.ShoppingApp.Demo.mobileprovision'
INFO [2015-12-22 20:56:18.66]: πŸ”“ Decrypted 'AppStore_com.My2Bytes.ShoppingApp.CLIENT.QA.mobileprovision'
INFO [2015-12-22 20:56:18.67]: πŸ”“ Decrypted 'Development_com.My2Bytes.ShoppingApp.Demo.mobileprovision'
INFO [2015-12-22 20:56:18.67]: πŸ”“ Decrypted 'Development_com.My2Bytes.ShoppingApp.CLIENT.QA.mobileprovision'
INFO [2015-12-22 20:56:18.67]: πŸ”“ Successfully decrypted certificates repo
INFO [2015-12-22 20:56:18.68]: Installing certificate...
INFO [2015-12-22 20:56:18.71]: $ security import /var/folders/jm/fw86rxds0xn69sk40d18y69m0000gp/T/d20151222-4072-1bzxo1c/certs/development/NZL65R46D5.cer -k ~/Library/Keychains/login.keychain -T /usr/bin/codesign -T /usr/bin/security&> /dev/null
INFO [2015-12-22 20:56:18.74]: $ security import /var/folders/jm/fw86rxds0xn69sk40d18y69m0000gp/T/d20151222-4072-1bzxo1c/certs/development/NZL65R46D5.p12 -k ~/Library/Keychains/login.keychain -T /usr/bin/codesign -T /usr/bin/security&> /dev/null
INFO [2015-12-22 20:56:18.78]: Installing provisioning profile...
WARN [2015-12-22 20:56:18.92]: Setting environment variable 'sigh_com.My2Bytes.ShoppingApp.Demo_development' to '5e052cf1-1ec9-48a1-a1f0-f3f445b8d2b8'

+----------------------+------------------------------------------------+
| Installed Provisioning Profile |
+----------------------+------------------------------------------------+
| App Identifier | com.My2Bytes.ShoppingApp.Demo |
| Type | development |
| UUID | 5e052cf1-1ec9-48a1-a1f0-f3f445b8d2b8 |
| Environment Variable | sigh_com.My2Bytes.ShoppingApp.Demo_development |
+----------------------+------------------------------------------------+

error from pilot:
ErrorMessage = ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.My2Bytes.ShoppingApp.Demo [Payload/ShoppingApp.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal.

My understanding is that match should take care of signing certificate and provisioning profile. What am I missing and how can it be fixed?

fatal: The remote end hung up unexpectedly [14:52:46]: Exit status: 128

Getting an error trying to nuke certs/profiles

see here:

15:07:01: Are you sure you want to completely delete and revoke all the
15:07:01: certificates and provisioning profiles listed above? (y/n)
15:07:01: Warning: The :app_identifier value will be ignored - this will delete all profiles for all your apps!

(y/n)
y

15:07:07: --- Deleting 3 files from the git repo... ---

15:07:07: Deleting file '_.cer'...
15:07:07: Successfully deleted file
15:07:07: Deleting file '_
_.p12'...
15:07:07: Successfully deleted file
15:07:07: Deleting file '
_****'...
15:07:07: Successfully deleted file
15:07:07: πŸ”’ Successfully encrypted certificates repo
15:07:07: Pushing changes to remote git repo...
Counting objects: 2, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 311 bytes | 0 bytes/s, done.
Total 2 (delta 0), reused 0 (delta 0)
fatal: protocol error: expected old/new/ref, got 'shallow 4b0ed398eaff83dd2143108ac01e4dd4a97fbb0c'
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
[15:07:09]: Exit status: 128

passphrase vs password

Match uses both password and passphrase in documentation, command line options and environment variables. I would prefer if only one was used, most probably passphrase.

So I would

  • redo the README to mention passphrase only
  • rename the change_password command to change_passphrase
  • change MATCH_PASSWORD to MATCH_PASSPHRASE.

How does that sound ?

There is one certificate that I cannot delete with nuke

When I try to nuke the certificates I get an error that says:

This certificate can only be revoked by Apple Developer Program Support

And match crash without deleting the other certificates..

match 0.1.0

full log:

Revoking certificate '<name> <lastname>' (XXXXXXXX)...
/opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/spaceship-0.16.0/lib/spaceship/client.rb:266:in `parse_response': {"responseId"=>"xxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx", "resultCode"=>7475, "resultString"=>"This certificate can only be revoked by Apple Developer Program Support.&#xa;https&#x3a;&#x2f;&#x2f;developer.apple.com&#x2f;support", "userString"=>"This certificate can only be revoked by Apple Developer Program Support.&#xa;https&#x3a;&#x2f;&#x2f;developer.apple.com&#x2f;support", "creationTimestamp"=>"2015-12-11T18:19:09Z", "protocolVersion"=>"QH65B2", "requestId"=>nil, "userLocale"=>"en_US", "requestUrl"=>"https://developer.apple.com/services-account/QH65B2/account/ios/certificate/revokeCertificate.action", "httpCode"=>200} (Spaceship::Client::UnexpectedResponse)
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/spaceship-0.16.0/lib/spaceship/portal/portal_client.rb:315:in `revoke_certificate!'
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/spaceship-0.16.0/lib/spaceship/portal/certificate.rb:266:in `revoke!'
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/match-0.1.0/lib/match/nuke.rb:127:in `block in nuke_it_now!'
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/match-0.1.0/lib/match/nuke.rb:125:in `each'
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/match-0.1.0/lib/match/nuke.rb:125:in `nuke_it_now!'
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/match-0.1.0/lib/match/nuke.rb:37:in `run'
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/match-0.1.0/bin/match:87:in `block (3 levels) in run'
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:68:in `run!'
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/match-0.1.0/bin/match:94:in `run'
    from /opt/rubies/2.0.0-p645/lib/ruby/gems/2.0.0/gems/match-0.1.0/bin/match:101:in `<top (required)>'
    from /opt/boxen/rbenv/versions/2.0.0/bin/match:23:in `load'

Crypt password is not passed onto openssl command

Hi

I was trying to decrypt the items of the repo with my password, but the openssl command always failed. I modified the encrypt.rb file to print out the openssl command used to decrypt the repo items and found, that the password was not passed onto the openssl command.

openssl aes-256-cbc -k "" -in "/some/folder/file" -out /some/tempfolder/decrpytedfile" -a -d
instead of:
openssl aes-256-cbc -k "MySuperDuperPassword" -in "/some/folder/file" -out /some/tempfolder/decrpytedfile" -a -d

Could you please verify? Steps to verify:

  • Clone your git repo: git clone ${git_url}
  • Change into cloned repo: cd ${your-git-repo}
  • Decrypt with password: openssl aes-256-cbc -k "${yourpassword}" -in "certs/development/${file}.p12" -out "${file}.p12" -a -d
    Should fail with error: bad decrypt
  • Decrpyt with no password: openssl aes-256-cbc -k "" -in "certs/development/${file}.p12" -out "${file}.p12" -a -d

will it work if you have AppStore and Enterprise account

Is there support for having both Enterprise and Normal developer account in one project file ? i.e. some bundle ids singed as adhoc and other are as enterprise account.

What would be the advice in such environment ? (two separate repos?)

Store Certs in a folder

Is there a way to store certs inside the fastlane folder instead of in the keychain? There was an option like this for sigh, which was helpful when trying to setup an Xcode build server, as the Xcode server user doesn't have access to the keychain.

Failing build with bitrise

Hi,

I am using match and fastlane, and the job is currently failing with a codesign error in Xcode:

Code Sign error: No code signing identities found: No valid signing identities (i.e. certificate and private key pair) were found.

I am just doing a match and gym. My Xcode project has the provisioning profile set to $(sigh...) and codesign to iOS Distribution

here's the log attached:
d2d76b6153e483f4.txt

Note: works fine on my machine...

Should fastfix create an app with the provided bundle ID when it doesn't exist?

I'm using fastfix to intsall https://justgetflux.com/sideload/ on my phone :) (It seems like a great usecase).

I provided this in my Fixfile:

git_url "[email protected]:XYZ"

type "development" # The default type, can be: appstore, adhoc, development or enterprise

app_identifier "com.justgetflux.iflux"
username "XYZW"

I get this error:

[10:20:44]: Creating new provisioning profile for 'com.justgetflux.iflux' with name 'com.justgetflux.iflux Development'
/usr/local/lib/ruby/gems/2.2.0/gems/spaceship-0.13.1/lib/spaceship/portal/provisioning_profile.rb:201:in `create!': Could not find app with bundle id 'com.justgetflux.iflux' (RuntimeError)

Should Fastfix try to do this automatically? Or is that dangerous? Maybe it can simply show what command you can use to create it?

Best way to use match for several teams

Hi,

I our company we have an Apple Developer Program account and a Apple Developer Enterprise Program.

I intended to use one single repository to store the provisioning assets from both account in a same place. (and eventually for the one from my client's teams)

For the first account everything worked perfectly but when I tried to create the codesigning stuff for the second one I got the following error

[19:20:34]: Certificate '5KL59A3333' (stored in your git repo) is not available on the Developer Portal
[19:20:34]: for the user [email protected]
[19:20:34]: Make sure to use the same user and team every time you run 'match' for this
[19:20:34]: Git repository. This might be caused by revoking the certificate on the Dev Portal

This well handled error lets me believe that Match is not intended to be used on several teams and I am thinking of the following solutions, not sure which is the best

Solution1
One repo per team : This could really make a lot

Solution2
One user per team : not viable

Solution3 : use folders
Would it work to have separated folder on the same single repo? like git_url "https://github.com/project/certificates/account1" in a Matchfile and git_url "https://github.com/project/certificates/account2"in another one , each Matchfile being in the account1 or account2 folder.

Thanks for your work and help,

Nicolas

PS:
As a side effect - let's assume one day Match will manage the same user on several team - you can have a Development_*.mobileprovision in each team so maybe adding the team_name to the filename might be a good security

Use same keys (appstore or distribution)

When there is different names for same lanes - it make confes
:
match nuke distribution
match appstore

i.e. distribution & appstore is the same things.. What do you think to use one of this words in the future or make them aliases to each others?

Match fails in a non-empty repository

Hello,

If I try to run match on a non empty repo it will fail to decrypt the content.

Ideally match should only try to decrypt the content of the folders which are related to it (profiles and certs folder I believe).

To give you a bit a context my final goal would be to have for each of my project a structure with a fastlane folder with Fastfile, Matchfile and all fastlane related stuff within.

Thanks,
Nicolas

Change Crypt Password

is there any plan, to add a feature so we can change the crypt password?! and re-encrypt the stored files?

edit: and first of all i LOVE fastlane!!! been using it for ages, and i like the progress! and gym/match/pilot are the best additions!!!!! 😍

Cannot rewrite keychain item

I've entered wrong password first time, after it password request looped and each time i getting this:

Passphrase for Git Repo: ***************
security: SecKeychainAddInternetPassword <NULL>: The specified item already exists in the keychain.
[14:54:46]: Enter the passphrase that should be used to encrypt/decrypt your certificates
[14:54:46]: This passphrase is specific per repository and will be stored in your local keychain
[14:54:46]: Make sure to remember the password, as you'll need it when you run match on a different machine
Passphrase for Git Repo: 

Nuke and apps in Testflight

The readme says

Don't worry, apps that are already available in the App Store will still work.

But maybe there should be added that this isn't true for apps in testflight;

redacted-aktlx8stsu98fr-dus6dqg-xgpqjlrivzkyb_g1e7vvx

Stalling on cloning git repo

So I created a new private git repo and no matter which protocol i use to connect (https, git://, or ssh://) Match just sits at 'Cloning remote git repo...'

match 0.1.1 directly run in the terminal with a default match file with just the git url in it.

the git repo is empty except for a read me. So it shouldn't take longer than a second to be cloned.

Any ideas on where to troubleshoot from here?

android equivalent for match

It would be awesome to have this kind of functionality for android.. and have a shared repo where to store the android keystore.

I don't know if that would be in the same match tool or a only android version...

Could not create another certificate, reached the maximum number of available certificates.

Running match development after cleaning everything up with match nuke development fails with the following error:

[11:46:02]: Could not create another certificate, reached the maximum number of available certificates.
[!] Could not create a new certificate as you reached the maximum number of certificates for this account. You can use the `match nuke` command to revoke your existing certificates. More information https://github.com/fastlane/match

As I have already run match nuke there are currently no development certificates in the developer portal. I am using an Enterprise account is that makes a difference.

MATCH_TEAM_ID environment variable being ignored

I have configured ENV["MATCH_TEAM_ID"] = "the_team_code". The team code is being ignored and match is always asking me to select the team:

[16:56:33]: Verifying that the certificate and profile are still valid on the Dev Portal...
Multiple teams found, please enter the number of the team you want to use: 
1) another_team_code "Team name" (Company/Organization)
2) the_team_code "Other team" (Company/Organization)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.