Re: Xcode Server: Force load of distribution profile?
Re: Xcode Server: Force load of distribution profile?
- Subject: Re: Xcode Server: Force load of distribution profile?
- From: Fritz Anderson <email@hidden>
- Date: Thu, 07 Nov 2013 16:37:49 -0600
The message (of my own) I'm replying to is very long, so I'm going to top-post a summary, and what I've learned since then. I would really, really like some advice; I haven't
The short of it is that I can't get Xcode Server to sign an ad-hoc build. I specify my "Selective Wildcard Ad Hoc" (good gravy, ANOTHER autonomously-generated credential?) and let Server pick the matching identity. Server says it can't find the profile. Other combinations of no/automatic/hard-coded identities and profiles also fail, always with the complaint that no good profile could be found.
I have reason to believe this is because Server downloads development profiles _only_. There's no documentation that this is policy; the "Continuous Integration Guide" uses the word _once_, to brag about how clever Server is about downloading unspecified "profiles."
---
My progress (for a given value of "progress"):
I had an idea: Maybe removing and then adding my team (I'm on three; this is my personal one) would force Server to refetch all of my profiles. No. Still can't find the profile in any combination of no/auto/hard profiles and identities.
I asked on the Developer Forums, and got the always-cheering "me too."
But: That person directed me to an article (http://matt.vlasach.com/xcode-bots-hosted-git-repositories-and-automated-testflight-builds/) that describes a great deal of the sort of wrenching inside machine-maintained configurations that gives me nightmares.
However, the suggestion that I get the distribution (ad hoc) profile and copy it into /Library/Server/Xcode/Data/ProvisioningProfiles/ worked.
But surely generating ad-hoc builds is one of the things Xcode Server is supposed to do? Is there a non-hackish way to get it to do so?
— F
On 30 Oct 2013, at 9:40 AM, Fritz Anderson <email@hidden> wrote:
> 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.
_______________________________________________
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