2
votes

Problem:

Enterprise app does not get signed with distribution(/production) profile when running bot integration on Xcode 9 server, but with development profile.

Scenario(/question):

I've upgraded to Xcode 9. The apple ID used is enrolled in the Enterprise program. The project target and bot settings are set to create the Release target.

When creating an archive locally and exporting it, the app gets signed with the right distribution profile. (Using the same apple ID)

Previously I've had to turn off the automatic signing and choose the specific profile. (and then commit that code.. so that bot integration/signing works) I'd like to not have to do that anymore and just be able to use the automatic code signing.

Has anyone encountered this behaviour too and/or know what I can do to get the integration bot to sign with the right (distribution/production) profile?

1
Have you figured this out yet? I am wondering the same. - Matt Long
@MattLong nope :S haven't been able to fix it yet - Leentje
@MattLong found a/the solution. Edit your bot, under the configuration tab under "Archive" tell it to "Use custom export options plist". In that plist set the specific build options, which team to use, app thinning, other options. - Leentje

1 Answers

1
votes

To get automatic signing to work, edit your bot settings. Under 'configuration'->'Archive' tell it to 'Use custom export options plist'

This export list should contain the settings for archiving, team id, etc. The profiles should be available on the machine (offcourse).

My plist looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>compileBitcode</key>
    <false/>
    <key>method</key>
    <string>enterprise</string>
    <key>signingStyle</key>
    <string>automatic</string>
    <key>stripSwiftSymbols</key>
    <true/>
    <key>teamID</key>
    <string>*TEAMID*</string>
    <key>thinning</key>
    <string>&lt;none&gt;</string>
</dict>