I am trying to setup continuous integration in Xcode 5 on Mavericks. If I have a bot do a new clean project build, it completes with no errors. If I have the bot do the build on my actual project, I get the following error:
No matching provisioning profile found: Your build settings specify a provisioning profile with the UUID “XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX”, however, no such provisioning profile was found. CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 7.0'
If I pull latest source on the server machine and build/archive it on the server it works as expected. All expected certificates and public keys are included in keychain. I have tried to update all provisioning profile settings in the project and build target the scheme points at. Does anyone have any ideas how to resolve this error?
EDIT: After cracking open the project file and looking at the UUID, from what I can tell the UUID for the provisioning file it can't find does exist. Perhaps this is some kind of permission issue with the build not having access to the profile or keychain certificate?
I had the same problem: I've added the provisioning profiles to /Library/Server/Xcode/Data/ProvisioningProfiles but got this error. The solution is to change permissions for the provisioning profiles, so everyone in the system can read them.
@amrsd Thanks. I see now that a lot of people are copying the profiles manually from their "Provisioning Profiles" folder in "~/Library/MobileDevice" with success (including myself). If this is the route you're taking as well, quit copy+pasting and symlink it!
$ sudo -i
# mkdir /Library/MobileDevice; ln -s /Users/myuser/Library/MobileDevice/Provisioning\ Profiles/ /Library/MobileDevice/
-- where myuser is your username.Actually the solution is way simpler than copying provisioning profiles around or the like. All you need to do is setup Xcode Server correctly.
I am using Xcode 6.0.1 (6A317) with Xcode Server 3.2.1 (13S5179). While I thought that Xcode Server would use the provisioning profiles from my Xcode installation, it does not. It has its own folder at
/Library/Developer/XcodeServer/ProvisioningProfiles/
, whereas Xcode would use~/Library/MobileDevice/Provisioning\ Profiles/
.So the solution is: Add your developer accounts to Xcode Server. It will then automatically download all necessary provisioning profiles automagically so your CI builds finally have access to the provisioning profiles. You add an account by clicking that
Edit...
button in theBuilds
section of Xcode Server as you can see in the screenshot.I had the same problem since switching to Xcode 5. My solution was different.
Since the error message said "Your build settings specify a provisioning profile with the UUID xxxxxx", I checked the file containing my build setting (myproject.xcodeproj/projecjt.pbxproj).
There I found a line with exactly that UUID. After deleting the line (of course a made a backup of the file first), everything worked again.
I tried all of the answers here before sitting back and thinking that it couldn't be this hard. Searched again and found this Apple OS X Server (Xcode CI service) can't find provisioning profiles
I needed to use the correct team provisioning profiles. This page also links to a good tutorial as well.
I kept searching the net for the past few weeks trying to establish Continuous Integration through Jenkins & when failed through OS X Server Bots, both failed with the same exact issue.
Copying the Provisioning Profiles from "~/Library/MobileDevice/Provisioning Profiles/" to "/Library/MobileDevice/Provisioning Profiles/" was the only key.
Just two points to take care off :-
1-If you are using OS X Lion, take care that your ~/Library folder will not appear in Finder as it is set as invisible; Please refer to http://www.macworld.com/article/1161156/view_library_folder_in_lion.html to see it.
2-Don't bring the provisioning profile on your own (e.g. download it from MemberCenter or so, ... ) just copy the profiles exiting in your ~/Library/...; their naming is different; they are all named by the UUID, e.g.3D19E524-9E2A-45C2-942C-F30AC3ACF0CC*.mobileprovision*