fastlane-old / gym

Building your iOS apps has never been easier
https://fastlane.tools
645 stars 54 forks source link

Match / gym issue: "Code Sign error: No code signing identities found" #209

Closed aaronwhite closed 8 years ago

aaronwhite commented 8 years ago

Hi folks, been struggling w/ this for a long bit. On my local machine, my release lane works wonderfully. However, on Circle CI it fails with the following message:

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

  lane :release do

    match(
      git_url: "git+ssh://git@github.com/myorg/certificates.git",
      type: "appstore",
      verbose: true
    )

    gym(
      configuration: "Release",
      verbose: true
    )

I have my my project & target Provisioning Profile for Release set to $(sigh_com.myorg.myapp_appstore) ala the code signing guide.

If however, I change the call to gym to use the UUID directly, I fail with this error instead: Code Sign error: No matching codesigning identity found: No codesigning identities (i.e. certificate and private key pairs) matching “thedirectUUID” were found.

I'm at a loss having tried many permutations over the course of many many hours, any insights or possible next-steps would be greatly appreciated.

jeffreyjackson commented 8 years ago

Ive been fighting this past day or so. I would recommend using match, and using git@github.com:myorg/certificates as the git_url

aaronwhite commented 8 years ago

@jeffreyjackson thanks - just tried that, same result. In both cases, it successfully pulls the certs & installs them/provisioning profile AOK

INFO [2016-02-13 14:25:41.72]: ▸ Cloning into '/var/folders/jm/fw86rxds0xn69sk40d18y69m0000gp/T/d20160213-3612-719wi5'...
INFO [2016-02-13 14:25:42.15]: ▸ remote: Counting objects: 18, done.
INFO [2016-02-13 14:25:42.15]: ▸ remote: Compressing objects: 100% (17/17), done.
INFO [2016-02-13 14:25:42.15]: ▸ remote: Total 18 (delta 0), reused 16 (delta 0), pack-reused 0
INFO [2016-02-13 14:25:42.15]: ▸ Receiving objects: 100% (18/18), 34.13 KiB | 0 bytes/s, done.
INFO [2016-02-13 14:25:42.23]: ▸ Checking connectivity... done.
INFO [2016-02-13 14:25:42.26]: 🔓  Decrypted 'L22392X346.cer'
INFO [2016-02-13 14:25:42.27]: 🔓  Decrypted 'N9MP5DM94S.cer'
INFO [2016-02-13 14:25:42.28]: 🔓  Decrypted 'L22392X346.p12'
INFO [2016-02-13 14:25:42.28]: 🔓  Decrypted 'N9MP5DM94S.p12'
INFO [2016-02-13 14:25:42.29]: 🔓  Decrypted 'AdHoc_com.myorg.myapp.mobileprovision'
INFO [2016-02-13 14:25:42.30]: 🔓  Decrypted 'AppStore_com.myorg.myapp.mobileprovision'
INFO [2016-02-13 14:25:42.30]: 🔓  Decrypted 'Development_com.myorg.myapp.mobileprovision'
INFO [2016-02-13 14:25:42.31]: 🔓  Successfully decrypted certificates repo
INFO [2016-02-13 14:25:42.31]: Verifying that the certificate and profile are still valid on the Dev Portal...
INFO [2016-02-13 14:25:45.06]: Installing certificate...
INFO [2016-02-13 14:25:45.10]: $ security import /var/folders/jm/fw86rxds0xn69sk40d18y69m0000gp/T/d20160213-3612-719wi5/certs/distribution/N9MP5DM94S.cer -k ~/Library/Keychains/login.keychain -T /usr/bin/codesign -T /usr/bin/security&> /dev/null
INFO [2016-02-13 14:25:45.14]: $ security import /var/folders/jm/fw86rxds0xn69sk40d18y69m0000gp/T/d20160213-3612-719wi5/certs/distribution/N9MP5DM94S.p12 -k ~/Library/Keychains/login.keychain -T /usr/bin/codesign -T /usr/bin/security&> /dev/null
INFO [2016-02-13 14:25:45.62]: Installing provisioning profile...
WARN [2016-02-13 14:25:45.73]: Setting environment variable 'sigh_com.myorg.myapp_appstore' to 'cbc92d22-da4b-4ced-be55-5f0a7d9a906c'
jeffreyjackson commented 8 years ago

you might want to try match nuke, then match appstore on both machines. I had to do this before i got it working.

aaronwhite commented 8 years ago

Great idea; had done nuke recently, just added match appstore to circles pre step (and made sure all gems are up-to-date) ... still the same issue :/ (Keep 'em coming though, I probably should have been doing the match appstore command in the setup cc @jeffreyjackson )

jeffreyjackson commented 8 years ago

the next thing i would do is this:

delete all of your distribution certs and keys on the CI machine.

open Xcode on your local machine and export your developer profile

Import on your CI machine. Open Keychain on your CI machine, and drag the certs/keys from login to System. This was the last step I needed to do for this to work.

aaronwhite commented 8 years ago

Though I haven't fully narrowed it down yet, I believe it was a keychain selection issue. Fast lane loads into login.keychain by default, and circle seems to allow that w/o issue, but on using circle.keychain instead, I've made it further.

fastlanebot commented 8 years ago

This issue was migrated to https://github.com/fastlane/fastlane/issues/3138. Please post all further comments there.

fastlane is now a mono repo, you can read more about the change in our blog post. All tools are now available in the fastlane main repo :rocket: