SlideShare a Scribd company logo
Provisioning
ProfileslikeaPro
Monday, September 9, 13
JayGraves
CTO
Monday, September 9, 13
LotsofApps
Monday, September 9, 13
ShipIt
Monday, September 9, 13
ProvisioningProfiles
Howdotheywork?
Monday, September 9, 13
ProvisioningProfiles
Whatarethey?
SMIME/PKCS#7
Originallydesignedforemailsigning&encryption.
Monday, September 9, 13
ReadaProvisioningProfile
vim
Monday, September 9, 13
ReadaProvisioningProfile
openssl
openssl smime -in ./your.mobileprovision -inform der -verify
openssl smime -in /path/to/your.mobileprovision -inform der
-verify -noverify
https://skabber.snipt.net/provisioning-profile-tips-tricks/
Monday, September 9, 13
ImportantValues
application-identifier
<key>application-identifier</key>
<string>ABCDEFGHIJK.com.your.bundleid</string>
Monday, September 9, 13
ImportantValues
Entitlements
<key>Entitlements</key>
<dict>
...
<key>com.apple.developer.ubiquity-container-
identifiers</key>
...
<key>com.apple.developer.ubiquity-kvstore-
identifier</key>
...
<key>get-task-allow</key>
...
</dict>
Monday, September 9, 13
ImportantValues
ProvisionedDevices
<key>ProvisionedDevices</key>
<array>
<string>7af8ee3af8e4e13193bd834bab50e1d...</string>
<string>a9f0d0477a6d3e8dad0ff984f7ba77e...</string>
</array>
Monday, September 9, 13
ImportantValues
UUID
<key>UUID</key>
<string>E0EF8ACE-E83A-475C-9DA7-C67A147659FD</
string>
Monday, September 9, 13
ImportantValues
DeveloperCertificates
<key>DeveloperCertificates</key>
! <array>
! ! <data>
MIIFnDCCBISgAwIBAgIIEIdrqpJlb9MwDQYJKoZIhvcNAQEFBQAwgZYxCzAJ
BgNVBAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBs
ZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBw
bGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlv
...
Monday, September 9, 13
ImportantValues
DeveloperCertificates
-----BEGIN CERTIFICATE-----
MIIFnDCCBISgAwIBAgIIEIdrqpJlb9MwDQYJKoZIhvcNAQEFBQAwgZYxCzAJ
BgNVBAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBs
ZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBw
bGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlv
...
-----END CERTIFICATE-----
openssl x509 -text -in cert.pem
Monday, September 9, 13
ImportantValues
DeveloperCertificates
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
10:87:6b:aa:92:65:6f:d3
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, O=Apple Inc., OU=Apple Worldwide Developer Relations, CN=Apple Worldwide
Developer Relations Certification Authority
Validity
Not Before: Nov 3 21:38:10 2012 GMT
Not After : Nov 3 21:38:10 2013 GMT
Subject: UID=9K9F9LCV74, CN=iPhone Distribution: Massively Overrated, OU=9K9F9LCV74,
O=Massively Overrated, C=US
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
00:c8:57:f9:cf:af:c2:4d:7a:8a:16:62:47:4b:c2:
Monday, September 9, 13
InstallaProvisioningProfile
Don’tdoubleclickthem.
Nothumanreadable.
Monday, September 9, 13
InstallaProvisioningProfile
DragthemintotheFinder
~/Library/MobileDevice/Provisioning Profiles
Monday, September 9, 13
InstallaProvisioningProfile
DragthemintotheFinder
Monday, September 9, 13
InstallaProvisioningProfile
DragthemintotheFinder
Muchbetter
Monday, September 9, 13
ToolsforusingProvisioningProfiles
Terminal.app
Monday, September 9, 13
ToolsforusingProvisioningProfiles
Terminal.app-bashalias
alias prov='openssl smime -inform der -verify -in'
Monday, September 9, 13
ToolsforusingProvisioningProfiles
QuicklookPlugin
http://www.macmation.com/blog/2011/10/quicklook-plugin-for-mobile-provision-files/
Monday, September 9, 13
ToolsforusingProvisioningProfiles
AutomatorService
Monday, September 9, 13
ToolsforusingProvisioningProfiles
AutomatorService
http://cl.ly/MTZb
Monday, September 9, 13
ToolsforusingProvisioningProfiles
AutomatorService
Monday, September 9, 13
Xcode
Monday, September 9, 13
Xcode
Howdoesitseeprofiles?
CODE_SIGN_IDENTITY = "iPhone Developer";
PROVISIONING_PROFILE = "";
Monday, September 9, 13
Xcode
Howdoesitseeprofiles?
CODE_SIGN_IDENTITY = "iPhone Developer: Jay Graves (E6L876QFM6)";
PROVISIONING_PROFILE = "0FEB5831-22D3-4B1D-A973-59ED243E8103";
Monday, September 9, 13
Xcode
Builderror
Monday, September 9, 13
Xcode
Updatetheprofile.
Monday, September 9, 13
Xcode
ProjectDiff
Monday, September 9, 13
•Automatic Profiles
•Good if you don’t have multiple projects.
•It can select the wrong profile.
•Rules on automatic selection are not defined.
•Specific Profiles
•Much more control over which profile is selected.
•Can be a pain to update the project file every time a profile is updated.
Whatdoesallthismean?
Monday, September 9, 13
Monday, September 9, 13
Scenario
1Project 2Builds
Monday, September 9, 13
•Add a Duplicate Target
•Large project file change
•Duplicated all of the Configurations
•A 2nd info.plist has been created.
• Add a new Configuration
•Still a large project file change
•Still duplicated all the build options
•Easy to forget new build options
MultipleBuildScenario
PossibleSolutions
Monday, September 9, 13
MultipleBuildScenario
Abettersolution
.xcconfigfile
Monday, September 9, 13
MultipleBuildScenario
Createa.xcconfigfile
Monday, September 9, 13
MultipleBuildScenario
Createa.xcconfigfile
CODE_SIGN_IDENTITY = iPhone Distribution: Double Encore
PROVISIONING_PROFILE = 1203C18-8F08-45D8-A5AC-76AD9319CDDC
Monday, September 9, 13
MultipleBuildScenario
Buildwitha.xcconfigfile
xcodebuild -xcconfig second_build.xcconfig
Monday, September 9, 13
Thiscanbebetter!
Automateit
•Every Provisioning Profile contains all the information we need.
•CODE_SIGN_IDENTITY is in the DeveloperCertificates
•PROVISIONING_PROFILE is the UUID
Monday, September 9, 13
Thiscanbebetter!
Thescript
http://bit.ly/xcconfig
#!/usr/bin/env	
  python
from	
  M2Crypto	
  import	
  SMIME,	
  X509,	
  BIO,	
  m2
import	
  plistlib
...
plist	
  =	
  plistlib.readPlistFromString(blob)
developerPEM	
  =	
  "-­‐-­‐-­‐-­‐-­‐BEGIN	
  CERTIFICATE-­‐-­‐-­‐-­‐-­‐n%s-­‐-­‐-­‐-­‐-­‐
END	
  CERTIFICATE-­‐-­‐-­‐-­‐-­‐"	
  %	
  plist["DeveloperCertificates"]
[0].asBase64()
Monday, September 9, 13
Thiscanbebetter!
Thescript
http://bit.ly/xcconfig
developerCert	
  =	
  X509.load_cert_string(developerPEM)
items	
  =	
  
developerCert.get_subject().get_entries_by_nid(X509.X5
09_Name.nid["CN"])
...
open(outXcConfig,	
  'w').write("CODE_SIGN_IDENTITY	
  =	
  %s
nPROVISIONING_PROFILE	
  =	
  %sn"	
  %	
  (codeSignIdentity,	
  
plist["UUID"]))
Monday, September 9, 13
Whathaveweaccomplished?
•Real file based Provisioning Profile selection.
•Zero ambiguity about which profile will be selected.
•No mismatched Profiles in Xcode’s Code Signing Identity.
•Other than downloading the profile from the iOS Dev Center
there is no work for you!
Monday, September 9, 13
OK,OK,Enoughwiththe
ProvisioningProfiles
already.
Monday, September 9, 13
Keychain
Access
Monday, September 9, 13
MultipleKeychains
Monday, September 9, 13
SwitchKeychains
security default-keychain -d user -s /FULLPATH/My.keychain
security unlock-keychain -p ******* /FULLPATH/My.keychain
unlockkeychain
Monday, September 9, 13
SwitchKeychains
Error: User interaction is not allowed.
unlockkeychain
Monday, September 9, 13
SwitchKeychains
unlockkeychain
Monday, September 9, 13
KeychainError
Code	
  Sign	
  error:	
  Certificate	
  identity	
  'iPhone	
  
Developer:	
  Your	
  Name	
  (NNNNNNNN)'	
  appears	
  more	
  than	
  
once	
  in	
  the	
  keychain
Monday, September 9, 13
OTAInstall
Monday, September 9, 13
md5
checksum
Monday, September 9, 13
md5checksum
doesn’twork
Monday, September 9, 13
Installmultipleapps
atthesametime
Monday, September 9, 13
Installmultipleapps
atthesametime
Monday, September 9, 13
Installmultipleapps
atthesametime
Monday, September 9, 13
ThankYou
jay@doubleencore.com
@skabber
Monday, September 9, 13

More Related Content

Similar to Provisioning profiles like a Pro

HTML5 for mobile development
HTML5 for mobile developmentHTML5 for mobile development
HTML5 for mobile development
Carlos Justiniano
 
Continuous deployment with Cloud Foundry, Github and Travis CI | anynines
Continuous deployment with Cloud Foundry, Github and Travis CI | anyninesContinuous deployment with Cloud Foundry, Github and Travis CI | anynines
Continuous deployment with Cloud Foundry, Github and Travis CI | anynines
anynines GmbH
 
Microservices and functional programming
Microservices and functional programmingMicroservices and functional programming
Microservices and functional programming
Michael Neale
 
Engineering culture
Engineering cultureEngineering culture
Engineering culturePamela Fox
 
How automated cloud infrastructure setups can help with Continuous Delivery
How automated cloud infrastructure setups can help with Continuous DeliveryHow automated cloud infrastructure setups can help with Continuous Delivery
How automated cloud infrastructure setups can help with Continuous DeliveryEdmund Siegfried Haselwanter
 
DjangoCon 2009 Keynote
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 Keynote
Ted Leung
 
Ruby meetup 7_years_in_testing
Ruby meetup 7_years_in_testingRuby meetup 7_years_in_testing
Ruby meetup 7_years_in_testing
Digital Natives
 
Angrybirds - Overview for a High Performance Shop
Angrybirds - Overview for a High Performance ShopAngrybirds - Overview for a High Performance Shop
Angrybirds - Overview for a High Performance Shop
AOE
 
Mobile Penetration Testing: Episode III - Attack of the Code
Mobile Penetration Testing: Episode III - Attack of the CodeMobile Penetration Testing: Episode III - Attack of the Code
Mobile Penetration Testing: Episode III - Attack of the Code
NowSecure
 
Writing Apps that Can See: Getting Data from CoreImage to Computer Vision - ...
Writing Apps that Can See: Getting Data from CoreImage to Computer  Vision - ...Writing Apps that Can See: Getting Data from CoreImage to Computer  Vision - ...
Writing Apps that Can See: Getting Data from CoreImage to Computer Vision - ...
Carl Brown
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro framework
Jeremy Kendall
 
Fork cli tool
Fork cli toolFork cli tool
Fork cli tool
jelmersnoeck
 
Armorizing applications
Armorizing applicationsArmorizing applications
Armorizing applications
Iftach Ian Amit
 
Ryan Jarvinen Open Shift Talk @ Postgres Open 2013
Ryan Jarvinen Open Shift Talk @ Postgres Open 2013Ryan Jarvinen Open Shift Talk @ Postgres Open 2013
Ryan Jarvinen Open Shift Talk @ Postgres Open 2013PostgresOpen
 
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at OoyalaCassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
DataStax Academy
 
Building a platform with Django, Docker and Salt | Djangocon lightning talk
Building a platform with Django, Docker and Salt | Djangocon lightning talkBuilding a platform with Django, Docker and Salt | Djangocon lightning talk
Building a platform with Django, Docker and Salt | Djangocon lightning talk
dotCloud
 
Building a Platform with Django, Docker and Salt
Building a Platform with Django, Docker and SaltBuilding a Platform with Django, Docker and Salt
Building a Platform with Django, Docker and SaltDocker, Inc.
 
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Murat Yener
 
Matt training-html-halfday
Matt training-html-halfdayMatt training-html-halfday
Matt training-html-halfdayMatthew Dobson
 
Android Security & Penetration Testing
Android Security & Penetration TestingAndroid Security & Penetration Testing
Android Security & Penetration Testing
Subho Halder
 

Similar to Provisioning profiles like a Pro (20)

HTML5 for mobile development
HTML5 for mobile developmentHTML5 for mobile development
HTML5 for mobile development
 
Continuous deployment with Cloud Foundry, Github and Travis CI | anynines
Continuous deployment with Cloud Foundry, Github and Travis CI | anyninesContinuous deployment with Cloud Foundry, Github and Travis CI | anynines
Continuous deployment with Cloud Foundry, Github and Travis CI | anynines
 
Microservices and functional programming
Microservices and functional programmingMicroservices and functional programming
Microservices and functional programming
 
Engineering culture
Engineering cultureEngineering culture
Engineering culture
 
How automated cloud infrastructure setups can help with Continuous Delivery
How automated cloud infrastructure setups can help with Continuous DeliveryHow automated cloud infrastructure setups can help with Continuous Delivery
How automated cloud infrastructure setups can help with Continuous Delivery
 
DjangoCon 2009 Keynote
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 Keynote
 
Ruby meetup 7_years_in_testing
Ruby meetup 7_years_in_testingRuby meetup 7_years_in_testing
Ruby meetup 7_years_in_testing
 
Angrybirds - Overview for a High Performance Shop
Angrybirds - Overview for a High Performance ShopAngrybirds - Overview for a High Performance Shop
Angrybirds - Overview for a High Performance Shop
 
Mobile Penetration Testing: Episode III - Attack of the Code
Mobile Penetration Testing: Episode III - Attack of the CodeMobile Penetration Testing: Episode III - Attack of the Code
Mobile Penetration Testing: Episode III - Attack of the Code
 
Writing Apps that Can See: Getting Data from CoreImage to Computer Vision - ...
Writing Apps that Can See: Getting Data from CoreImage to Computer  Vision - ...Writing Apps that Can See: Getting Data from CoreImage to Computer  Vision - ...
Writing Apps that Can See: Getting Data from CoreImage to Computer Vision - ...
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro framework
 
Fork cli tool
Fork cli toolFork cli tool
Fork cli tool
 
Armorizing applications
Armorizing applicationsArmorizing applications
Armorizing applications
 
Ryan Jarvinen Open Shift Talk @ Postgres Open 2013
Ryan Jarvinen Open Shift Talk @ Postgres Open 2013Ryan Jarvinen Open Shift Talk @ Postgres Open 2013
Ryan Jarvinen Open Shift Talk @ Postgres Open 2013
 
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at OoyalaCassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
 
Building a platform with Django, Docker and Salt | Djangocon lightning talk
Building a platform with Django, Docker and Salt | Djangocon lightning talkBuilding a platform with Django, Docker and Salt | Djangocon lightning talk
Building a platform with Django, Docker and Salt | Djangocon lightning talk
 
Building a Platform with Django, Docker and Salt
Building a Platform with Django, Docker and SaltBuilding a Platform with Django, Docker and Salt
Building a Platform with Django, Docker and Salt
 
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
 
Matt training-html-halfday
Matt training-html-halfdayMatt training-html-halfday
Matt training-html-halfday
 
Android Security & Penetration Testing
Android Security & Penetration TestingAndroid Security & Penetration Testing
Android Security & Penetration Testing
 

Recently uploaded

A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 

Recently uploaded (20)

A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 

Provisioning profiles like a Pro