際際滷

際際滷Share a Scribd company logo
AU T O M AT I N G I O S
D E PL OY M E N T
K I R AN PA N E S A R
@ K _ PAN E S A R
I  M T H E C T O O F
M O BI L E X L A B S ,
A N D W E M A K E
NAT I V. C O M .
W E  RE I N BE TA .
BE N I C E .
K I R AN @ M O B I L E X LAB S . C O M
I O S AU T O M AT I O N
I S G RE AT.
xcodebuild - Jenkins - ios-sim - UIAutomation - TestFlights API - etc
T H IS M A K ES I O S
D E VE L O PM E N T
FA ST A N D F U N !
B U T , W H AT
A B O U T
D E PL OY M E N T ?
1. Sign into the Provisioning Portal.
2. Create an app ID.
3. Create a distribution certi鍖cate.
4. Install distribution certi鍖cate.
5. Create provisioning pro鍖le.
6. Download and install pro鍖le.
7. Fight with Xcodes pro鍖le management for some time.
8. Tell Xcode to use the pro鍖le for distribution.
9. Build.
10. Export archive.
11. Upload to TestFlight, App Store, HockeyApp, etc.
( D E LI B E R AT E LY S MAL L )
T H I S M A K ES I O S
D E VE L O PM E N T
SL OW A N D D U L L .
 Y O U
I D O N  T D O T H I S
V E RY O F T E N .
W H Y D O I C A RE ?
PE O PL E D O N  T C A RE
E N O U G H A B O U T I T.
BU T T H E Y A LWAYS
C O M PL A I N .
T H IS I S A RE A L
PRO BL E M FO R
US .
N O
PRO V ISI O N I N G
P O RTA L A P I .
S O W H AT ?
B U I L D O N E .
I N T RO D UC I N G
H A M P E R .
G I T H U B . C O M / M O B I L E X LAB S / HAM P E R
A C O M M A N D
L I N E I N T E RFAC E
FO R I O S
PRO V ISI O N I N G
G I T H U B . C O M / M O B I L E X LAB S / HAM P E R
H OW D O ES I T W O RK ?
Python, Selenium, PhantomJS
W H AT C A N I T D O ?
 Authentication.
 App ID registration.
 Certi鍖cate generation.
 Provisioning pro鍖le creation.
I NSTA L L AT I O N
brew install phantomjs
...
sudo pip install hampercli
ST RU C T U RE
hamper <module> <verb> --<argument> <value>
L E T  S S E E
W H AT I T C A N
D O .
SI G N I N
hamper auth login --email your@email.com --password passwd
Authenticating user...
User successfully authenticated.
(Password stored in the devices keychain for future requests)
A PP I D RE G IST RAT I O N
hamper identifier create --app_name MyApp
--bundle_id com.mxl.new_app
Generating app ID...
App ID successfully generated.
C E RT I F I C AT E G E N E RAT I O N
hamper cert create distribution --csr_path /request.csr
--cert_path /out.cer
--bundle_id com.mxl.new_app
...
Generating certificate (this could take a minute)...
Certificate successfully generated.
Downloading certificate (this could take a minute)...
Certificate successfully downloaded (/Users/kiran/out.cer).
openssl genrsa -out private.key 2048
openssl req -new -key private.key -out request.csr
Using openssl to generate key and CSR
Generate a certi鍖cate
PRO V I SI O N I N G P RO F I L E C RE AT I O N
...
Waiting for Apple to generate profile (this could take a
minute)...
Provisioning profile successfully generated.
Downloading provisioning profile...
Profile successfully downloaded (/Users/kiran/p.mobileprovision).
hamper profile create app_store --name MyApp_Production
--bundle_id com.kp.my_app
--profile_path p.mobileprovision
--exp_day 20
--exp_month 04
--exp_year 2015
 Y O U
W H AT C A N I D O
W I T H T H IS ?
T O T H E A PP
ST O RE !
Using Hamper with Shenzhen (Mattt Thompson)
RE G IST E R A N A PP
hamper identifier create --app_name MyApp
--bundle_id com.mxl.new_app
Generating app ID...
App ID successfully generated.
G E N E RAT E T H E P RO F I L E
Waiting for Apple to generate profile (this could take a
minute)...
Provisioning profile successfully generated.
Downloading provisioning profile...
Profile successfully downloaded (/Users/kiran/p.mobileprovision).
hamper profile create app_store --name MyApp_Production
--bundle_id com.mxl.new_app
--profile_path p.mobileprovision
--exp_day 20
--exp_month 04
--exp_year 2015
I NSTA L L T H E PRO F I L E
uuid=`grep UUID -A1 -a p.mobileprovision |
grep -io "[-A-Z0-9]{36}"`
cp p.mobileprovision ~/Library/MobileDevice/Provisioning
Profiles/$uuid.mobileprovision
H O L D O N T O T H AT U U I D , W E  RE G O I N G T O N E E D I T I N T H E N E X T S T E P
B U I L D A N D A RC H I VE
xcodebuild archive -workspace my_app.xcworkspace
-scheme MyApp
-archivePath output.xcarchive
PROVISIONING_PROFILE=$uuid
xcodebuild -exportArchive -archivePath output.xcarchive
-exportPath ./
-exportFormat ipa
-exportProvisioningProfile p.mobileprovision
U PL OA D !
ipa distribute:itunesconnect -a me@email.com -p passwd -i 234234235
--upload
U S I N G S H E N Z H E N
W H AT  S N E X T ?
 Prompting interface.
 Integration with openssl to generate CSRs.
 Integration with iTunes Connect to create an app, 鍖ll out metadata.
 General reliability improvements.
B E CAU S E I T  S I N B E TA .
T H A N K S !
G I T H U B . C O M / M O B I L E X LAB S / HAM P E R
K I RA N PA N ES A R
E N G I N E E R I N G . M O B I L E X LAB S . C O M
@ K _ PAN E SAR
K I R AN @ M O B I L E X LAB S . C O M

More Related Content

Similar to Automate iOS Deployment with Hamper and Schezhen (20)

Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWSPuppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
johnpainter_id_au
Cloud Identity Deployed
Cloud Identity DeployedCloud Identity Deployed
Cloud Identity Deployed
Pablo Valarezo
Firebase Login Function
Firebase Login FunctionFirebase Login Function
Firebase Login Function
Wing Yiu Ng
Evolving for Multiple Screens
Evolving for Multiple ScreensEvolving for Multiple Screens
Evolving for Multiple Screens
sgleadow
Creating Rich Multi-Screen Experiences on Android with Amazon Fling - Mario V...
Creating Rich Multi-Screen Experiences on Android with Amazon Fling - Mario V...Creating Rich Multi-Screen Experiences on Android with Amazon Fling - Mario V...
Creating Rich Multi-Screen Experiences on Android with Amazon Fling - Mario V...
Amazon Appstore Developers
Flutter Development Connect Infosoft
Flutter Development Connect InfosoftFlutter Development Connect Infosoft
Flutter Development Connect Infosoft
Connect Infosoft Technologies Pvt. Ltd.
Vb & asp
Vb & aspVb & asp
Vb & asp
sanjay joshi
Android mobile app security offensive security workshop
Android mobile app security   offensive security workshopAndroid mobile app security   offensive security workshop
Android mobile app security offensive security workshop
Abhinav Sejpal
User Experience within software Testing
User Experience within software TestingUser Experience within software Testing
User Experience within software Testing
Youssef Trabelsi
Puppet Camp London 2015 - Helping Data Teams with Puppet
Puppet Camp London 2015 - Helping Data Teams with PuppetPuppet Camp London 2015 - Helping Data Teams with Puppet
Puppet Camp London 2015 - Helping Data Teams with Puppet
Puppet
Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015
Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015
Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015
Sergii Khomenko
Nuno Job - what's next for software - ANDdigital tech summit
Nuno Job - what's next for software - ANDdigital tech summitNuno Job - what's next for software - ANDdigital tech summit
Nuno Job - what's next for software - ANDdigital tech summit
Greta Strolyte
4 GDPR Hacks to Mitigate Breach Risks Post GDPR
4 GDPR Hacks to Mitigate Breach Risks Post GDPR4 GDPR Hacks to Mitigate Breach Risks Post GDPR
4 GDPR Hacks to Mitigate Breach Risks Post GDPR
TransUnion
Scale up your apps and games building new experiences on amazon fire tv
Scale up your apps and games building new experiences on amazon fire tvScale up your apps and games building new experiences on amazon fire tv
Scale up your apps and games building new experiences on amazon fire tv
Amazon Appstore Developers
Ramesh iOS Profile
Ramesh iOS ProfileRamesh iOS Profile
Ramesh iOS Profile
Ramesh Sarpuru
PyLadies Talk: Learn to love the command line!
PyLadies Talk: Learn to love the command line!PyLadies Talk: Learn to love the command line!
PyLadies Talk: Learn to love the command line!
Blanca Mancilla
SunShine PHP
SunShine PHPSunShine PHP
SunShine PHP
David Bisset
Workshop: Integrating Amazon APIs in Unity
Workshop: Integrating Amazon APIs in Unity Workshop: Integrating Amazon APIs in Unity
Workshop: Integrating Amazon APIs in Unity
Amazon Appstore Developers
Developing Media Streaming Android Apps the Easy Way with Fire App Builder - ...
Developing Media Streaming Android Apps the Easy Way with Fire App Builder - ...Developing Media Streaming Android Apps the Easy Way with Fire App Builder - ...
Developing Media Streaming Android Apps the Easy Way with Fire App Builder - ...
Amazon Appstore Developers
Secure Application Development
Secure Application DevelopmentSecure Application Development
Secure Application Development
Radu Vunvulea
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWSPuppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
johnpainter_id_au
Cloud Identity Deployed
Cloud Identity DeployedCloud Identity Deployed
Cloud Identity Deployed
Pablo Valarezo
Firebase Login Function
Firebase Login FunctionFirebase Login Function
Firebase Login Function
Wing Yiu Ng
Evolving for Multiple Screens
Evolving for Multiple ScreensEvolving for Multiple Screens
Evolving for Multiple Screens
sgleadow
Creating Rich Multi-Screen Experiences on Android with Amazon Fling - Mario V...
Creating Rich Multi-Screen Experiences on Android with Amazon Fling - Mario V...Creating Rich Multi-Screen Experiences on Android with Amazon Fling - Mario V...
Creating Rich Multi-Screen Experiences on Android with Amazon Fling - Mario V...
Amazon Appstore Developers
Android mobile app security offensive security workshop
Android mobile app security   offensive security workshopAndroid mobile app security   offensive security workshop
Android mobile app security offensive security workshop
Abhinav Sejpal
User Experience within software Testing
User Experience within software TestingUser Experience within software Testing
User Experience within software Testing
Youssef Trabelsi
Puppet Camp London 2015 - Helping Data Teams with Puppet
Puppet Camp London 2015 - Helping Data Teams with PuppetPuppet Camp London 2015 - Helping Data Teams with Puppet
Puppet Camp London 2015 - Helping Data Teams with Puppet
Puppet
Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015
Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015
Helping Data Teams with Puppet / Puppet Camp London - Apr 13, 2015
Sergii Khomenko
Nuno Job - what's next for software - ANDdigital tech summit
Nuno Job - what's next for software - ANDdigital tech summitNuno Job - what's next for software - ANDdigital tech summit
Nuno Job - what's next for software - ANDdigital tech summit
Greta Strolyte
4 GDPR Hacks to Mitigate Breach Risks Post GDPR
4 GDPR Hacks to Mitigate Breach Risks Post GDPR4 GDPR Hacks to Mitigate Breach Risks Post GDPR
4 GDPR Hacks to Mitigate Breach Risks Post GDPR
TransUnion
Scale up your apps and games building new experiences on amazon fire tv
Scale up your apps and games building new experiences on amazon fire tvScale up your apps and games building new experiences on amazon fire tv
Scale up your apps and games building new experiences on amazon fire tv
Amazon Appstore Developers
PyLadies Talk: Learn to love the command line!
PyLadies Talk: Learn to love the command line!PyLadies Talk: Learn to love the command line!
PyLadies Talk: Learn to love the command line!
Blanca Mancilla
Workshop: Integrating Amazon APIs in Unity
Workshop: Integrating Amazon APIs in Unity Workshop: Integrating Amazon APIs in Unity
Workshop: Integrating Amazon APIs in Unity
Amazon Appstore Developers
Developing Media Streaming Android Apps the Easy Way with Fire App Builder - ...
Developing Media Streaming Android Apps the Easy Way with Fire App Builder - ...Developing Media Streaming Android Apps the Easy Way with Fire App Builder - ...
Developing Media Streaming Android Apps the Easy Way with Fire App Builder - ...
Amazon Appstore Developers
Secure Application Development
Secure Application DevelopmentSecure Application Development
Secure Application Development
Radu Vunvulea

Recently uploaded (20)

How John started to like TDD (instead of hating it) - TED talk
How John started to like TDD (instead of hating it) - TED talkHow John started to like TDD (instead of hating it) - TED talk
How John started to like TDD (instead of hating it) - TED talk
Nacho Cougil
LDPlayer 9.1.20 Latest Crack Free Download
LDPlayer 9.1.20 Latest Crack Free DownloadLDPlayer 9.1.20 Latest Crack Free Download
LDPlayer 9.1.20 Latest Crack Free Download
5ls1bnl9iv
Enscape Latest 2025 Crack Free Download
Enscape Latest 2025  Crack Free DownloadEnscape Latest 2025  Crack Free Download
Enscape Latest 2025 Crack Free Download
rnzu5cxw0y
salesforce development services - Alt digital
salesforce development services - Alt digitalsalesforce development services - Alt digital
salesforce development services - Alt digital
Alt Digital Technologies
AI Agents and More:Build Your AI Assistans
AI Agents and More:Build Your AI AssistansAI Agents and More:Build Your AI Assistans
AI Agents and More:Build Your AI Assistans
HusseinMalikMammadli
AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...
AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...
AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...
Alluxio, Inc.
Tenorshare 4uKey Crack Fre e Download
Tenorshare  4uKey  Crack  Fre e DownloadTenorshare  4uKey  Crack  Fre e Download
Tenorshare 4uKey Crack Fre e Download
oyv9tzurtx
AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]
AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]
AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]
haroonsaeed605
AVG Antivirus Crack With Free version Download 2025 [Latest]
AVG Antivirus Crack With Free version Download 2025 [Latest]AVG Antivirus Crack With Free version Download 2025 [Latest]
AVG Antivirus Crack With Free version Download 2025 [Latest]
haroonsaeed605
Wondershare Filmora Crack Free Download
Wondershare Filmora  Crack Free DownloadWondershare Filmora  Crack Free Download
Wondershare Filmora Crack Free Download
zqeevcqb3t
DevOpsDays LA - Platform Engineers are Product Managers.pdf
DevOpsDays LA - Platform Engineers are Product Managers.pdfDevOpsDays LA - Platform Engineers are Product Managers.pdf
DevOpsDays LA - Platform Engineers are Product Managers.pdf
Justin Reock
AI/ML Infra Meetup | Deployment, Discovery and Serving of LLMs at Uber Scale
AI/ML Infra Meetup | Deployment, Discovery and Serving of LLMs at Uber ScaleAI/ML Infra Meetup | Deployment, Discovery and Serving of LLMs at Uber Scale
AI/ML Infra Meetup | Deployment, Discovery and Serving of LLMs at Uber Scale
Alluxio, Inc.
SketchUp Pro Crack [2025]-Free Download?
SketchUp Pro Crack [2025]-Free Download?SketchUp Pro Crack [2025]-Free Download?
SketchUp Pro Crack [2025]-Free Download?
kiran10101khan
Online Software Testing Training Institute in Delhi Ncr
Online Software Testing Training Institute in Delhi NcrOnline Software Testing Training Institute in Delhi Ncr
Online Software Testing Training Institute in Delhi Ncr
Home
AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio: Preprocessing, ...
AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio:  Preprocessing, ...AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio:  Preprocessing, ...
AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio: Preprocessing, ...
Alluxio, Inc.
A Brief Introduction About Raman Bhaumik
A Brief Introduction About Raman BhaumikA Brief Introduction About Raman Bhaumik
A Brief Introduction About Raman Bhaumik
Raman Bhaumik
iTop VPN Latest Version 2025 Crack Free Download
iTop VPN Latest Version 2025 Crack Free DownloadiTop VPN Latest Version 2025 Crack Free Download
iTop VPN Latest Version 2025 Crack Free Download
lr74xqnvuf
Why Hire Python Developers? Key Benefits for Your Business
Why Hire Python Developers? Key Benefits for Your BusinessWhy Hire Python Developers? Key Benefits for Your Business
Why Hire Python Developers? Key Benefits for Your Business
Mypcot Infotech
SE- Lecture 5 SE for easy understanding.ppt
SE- Lecture 5 SE for easy understanding.pptSE- Lecture 5 SE for easy understanding.ppt
SE- Lecture 5 SE for easy understanding.ppt
theworldimagine985
Hire Odoo Developer OnestopDA Experts.
Hire Odoo Developer  OnestopDA Experts.Hire Odoo Developer  OnestopDA Experts.
Hire Odoo Developer OnestopDA Experts.
OnestopDA
How John started to like TDD (instead of hating it) - TED talk
How John started to like TDD (instead of hating it) - TED talkHow John started to like TDD (instead of hating it) - TED talk
How John started to like TDD (instead of hating it) - TED talk
Nacho Cougil
LDPlayer 9.1.20 Latest Crack Free Download
LDPlayer 9.1.20 Latest Crack Free DownloadLDPlayer 9.1.20 Latest Crack Free Download
LDPlayer 9.1.20 Latest Crack Free Download
5ls1bnl9iv
Enscape Latest 2025 Crack Free Download
Enscape Latest 2025  Crack Free DownloadEnscape Latest 2025  Crack Free Download
Enscape Latest 2025 Crack Free Download
rnzu5cxw0y
salesforce development services - Alt digital
salesforce development services - Alt digitalsalesforce development services - Alt digital
salesforce development services - Alt digital
Alt Digital Technologies
AI Agents and More:Build Your AI Assistans
AI Agents and More:Build Your AI AssistansAI Agents and More:Build Your AI Assistans
AI Agents and More:Build Your AI Assistans
HusseinMalikMammadli
AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...
AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...
AI/ML Infra Meetup | Building Production Platform for Large-Scale Recommendat...
Alluxio, Inc.
Tenorshare 4uKey Crack Fre e Download
Tenorshare  4uKey  Crack  Fre e DownloadTenorshare  4uKey  Crack  Fre e Download
Tenorshare 4uKey Crack Fre e Download
oyv9tzurtx
AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]
AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]
AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]
haroonsaeed605
AVG Antivirus Crack With Free version Download 2025 [Latest]
AVG Antivirus Crack With Free version Download 2025 [Latest]AVG Antivirus Crack With Free version Download 2025 [Latest]
AVG Antivirus Crack With Free version Download 2025 [Latest]
haroonsaeed605
Wondershare Filmora Crack Free Download
Wondershare Filmora  Crack Free DownloadWondershare Filmora  Crack Free Download
Wondershare Filmora Crack Free Download
zqeevcqb3t
DevOpsDays LA - Platform Engineers are Product Managers.pdf
DevOpsDays LA - Platform Engineers are Product Managers.pdfDevOpsDays LA - Platform Engineers are Product Managers.pdf
DevOpsDays LA - Platform Engineers are Product Managers.pdf
Justin Reock
AI/ML Infra Meetup | Deployment, Discovery and Serving of LLMs at Uber Scale
AI/ML Infra Meetup | Deployment, Discovery and Serving of LLMs at Uber ScaleAI/ML Infra Meetup | Deployment, Discovery and Serving of LLMs at Uber Scale
AI/ML Infra Meetup | Deployment, Discovery and Serving of LLMs at Uber Scale
Alluxio, Inc.
SketchUp Pro Crack [2025]-Free Download?
SketchUp Pro Crack [2025]-Free Download?SketchUp Pro Crack [2025]-Free Download?
SketchUp Pro Crack [2025]-Free Download?
kiran10101khan
Online Software Testing Training Institute in Delhi Ncr
Online Software Testing Training Institute in Delhi NcrOnline Software Testing Training Institute in Delhi Ncr
Online Software Testing Training Institute in Delhi Ncr
Home
AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio: Preprocessing, ...
AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio:  Preprocessing, ...AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio:  Preprocessing, ...
AI/ML Infra Meetup | Optimizing ML Data Access with Alluxio: Preprocessing, ...
Alluxio, Inc.
A Brief Introduction About Raman Bhaumik
A Brief Introduction About Raman BhaumikA Brief Introduction About Raman Bhaumik
A Brief Introduction About Raman Bhaumik
Raman Bhaumik
iTop VPN Latest Version 2025 Crack Free Download
iTop VPN Latest Version 2025 Crack Free DownloadiTop VPN Latest Version 2025 Crack Free Download
iTop VPN Latest Version 2025 Crack Free Download
lr74xqnvuf
Why Hire Python Developers? Key Benefits for Your Business
Why Hire Python Developers? Key Benefits for Your BusinessWhy Hire Python Developers? Key Benefits for Your Business
Why Hire Python Developers? Key Benefits for Your Business
Mypcot Infotech
SE- Lecture 5 SE for easy understanding.ppt
SE- Lecture 5 SE for easy understanding.pptSE- Lecture 5 SE for easy understanding.ppt
SE- Lecture 5 SE for easy understanding.ppt
theworldimagine985
Hire Odoo Developer OnestopDA Experts.
Hire Odoo Developer  OnestopDA Experts.Hire Odoo Developer  OnestopDA Experts.
Hire Odoo Developer OnestopDA Experts.
OnestopDA

Automate iOS Deployment with Hamper and Schezhen

  • 1. AU T O M AT I N G I O S D E PL OY M E N T K I R AN PA N E S A R @ K _ PAN E S A R
  • 2. I M T H E C T O O F M O BI L E X L A B S , A N D W E M A K E NAT I V. C O M .
  • 3. W E RE I N BE TA . BE N I C E . K I R AN @ M O B I L E X LAB S . C O M
  • 4. I O S AU T O M AT I O N I S G RE AT. xcodebuild - Jenkins - ios-sim - UIAutomation - TestFlights API - etc
  • 5. T H IS M A K ES I O S D E VE L O PM E N T FA ST A N D F U N !
  • 6. B U T , W H AT A B O U T D E PL OY M E N T ?
  • 7. 1. Sign into the Provisioning Portal. 2. Create an app ID. 3. Create a distribution certi鍖cate. 4. Install distribution certi鍖cate. 5. Create provisioning pro鍖le. 6. Download and install pro鍖le. 7. Fight with Xcodes pro鍖le management for some time. 8. Tell Xcode to use the pro鍖le for distribution. 9. Build. 10. Export archive. 11. Upload to TestFlight, App Store, HockeyApp, etc. ( D E LI B E R AT E LY S MAL L )
  • 8. T H I S M A K ES I O S D E VE L O PM E N T SL OW A N D D U L L .
  • 9. Y O U I D O N T D O T H I S V E RY O F T E N . W H Y D O I C A RE ?
  • 10. PE O PL E D O N T C A RE E N O U G H A B O U T I T. BU T T H E Y A LWAYS C O M PL A I N .
  • 11. T H IS I S A RE A L PRO BL E M FO R US .
  • 12. N O PRO V ISI O N I N G P O RTA L A P I .
  • 13. S O W H AT ? B U I L D O N E .
  • 14. I N T RO D UC I N G H A M P E R . G I T H U B . C O M / M O B I L E X LAB S / HAM P E R
  • 15. A C O M M A N D L I N E I N T E RFAC E FO R I O S PRO V ISI O N I N G G I T H U B . C O M / M O B I L E X LAB S / HAM P E R
  • 16. H OW D O ES I T W O RK ? Python, Selenium, PhantomJS
  • 17. W H AT C A N I T D O ? Authentication. App ID registration. Certi鍖cate generation. Provisioning pro鍖le creation.
  • 18. I NSTA L L AT I O N brew install phantomjs ... sudo pip install hampercli
  • 19. ST RU C T U RE hamper <module> <verb> --<argument> <value>
  • 20. L E T S S E E W H AT I T C A N D O .
  • 21. SI G N I N hamper auth login --email your@email.com --password passwd Authenticating user... User successfully authenticated. (Password stored in the devices keychain for future requests)
  • 22. A PP I D RE G IST RAT I O N hamper identifier create --app_name MyApp --bundle_id com.mxl.new_app Generating app ID... App ID successfully generated.
  • 23. C E RT I F I C AT E G E N E RAT I O N hamper cert create distribution --csr_path /request.csr --cert_path /out.cer --bundle_id com.mxl.new_app ... Generating certificate (this could take a minute)... Certificate successfully generated. Downloading certificate (this could take a minute)... Certificate successfully downloaded (/Users/kiran/out.cer). openssl genrsa -out private.key 2048 openssl req -new -key private.key -out request.csr Using openssl to generate key and CSR Generate a certi鍖cate
  • 24. PRO V I SI O N I N G P RO F I L E C RE AT I O N ... Waiting for Apple to generate profile (this could take a minute)... Provisioning profile successfully generated. Downloading provisioning profile... Profile successfully downloaded (/Users/kiran/p.mobileprovision). hamper profile create app_store --name MyApp_Production --bundle_id com.kp.my_app --profile_path p.mobileprovision --exp_day 20 --exp_month 04 --exp_year 2015
  • 25. Y O U W H AT C A N I D O W I T H T H IS ?
  • 26. T O T H E A PP ST O RE ! Using Hamper with Shenzhen (Mattt Thompson)
  • 27. RE G IST E R A N A PP hamper identifier create --app_name MyApp --bundle_id com.mxl.new_app Generating app ID... App ID successfully generated.
  • 28. G E N E RAT E T H E P RO F I L E Waiting for Apple to generate profile (this could take a minute)... Provisioning profile successfully generated. Downloading provisioning profile... Profile successfully downloaded (/Users/kiran/p.mobileprovision). hamper profile create app_store --name MyApp_Production --bundle_id com.mxl.new_app --profile_path p.mobileprovision --exp_day 20 --exp_month 04 --exp_year 2015
  • 29. I NSTA L L T H E PRO F I L E uuid=`grep UUID -A1 -a p.mobileprovision | grep -io "[-A-Z0-9]{36}"` cp p.mobileprovision ~/Library/MobileDevice/Provisioning Profiles/$uuid.mobileprovision H O L D O N T O T H AT U U I D , W E RE G O I N G T O N E E D I T I N T H E N E X T S T E P
  • 30. B U I L D A N D A RC H I VE xcodebuild archive -workspace my_app.xcworkspace -scheme MyApp -archivePath output.xcarchive PROVISIONING_PROFILE=$uuid xcodebuild -exportArchive -archivePath output.xcarchive -exportPath ./ -exportFormat ipa -exportProvisioningProfile p.mobileprovision
  • 31. U PL OA D ! ipa distribute:itunesconnect -a me@email.com -p passwd -i 234234235 --upload U S I N G S H E N Z H E N
  • 32. W H AT S N E X T ? Prompting interface. Integration with openssl to generate CSRs. Integration with iTunes Connect to create an app, 鍖ll out metadata. General reliability improvements. B E CAU S E I T S I N B E TA .
  • 33. T H A N K S ! G I T H U B . C O M / M O B I L E X LAB S / HAM P E R
  • 34. K I RA N PA N ES A R E N G I N E E R I N G . M O B I L E X LAB S . C O M @ K _ PAN E SAR K I R AN @ M O B I L E X LAB S . C O M