13

Jenkins cannot find our recently updated provisioning profiles and after trying every known solution I'm running out of ideas what could be wrong.

Build jobs fail with error:

No profile matching 'xxxxx' found: Xcode couldn't find a profile matching 'xxxxx'.

The build server is a Mac, running Xcode 8 and we're using Jenkins with the Xcode plugin.

Building and signing with Xcode 8 directly on the same machine is successful and I installed all the required profiles by double-clicking them.

Does anyone know any workable solution to fix this issue?

BadmintonCat
  • 9,416
  • 14
  • 78
  • 129
  • 1
    Facing same issue recently. I hope someone posts this for Jenkins Jira. – Pratik Somaiya Sep 29 '16 at 07:12
  • 1
    trying https://forums.developer.apple.com/thread/52420 sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/xcscontrol /Applications/Xcode.app/Contents/Developer/usr/bin/xcrun – AnneTheAgile Sep 29 '16 at 20:26
  • That solved the No profile matching for me! (Now I get another error about PNG files). Please post as answer so I can mark as complete! – BadmintonCat Oct 03 '16 at 00:10
  • In my case, it was nothing to do with Xcode 8. This was a better answer for me: http://code-dojo.blogspot.co.uk/2012/09/fix-ios-code-signing-issue-when-using.html – Mike M Feb 20 '17 at 13:13
  • @MikeM In my case Jenkins is on ubuntu and running mac laptop as slave so what will be solution for me – Ashish Karpe Oct 03 '17 at 12:35

2 Answers2

3

Put your provisioning profiles under

User/Shared/Jenkins/Library/Mobile Device/Provisioning Profiles.

You have to create manually folder under Library folder.

And make sure that your Distribution certificate is in "System" tab in keychain Access. If not then copy from "Login" tab and paste under "System" tab.

Community
  • 1
  • 1
Jenish
  • 477
  • 5
  • 20
1

The fix for myself was giving the jenkins user proper permissions for the ~/Library/MobileDevice folder and the ~/Library/MobileDevice/Provisioning\ Profile.

Otherwise the jenkins user can't read from the provisioning file folder.