what’s new in xcode app signing - apple inc. · identifies you to users prevents spoofing...

Post on 11-Jun-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related