Xcode Server: Force load of distribution profile?
Xcode Server: Force load of distribution profile?
- Subject: Xcode Server: Force load of distribution profile?
- From: Fritz Anderson <email@hidden>
- Date: Wed, 30 Oct 2013 09:40:37 -0500
Mavericks 10.9.0 (13A603)
OS X Server 3.0 (13S440)
Xcode 5.0.1 (5A2034a)
What I want: Build a distribution (in-house) archive of an iOS application using Xcode Server.
Apparent problem: xcodebuild on Xcode Server can't find the provisioning profile. It appears not to track distribution profiles.
- The Xcode IDE finds the profile with no trouble on the same machine, and on two others.
- The profile is part of my agent team membership in the Enterprise account, and my admin team membership in the same account. The profile shows up, for both teams, in the team details in the IDE's Preferences > Accounts panel.
- Both accounts have been entered in the Sever application's Xcode configuration (though its displayed count of teams suggests that the two accounts' teams are counted as one). Server successfully logged into both accounts, and accurately detected the associated teams.
- The signing certificate is on the Login keychain on all machines, and on the System keychain on the Xcode Server machine.
- The Server build log specifically says that the profile specified in the given configuration can't be found. It identifies the profile by its UUID and not its name. I've verified that the cited UUID is a part of the profile in question.
- Examining /Library/Server/Xcode/Data/ProvisioningProfiles shows a great number of profiles, but all are Team (development, right?) profiles. They seem to come from all the teams I registered with the Xcode Server configuration panel.
- I've reinstalled the signing identity in both the Login and System keychains. I've manually installed the profile. (I could find a way to do that only through the user's Xcode IDE only.) I responded to the Target editor's protest that the provisioning was wrong by having it reapply for the profile.
- A possible edge case: The project builds both the in-house and App Store versions from a single target. The build scheme picks the configuration, and the configuration picks the bundle ID, Info.plist precursor, and provisioning information. At all times, the bot was told to use the in-house scheme; the error message shows that it must be using the proper configuration. But the Target editor's Info tab insists on displaying the App Store information only. Setting the App Store team has _always_ worked for desktop builds of the in-house product.
- Given that the same Target "belongs" to two different teams, and the editor affords setting only one, I tried setting the Target's team (Info panel in the Target editor) to the Enterprise membership. Nothing in the Build Settings answers to a search for "team," so I assume this is the only way to set it. It didn't help. I would not be surprised if the more-than-one-team case was not thoroughly tested.
I deduce that Xcode Server is simply not pulling in the distribution profiles from the known teams — any team, not just the Enterprise one. The continuous-integration documentation, when it mentions the feature at all, says that the archiving option for a bot will generate downloadable archives for "beta testing." This is _supposed_ to work.
(I'm a bit surprised that the main how-to on distributing betas refers to the integration guide, which makes no mention of provisioning and distribution at all.)
If I'm right, then the solution is somehow to force the server to pull all of the provisioning profiles, not just the development ones. I've searched in vain for any way to do that.
Can anyone guide me?
— F
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden