Skip to content

Latest commit

ย 

History

History
105 lines (61 loc) ยท 3.51 KB

What-s-Newin-Signing-for-Xcode-and-Xcode-Server.md

File metadata and controls

105 lines (61 loc) ยท 3.51 KB

What's New in Signing for Xcode and Xcode Server

๐Ÿ“… 2019.12.05 (THU)

WWDC2017 | Session : 403 | Category : Signing

๐Ÿ”— What's New in Signing for Xcode and Xcode Server - WWDC 2017 - Videos - Apple Developer

Making it possible to use automatic signing for distribution, Xcode Build, and Xcode Server.

โœ“ Why do we code sign?

  • Protexts user privacy and security
  • Authenticatews the app creator
  • Authoizes adccess to app services

Every app has code signiture, and when the app is run, the system checks for a couple things.

  1. It first checks that, that signiture is valid. That it hasn't been tampered with since it came from the original developer.
  2. That app is allowed to use special system services, like App Groups.
  3. Also if it's been provisioned for this device. If it's for development, it's been provisioned for a couple of devices. And if it's for the App Store, that code signature says it can run on any device.

Composing the signiture, Xcode uses 3 essential ingredients.

  • Signing Certificate
  • Provisioning profile
  • entitlements

related : What's New in Xcode App Signing (2016)

Automatic Signing

โ†’ When enable automatically managed signing, Xcode will automatically

  • create app IDs
  • create certificates
  • update provisioning profiles
  • update entilements

๐Ÿ†• in Xcode9, all of this great functionality is available in Xcode Server! (+ manual signing support)

Xcode Server

  • Continuous integration powered by Xcode
  • Built into Xcode
  • Runs your tests on simulators and devices

In Xcode, you work on a project and upload updates to that project to a remote repository. Then, set up Xcode Server with a bot to pull from that respository. build your app, and run test on the device.

Running on the device needs a code signature

Xcode compose the signature using those essential ingredients, the provisioning profile and signing certificate

How are we going to get those onto Xcode Server?

If you have targets enabled with automatic signing, this can just happen for you.

Xcode Server will automatically create certificates, it will update provisioning profiles, it will register devices. Also that signing can be performed.

And if you manual target for your targets, Xcode Server now has UI for you to send any certificates from your administrative Mac over to the server that will be performing integrations and code signing.

๐Ÿ†• Xcode Server

Development signing

  • Automatic or manual signing
  • Xcode Server joins your team for devolopment signing
  • Supports two-factor authentication

๐Ÿ†•xcodebuld

Development signing

  • Command line support for automatic signing repairs
  • xcodebuild -allowProvisioningUpdates
  • xcodebuild -allowProvisioningDeviceRegistration

Setting up Xcode Server

Archive

  • Development signed (reccommended)
  • Machine code and bitcode
  • Debugging a symbols