SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Advanced App Building - Tips, Tricks & Lessons Learned
18.
Important Values
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:
Wednesday, February 6, 13
19.
Install a Provisioning Profile
Wednesday, February 6, 13
20.
Install a Provisioning Profile
Don’t double click them.
Not human readable.
Wednesday, February 6, 13
21.
Install a Provisioning Profile
Drag them into the Finder
~/Library/MobileDevice/Provisioning Profiles
Wednesday, February 6, 13
22.
Install a Provisioning Profile
Drag them into the Finder
Wednesday, February 6, 13
23.
Install a Provisioning Profile
Drag them into the Finder
Much better
Wednesday, February 6, 13
24.
Tools for using Provisioning Profiles
Terminal.app
Wednesday, February 6, 13
25.
Tools for using Provisioning Profiles
Terminal.app - bash alias
alias prov='openssl smime -inform der -verify -in'
Wednesday, February 6, 13
26.
Tools for using Provisioning Profiles
Quicklook Plugin
http://www.macmation.com/blog/2011/10/quicklook-plugin-for-mobile-provision-files/
Wednesday, February 6, 13
27.
Tools for using Provisioning Profiles
Automator Service
Wednesday, February 6, 13
28.
Tools for using Provisioning Profiles
Automator Service
http://cl.ly/MTZb
Wednesday, February 6, 13
29.
Tools for using Provisioning Profiles
Automator Service
Wednesday, February 6, 13
31.
Xcode
How does it see profiles?
Wednesday, February 6, 13
32.
Xcode
How does it see profiles?
CODE_SIGN_IDENTITY = "iPhone Developer";
Wednesday, February 6, 13
33.
Xcode
How does it see profiles?
CODE_SIGN_IDENTITY = "iPhone Developer";
PROVISIONING_PROFILE = "";
Wednesday, February 6, 13
34.
Xcode
How does it see profiles?
Wednesday, February 6, 13
35.
Xcode
How does it see profiles?
CODE_SIGN_IDENTITY = "iPhone Developer: Jay Graves (E6L876QFM6)";
Wednesday, February 6, 13
36.
Xcode
How does it see profiles?
CODE_SIGN_IDENTITY = "iPhone Developer: Jay Graves (E6L876QFM6)";
PROVISIONING_PROFILE = "0FEB5831-22D3-4B1D-A973-59ED243E8103";
Wednesday, February 6, 13
42.
What does all this mean?
Wednesday, February 6, 13
43.
What does all this mean?
•Automatic Profiles
•Good if you don’t have multiple projects.
•It can select the wrong profile.
•Rules on automatic selection are not defined.
Wednesday, February 6, 13
44.
What does all this mean?
•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.
Wednesday, February 6, 13
48.
Scenario
1 Project 2 Builds
Wednesday, February 6, 13
49.
Multiple Build Scenario
Possible Solutions
Wednesday, February 6, 13
50.
Multiple Build Scenario
Possible Solutions
•Add a Duplicate Target
Wednesday, February 6, 13
51.
Multiple Build Scenario
Possible Solutions
•Add a Duplicate Target
•Large project file change
Wednesday, February 6, 13
52.
Multiple Build Scenario
Possible Solutions
•Add a Duplicate Target
•Large project file change
•Duplicated all of the Configurations
Wednesday, February 6, 13
53.
Multiple Build Scenario
Possible Solutions
•Add a Duplicate Target
•Large project file change
•Duplicated all of the Configurations
•A 2nd info.plist has been created.
Wednesday, February 6, 13
54.
Multiple Build Scenario
Possible Solutions
•Add a Duplicate Target
•Large project file change
•Duplicated all of the Configurations
•A 2nd info.plist has been created.
Wednesday, February 6, 13
55.
Multiple Build Scenario
Possible Solutions
•Add a Duplicate Target
•Large project file change
•Duplicated all of the Configurations
•A 2nd info.plist has been created.
• Add a new Configuration
Wednesday, February 6, 13
56.
Multiple Build Scenario
Possible Solutions
•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
Wednesday, February 6, 13
57.
Multiple Build Scenario
Possible Solutions
•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
Wednesday, February 6, 13
58.
Multiple Build Scenario
Possible Solutions
•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
Wednesday, February 6, 13
59.
Multiple Build Scenario
A better solution
Wednesday, February 6, 13
60.
Multiple Build Scenario
A better solution
.xcconfig file
Wednesday, February 6, 13
61.
Multiple Build Scenario
Create a .xcconfig file
Wednesday, February 6, 13
62.
Multiple Build Scenario
Create a .xcconfig file
CODE_SIGN_IDENTITY = iPhone Distribution: Double Encore
PROVISIONING_PROFILE = 1203C18-8F08-45D8-A5AC-76AD9319CDDC
Wednesday, February 6, 13
63.
Multiple Build Scenario
Build with a .xcconfig file
xcodebuild -xcconfig second_build.xcconfig
Wednesday, February 6, 13