Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Automating Xcode 8's New Automatic Signing

381 views

Published on

This was a talk I gave at the SWMobile Meetup in Bristol in October 2016. The talk was a lightning talk on automating the new Xcode 8 automated signing system when using it in a CI setup. In our case we use it with Jenkins and Fastlane to automate all our builds.

Video at:
https://www.quernus.co.uk/2016/10/18/automating-xcode-8s-new-automatic-signing/

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Automating Xcode 8's New Automatic Signing

  1. 1. Automating Xcode 8’s New Automatic Signing Matt Hamilton matt@enquos.com
  2. 2. New automatic signing Xcode 7 Xcode 8 (automatic) Xcode 8 (manual) CODE_SIGN_IDENTITY iPhone Distribution [blank] iPhone Distribution: Legacy Parts Corporation (9Q5433VBYW) PROVISIONING_PROFILE 2249294d-440a-427c- bbef-432326c6552b [blank] 2249294d-440a-427c- bbef-432326c6552b DEVELOPMENT_TEAM n/a 9Q5433VBYW [blank] PROVISIONING_PROFILE_ SPECIFIER n/a 9Q5433VBYW/enquos dev [blank]
  3. 3. New automatic signing Xcode 7 Xcode 8 (automatic) Xcode 8 (manual) CODE_SIGN_IDENTITY iPhone Distribution [blank] iPhone Distribution: Legacy Parts Corporation (9Q5433VBYW) PROVISIONING_PROFILE 2249294d-440a-427c- bbef-432326c6552b [blank] 2249294d-440a-427c- bbef-432326c6552b DEVELOPMENT_TEAM n/a 9Q5433VBYW [blank] PROVISIONING_PROFILE_ SPECIFIER n/a 9Q5433VBYW/enquos dev [blank]
  4. 4. New automatic signing Xcode 7 Xcode 8 (automatic) Xcode 8 (manual) CODE_SIGN_IDENTITY iPhone Distribution [blank] iPhone Distribution: Legacy Parts Corporation (9Q5433VBYW) PROVISIONING_PROFILE 2249294d-440a-427c- bbef-432326c6552b [blank] 2249294d-440a-427c- bbef-432326c6552b DEVELOPMENT_TEAM n/a 9Q5433VBYW [blank] PROVISIONING_PROFILE_ SPECIFIER n/a 9Q5433VBYW/enquos dev [blank]
  5. 5. New automatic signing Xcode 7 Xcode 8 (automatic) Xcode 8 (manual) CODE_SIGN_IDENTITY iPhone Distribution [blank] iPhone Distribution: Legacy Parts Corporation (9Q5433VBYW) PROVISIONING_PROFILE 2249294d-440a-427c- bbef-432326c6552b [blank] 2249294d-440a-427c- bbef-432326c6552b DEVELOPMENT_TEAM n/a 9Q5433VBYW [blank] PROVISIONING_PROFILE_ SPECIFIER n/a 9Q5433VBYW/enquos dev [blank]
  6. 6. Nasty bit "sed -i '' 's/ProvisioningStyle = Automatic;/ ProvisioningStyle = Manual;/' ../#{project}/ project.pbxproj"
  7. 7. .xcconfig PROVISIONING_PROFILE_SPECIFIER = PROVISIONING_PROFILE_app = f3f8d4cb- a975-4529-8dcd-60e277d92fae PROVISIONING_PROFILE = $(PROVISIONING_PROFILE_$ (WRAPPER_EXTENSION)) CODE_SIGN_IDENTITY = iPhone Distribution: Legacy Parts Corporation (9Q5433VBYW)
  8. 8. A couple of notes • The PROVISIONING_PROFILE_SPECIFIER is kept blank. This is because this is only used then doing automatic provisioning • The indirection of PROVISIONING_PROFILE_app and PROVISIONING_PROFILE means that the profile will only be used to sign the app itself and not the pods as they are built. • We set the CODE_SIGN_IDENTITY and CODE_SIGN_IDENTITY to override anything the developers might have set in their local configuration. • We have a separate file for develop, feature and release builds of our app. They have a different provisioning profile UUID specified.

×