what’s new in xcode app signing - apple inc. · identifies you to users prevents spoofing...
TRANSCRIPT
© 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.
Developing and distributing
Developer Tools #WWDC16
Session 401
What’s New in Xcode App Signing
Joshua Pennington Tools Engineering ManagerItai Rom Tools Engineer
What is signing?What’s New in Xcode Signing
Identifies you to users
What is signing?What’s New in Xcode Signing
Identifies you to usersPrevents spoofing
What is signing?What’s New in Xcode Signing
Identifies you to usersPrevents spoofingAllows access to system services
What is signing?What’s New in Xcode Signing
OverviewWhat’s New in Xcode Signing
FundamentalsSigning Certificate per MacSigning in XcodeBest Practices
OverviewWhat’s New in Xcode Signing
FundamentalsSigning Certificate per MacSigning in XcodeBest Practices
OverviewWhat’s New in Xcode Signing
FundamentalsSigning Certificate per MacSigning in XcodeBest Practices
OverviewWhat’s New in Xcode Signing
FundamentalsSigning Certificate per MacSigning in XcodeBest Practices
OverviewWhat’s New in Xcode Signing
FundamentalsSigning Certificate per MacSigning in XcodeBest Practices
Fundamentals
codesign
OverviewFundamentals
OverviewFundamentals
OverviewFundamentals
OverviewFundamentals
Fundamentals
Issued by Apple
Signing certificatesFundamentals
Issued by AppleDevelopment and Distribution
Signing certificatesFundamentals
Issued by AppleDevelopment and DistributionMust have a private key
Signing certificatesFundamentals
Issued by AppleDevelopment and DistributionMust have a private keyApple never has the private key
Signing certificatesFundamentals
Provisioning profilesFundamentals
Issued by Apple
Provisioning profilesFundamentals
Issued by AppleApp-specific
Provisioning profilesFundamentals
Issued by AppleApp-specificAllows running on devices
Provisioning profilesFundamentals
Issued by AppleApp-specificAllows running on devicesAllows entitlements
Provisioning profilesFundamentals
EntitlementsFundamentals
Declares support for capabilities
EntitlementsFundamentals
Declares support for capabilitiesDefined per-target
EntitlementsFundamentals
Declares support for capabilitiesDefined per-targetUse the Capabilities tab
EntitlementsFundamentals
EntitlementsFundamentals
Signing in XcodeFundamentals
Signing in XcodeFundamentals
Signing in XcodeFundamentals
Signing in XcodeFundamentals
Signing in XcodeFundamentals
Signing in XcodeFundamentals
Signing in XcodeFundamentals
Signing Certificate per Mac
Multiple DevelopmentCertificates
OverviewSigning Certificate per Mac
OverviewSigning Certificate per Mac
Development only
OverviewSigning Certificate per Mac
Development onlyXcode and developer website
OverviewSigning Certificate per Mac
Development onlyXcode and developer websiteCreated by Xcode 8 and later
OverviewSigning Certificate per Mac
Development onlyXcode and developer websiteCreated by Xcode 8 and laterUsable with all versions
Signing in Xcode
Signing can be complicatedSigning in Xcode
Signing can be complicatedSigning in Xcode
Fix IssueSigning in Xcode 7
Fix IssueSigning in Xcode 7
What was the issue?What did Fix Issue do?Why did Fix Issue do that?Why do I even have to click a button…?
NEW
Fully redesignedSigning in Xcode 8
NEW
Fully redesignedSigning in Xcode 8
Brand new infrastructure
NEW
Fully redesignedSigning in Xcode 8
Brand new infrastructureNew workflows and UI
NEW
Fully redesignedSigning in Xcode 8
Brand new infrastructureNew workflows and UIActionable messaging
NEW
Fully redesignedSigning in Xcode 8
Brand new infrastructureNew workflows and UIActionable messagingStatus reporting
Automatic Signing✓
Automatic Signing✓
Customized Signing
Automatic signingSigning in Xcode
Automatic signingSigning in Xcode
Automatic signingSigning in Xcode
Automatic signingSigning in Xcode
Automatic signingSigning in Xcode
Automatic signingSigning in Xcode
Creates signing certificates
Automatic signingSigning in Xcode
Creates signing certificatesCreates and updates App IDs
Automatic signingSigning in Xcode
Creates signing certificatesCreates and updates App IDsCreates and updates provisioning profiles
Automatic signingSigning in Xcode
Automatic signingSigning in Xcode
Prompts you only when necessary
Automatic signingSigning in Xcode
Prompts you only when necessarySigning report shows what Xcode did and why
DemoAutomatic Signing
Automatic signingSigning in Xcode
Automatic signingSigning in Xcode
Development signing
Automatic signingSigning in Xcode
Development signingLimited to Xcode-created provisioning profiles
Automatic signingSigning in Xcode
Development signingLimited to Xcode-created provisioning profilesDistribution signing assets aren’t touched
Automatic signingSigning in Xcode
Automatic signingSigning in Xcode
Completely redesigned in Xcode 8
Automatic signingSigning in Xcode
Completely redesigned in Xcode 8Stays out of your way
Automatic signingSigning in Xcode
Completely redesigned in Xcode 8Stays out of your wayManages signing so you can focus on development
Automatic Signing✓
Automatic Signing✓
Customized Signing
Customized signingSigning in Xcode
Customized signingSigning in Xcode
Customized signingSigning in Xcode
Customized signingSigning in Xcode
Customized signingSigning in Xcode
Customized signingSigning in Xcode
Customized signingSigning in Xcode
Customized signingSigning in Xcode
Customized signingSigning in Xcode
Customized signingSigning in Xcode
Manually created profiles only
Customized signingSigning in Xcode
Manually created profiles onlyAny type of profile
Customized signingSigning in Xcode
Customized signingSigning in Xcode
New build setting, PROVISIONING_PROFILE_SPECIFIER
Customized signingSigning in Xcode
New build setting, PROVISIONING_PROFILE_SPECIFIERReferences profiles by name
Customized signingSigning in Xcode
New build setting, PROVISIONING_PROFILE_SPECIFIERReferences profiles by nameUpdate profiles without making project changes
DemoCustomized Signing
Customized Signing
Customized Signing
Automatic Signing✓
Best Practices
DevelopmentBest Practices
DevelopmentBest Practices
Use automatic
DevelopmentBest Practices
Use automaticAdd all developers to team
DevelopmentBest Practices
Use automaticAdd all developers to teamUse the capabilities tab
ManualBest Practices
ManualBest Practices
Don’t set CODE_SIGN_IDENTITY
ManualBest Practices
Don’t set CODE_SIGN_IDENTITYUse the new general tab UI
ManualBest Practices
Don’t set CODE_SIGN_IDENTITYUse the new general tab UIUse the capabilities tab
ManualBest Practices
Don’t set CODE_SIGN_IDENTITYUse the new general tab UIUse the capabilities tabMigrate to automatic
DistributionBest Practices
DistributionBest Practices
Development
DistributionBest Practices
Development Distribution
Organizer
Summary
Multiple development certificatesXcode 8 automatically manages signingDedicated customized signing mode
More Information
https://developer.apple.com/wwdc16/401
Related Sessions
How iOS Security Really Works Nob Hill Tuesday 4:00PM
What’s New in Security Nob Hill Tuesday 5:00PM
Introduction to Xcode Pacific Heights Thursday 1:40PM
Labs
Signing and Distributing Your App with Xcode Developer Tools Lab C Tuesday 12:00PM
Signing and Distributing Your App with Xcode Developer Tools Lab C Wednesday 3:00PM