SlideShare a Scribd company logo
1 of 80
Evan Kirchhoff
Senior Software Engineer
Ansca Mobile
iPhone Provisioning Portal setup and
App Store submission

iOS 4.0 Development Training Camp
Hacker Dojo, Mountain View, California
August 7, 2010
Today’s topics:
 Setting up the Provisioning Portal

Preparing your App Store submission

    The review/rejection process

      Increasing your app sales

 Some cool tech demos with Corona
Mobile development
 before the iPhone
2006: Carriers ruled the world
Carriers controlled the
         interface




The app buying experience was poor...
App testing was complicated
            and expensive
In this example, the mandatory test fees were $800 per app per device model;
            test failure over trivial technicalities was very common
Other people got
       most of the money
Other People         You   Other People         You




25%
                                          30%




                           70%
               75%




      Then                       Now
Secretive, mysterious and
 sometimes frustrating
     ...but we love them anyway.
Using the iPhone
Provisioning Portal
It seems hard because it is
Log into your iPhone developer
    account and start here:
First-time setup




Do all steps in one session for best results

Work down the left-hand menu, and create at least
one of everything
The first step is to
create one of these
Use Keychain Access
    (on your Mac)
to create a certificate
Use Keychain Access
    (on your Mac)
to create a certificate
Use Keychain Access
    (on your Mac)
to create a certificate
Save the Certificate
        Signing Request file




This is the file to upload to the Provisioning Portal
Upload the file here
and click “Submit”
Whenever you see
“Pending”, hit refresh
   in your browser
Now click the
                      “Download” button...

...then double-click the certificate file to
       install in your Mac keychain
(The process is the same
for App Store Distribution
       certificates)
Now add test devices using their hardware Device IDs.
  You can register up to 100 devices per developer
                 account (per year)
Use Xcode Organizer to get
      the Device ID




    Connect your device, then go to
     Xcode > Window > Organizer
Using a wildcard “*”
identifier is easiest at first...
...but you’ll need to generate app-specific IDs if
    you want to use Apple services like Push
 Notification, In-App Purchase or Game Center
Provisioning Profiles:
         three types
1. Developer - for debugging
   (expires in 3 months)

2. Distribution (ad hoc) - for beta
   testers, using one of your 100 devices
   (expires in 1 year)

3. Distribution (App Store) - for
   shipping your final app to the store
What are Provisioning Profiles?
Provisioning Profiles bring everything together:




They associate certificates, AppIDs, and devices
  (They must also be installed on the test devices; either
     Xcode Organizer or iTunes can be used for this)
Provisioning Profiles bring everything together:
“Distribution” Profiles come in two flavors:




                            (we did this earlier)
“App Store” Distribution Profiles don’t allow
 device selection (and won’t run on devices)
Download the
  .mobileprovision files




Then double-click to install on your Mac
The files will end up here:




For best results, delete the ones you aren’t using!
Submitting to the
   App Store
  This part is easier
Be sure to use your App Store distribution profile




(If you build using Corona, you’ll won’t see this screen)
To submit your app




(Only available at sufficient account privileges!)
If there’s a name you really need,
         get it while you can!




      Note that the iPhone will only display names up to
      12 characters without shortening them with “...”
(It’s possible to use a long name in the store, and set a shorter display name in Info.plist)
What date to choose?




Your release won’t happen before this date,
   but may occur unpredictably after it!
Some people change this date each night to tomorrow’s date, during their review period,
   to try and optimize their initial placement on the App Store’s recent-releases lists
Pick your price
Gather all this information before starting
              your submission

                                                Description field no
                                                longer indexed for
                                                iTunes app searches
                                                (due to rampant
                                                keyword-stuffing in
                                                this field)

                                                100-character
                                                maximum (eliminate
                                                spaces to make room
                                                for more keywords)

                                              “Copyright” field can be
                                              whatever you want to
                                              show in the store
                                              as the author/company

       App Store reviewers will want to inspect all parts of
       your app, so include test passwords if necessary
Your calculated content rating determines
    the parental filtering of your app
The last two are a trick question...




                                  Oops!
This large icon must look basically
the same as your app icon
(it’s safest to be exactly the same)


   You get up to 5 screenshots -
   use them all!
      Use PNG files for best results
“Screenshots” don’t need to be literal
            screenshots!
Now you are
ready to upload
the app itself...
Download
“Application
  Loader”
Now click here
You will most likely answer
       “No” to this!
You must run Application
Loader to upload your app




    But it is actually helpful!
You must run Application
Loader to upload your app




                   Zip your final
                  app file before
                     uploading
If using Xcode, the release build file can be found in
        [Project folder] > build > Release-iphoneos

   (If using Corona, simply click the “Show in Finder”
                  button after building)

Right-click this .app file and choose “Compress” to zip it
Application Loader finds
  common build problems




This saves a lot of time, compared to the
 App Store rejections that would have
          happened otherwise!
After the upload
                       “Waiting for Review”
(USUALLY A FEW BUSINESS DAYS)


                                    “In Review”
(ANOTHER 3-5 BUSINESS DAYS)




                                                “Requiring
 “Ready for Sale!”
                                           unexpected additional
        (CONGRATULATIONS!)
     Your app will appear on the
                                             time for review”
      store within an hour or so.            (OH NO - THE DREADED APP LIMBO)
                                              Some apps get stuck here for weeks
                                              or months...experiences vary widely
What happens during review?
Automated scanning for private Apple APIs

Some kind of human judgement regarding
      “inappropriate” app content
     A little bit of intellectual property
      monitoring (seems hit or miss)
Actual human testing of the app (seems to
  be about 5 minutes on average, mostly
checking for crashes, major style violations,
      or obvious behavior problems)
What if they reject your app?
   Usually they’ll give you a reason:
But some rejections are
              unpredictable!




http://www.theregister.co.uk/2010/06/01/apple_boots_widgety_apps_from_app_store/
Congratulations, you’re
  in the App Store!
       Now what?
You have 5 friends with
    iPhones: call them now!




You really want to get out of “No Ratings” status
   quickly, but that requires at least 5 ratings
    (no written reviews needed, just the ratings!)
Try to get reviews from your
      happy customers
Ratings totals are a rough
     proxy for sales totals




...and the multiplier may be around 100x (!)
Obviously a very rough estimate, but seems correct to within an order of magnitude
Use your app to cross-promote
       your other apps




This button links to an App Store search by company name
Use Facebook, Twitter or social
      gaming networks




 (e.g., OpenFeint, or Apple’s Game Center)
Some kind of promotional website is a good idea...




 Canabalt features the fully playable game on its website for free,
              yet sold very well on iPhone at $2.99!
  (Also note that you can use iTunes affiliate links to get a 5% revenue bonus)
App review websites



                                      ?
   Without naming names, there may be a
    “pay to play” aspect in some cases
Some developers boycott paid review sites; it’s your choice*

            *Personal view: “All’s fair in love, war, and search engine optimization”
You could also try advertising




                       !
  The apps market is still so young that
 virtually no real advertising takes place!
 (This will presumably change as app budgets increase)
Use these
to give free
apps to
friends or
reviewers.

You can get
50 codes
per app
version.
Promo codes are redeemed in iTunes:




They expire quickly - don’t generate too many at once!
With 225,000 apps, isn’t the
        App Store “full”?




               Was the web “full” in 1994?
(Note 1994 Yahoo interface very similar to today’s App Store!)
App Submission case studies
 (all information anecdotal)

         ABC Animals

          Pad Racers

        420 Reminder
What does Ansca Mobile offer developers?
Corona SDK
December 2009
                Corona Game Edition
                     July 2010
What is Corona?

OpenGL accelerated graphics engine
Develop mobile apps using a small
scripting language (Lua) rather than
C++, Objective-C or Java
Cross-platform development: iPhone,
iPad, Android from the same source
The Lua language




www.lua.org
What is Game Edition?

Physics engine included (Box2D)

Animated sprites & “sprite sheets”

Social gaming features
Corona SDK                         +   Corona Game Edition
                                                   all previous features, plus:
* Full Lua scripting language
* Hardware-accelerated graphics
                                            * Improved texture memory handling
* GPS, compass, accelerometer
                                            * Animated sprites with independent
* Networking (TCP, FTP, HTTP, etc.)
                                                framerates per sprite sequence
* Camera and photo library
                                            * 2D physics simulation
* Video playback (streaming or local)
                                            * Simple and complex physical bodies
* Audio (sound effects or MP3)
                                            * Physical properties (mass, friction,
* Animation and transition libraries
                                                bounce)
* Vector drawing APIs (shapes and lines)
                                            * Joints, wheels, hinges, pulleys, etc.
* Native UI (keyboard, etc.)
                                            * Collision detection, including pre- and
* WebKit browser views
                                                post-collision events
* SQLite database
                                            * OpenFeint game network support
* File read/write
                                            * (more social features TBA)
* Crypto (md4, md5, sha1, sha512, etc.)
* Facebook and Twitter libraries
What can you make?




(These are not Corona,
but represent the target
market for Game Edition)
What can you make?




(Made in Corona Game Edition and shipped to the
            iPad App Store recently)
How does Corona work?
         Native Engine:
         C, C++, Objective-C,
         OpenGL

          Exposed Scripting:
          Lua


   Lua is designed as an embedded language
(Very small, very fast, runs alongside native code)
Now is the time where we
   show tech demos
iPhone Provisioning and App Store Submission Guide

More Related Content

What's hot

iPhone Development Quick Start
iPhone Development Quick StartiPhone Development Quick Start
iPhone Development Quick Startgnocode
 
Best Practice iPhone SDK App Design
Best Practice iPhone SDK App DesignBest Practice iPhone SDK App Design
Best Practice iPhone SDK App DesignBess Ho
 
7 User Experience Lessons from the iPhone (Introducing UX)
7 User Experience Lessons from the iPhone (Introducing UX)7 User Experience Lessons from the iPhone (Introducing UX)
7 User Experience Lessons from the iPhone (Introducing UX)Stephen Anderson
 
iPhone Developer_ankush
iPhone Developer_ankushiPhone Developer_ankush
iPhone Developer_ankushankush Ankush
 
iPhone application development in India
iPhone application development in IndiaiPhone application development in India
iPhone application development in IndiaMobile Pundits
 
iPhone - Human Interface Guidelines
iPhone - Human Interface GuidelinesiPhone - Human Interface Guidelines
iPhone - Human Interface GuidelinesMartin Ebner
 
Adobe Max Modern iPhone App Design with Rick Messer
Adobe Max Modern iPhone App Design with Rick MesserAdobe Max Modern iPhone App Design with Rick Messer
Adobe Max Modern iPhone App Design with Rick MesserRick Messer
 
iPhone first App Store submission
iPhone  first App Store submissioniPhone  first App Store submission
iPhone first App Store submissionPragati Singh
 
iPhone transfer software
iPhone transfer softwareiPhone transfer software
iPhone transfer softwarejohnjuly123
 
Introducing Apple New iPad(iPad 4th generation)
Introducing Apple New iPad(iPad 4th generation)Introducing Apple New iPad(iPad 4th generation)
Introducing Apple New iPad(iPad 4th generation)JJ Wu
 
Starting mobile development
Starting mobile developmentStarting mobile development
Starting mobile developmentMihai Corlan
 
iOS design: a case study
iOS design: a case studyiOS design: a case study
iOS design: a case studyJohan Ronsse
 
iOS Human Interface Guidelines (HCI)
iOS Human Interface Guidelines (HCI)iOS Human Interface Guidelines (HCI)
iOS Human Interface Guidelines (HCI)Mohammad Khalil
 
Iphone programming: Objective c
Iphone programming: Objective cIphone programming: Objective c
Iphone programming: Objective cKenny Nguyen
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devicesTerry Ryan
 
IOS8 tuto by Phonevalley-DigitasLBi
IOS8 tuto by Phonevalley-DigitasLBiIOS8 tuto by Phonevalley-DigitasLBi
IOS8 tuto by Phonevalley-DigitasLBiDigitasLBi Paris
 
What's new in iOS 9 ?
What's new in iOS 9 ?What's new in iOS 9 ?
What's new in iOS 9 ?Phonevalley
 

What's hot (20)

iPhone Development Quick Start
iPhone Development Quick StartiPhone Development Quick Start
iPhone Development Quick Start
 
Best Practice iPhone SDK App Design
Best Practice iPhone SDK App DesignBest Practice iPhone SDK App Design
Best Practice iPhone SDK App Design
 
7 User Experience Lessons from the iPhone (Introducing UX)
7 User Experience Lessons from the iPhone (Introducing UX)7 User Experience Lessons from the iPhone (Introducing UX)
7 User Experience Lessons from the iPhone (Introducing UX)
 
iCloud
iCloudiCloud
iCloud
 
iPhone Developer_ankush
iPhone Developer_ankushiPhone Developer_ankush
iPhone Developer_ankush
 
iPhone application development in India
iPhone application development in IndiaiPhone application development in India
iPhone application development in India
 
iPhone - Human Interface Guidelines
iPhone - Human Interface GuidelinesiPhone - Human Interface Guidelines
iPhone - Human Interface Guidelines
 
Adobe Max Modern iPhone App Design with Rick Messer
Adobe Max Modern iPhone App Design with Rick MesserAdobe Max Modern iPhone App Design with Rick Messer
Adobe Max Modern iPhone App Design with Rick Messer
 
iPhone first App Store submission
iPhone  first App Store submissioniPhone  first App Store submission
iPhone first App Store submission
 
iPhone Applications & Luxury Brands - Updated May 5, 2010
iPhone Applications & Luxury Brands - Updated May 5, 2010iPhone Applications & Luxury Brands - Updated May 5, 2010
iPhone Applications & Luxury Brands - Updated May 5, 2010
 
iPhone transfer software
iPhone transfer softwareiPhone transfer software
iPhone transfer software
 
Introducing Apple New iPad(iPad 4th generation)
Introducing Apple New iPad(iPad 4th generation)Introducing Apple New iPad(iPad 4th generation)
Introducing Apple New iPad(iPad 4th generation)
 
Starting mobile development
Starting mobile developmentStarting mobile development
Starting mobile development
 
iOS design: a case study
iOS design: a case studyiOS design: a case study
iOS design: a case study
 
iOS Human Interface Guidelines (HCI)
iOS Human Interface Guidelines (HCI)iOS Human Interface Guidelines (HCI)
iOS Human Interface Guidelines (HCI)
 
Iphone programming: Objective c
Iphone programming: Objective cIphone programming: Objective c
Iphone programming: Objective c
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
 
IOS8 tuto by Phonevalley-DigitasLBi
IOS8 tuto by Phonevalley-DigitasLBiIOS8 tuto by Phonevalley-DigitasLBi
IOS8 tuto by Phonevalley-DigitasLBi
 
iOS 9 : What's New ?
iOS 9 : What's New ?iOS 9 : What's New ?
iOS 9 : What's New ?
 
What's new in iOS 9 ?
What's new in iOS 9 ?What's new in iOS 9 ?
What's new in iOS 9 ?
 

Viewers also liked

The App Store Presentation
The App Store PresentationThe App Store Presentation
The App Store PresentationAlexandru2010
 
App submission survey results
App submission survey resultsApp submission survey results
App submission survey resultsExicon
 
App Publishing for Museums - iPhone, iPad and beyond
App Publishing for Museums - iPhone, iPad and beyondApp Publishing for Museums - iPhone, iPad and beyond
App Publishing for Museums - iPhone, iPad and beyondCogapp
 
Google play store vs Apple Apps Store
Google play store vs Apple Apps StoreGoogle play store vs Apple Apps Store
Google play store vs Apple Apps StoreWeDigTech
 
MMSS 2015 - Mobile App Strategy and App Store Optimization (ASO)
MMSS 2015 - Mobile App Strategy and App Store Optimization (ASO)MMSS 2015 - Mobile App Strategy and App Store Optimization (ASO)
MMSS 2015 - Mobile App Strategy and App Store Optimization (ASO)Dave Lloyd
 

Viewers also liked (8)

From Idea to App Store
From Idea to App StoreFrom Idea to App Store
From Idea to App Store
 
The App Store Presentation
The App Store PresentationThe App Store Presentation
The App Store Presentation
 
App submission survey results
App submission survey resultsApp submission survey results
App submission survey results
 
App Publishing for Museums - iPhone, iPad and beyond
App Publishing for Museums - iPhone, iPad and beyondApp Publishing for Museums - iPhone, iPad and beyond
App Publishing for Museums - iPhone, iPad and beyond
 
Google play store vs Apple Apps Store
Google play store vs Apple Apps StoreGoogle play store vs Apple Apps Store
Google play store vs Apple Apps Store
 
MMSS 2015 - Mobile App Strategy and App Store Optimization (ASO)
MMSS 2015 - Mobile App Strategy and App Store Optimization (ASO)MMSS 2015 - Mobile App Strategy and App Store Optimization (ASO)
MMSS 2015 - Mobile App Strategy and App Store Optimization (ASO)
 
Google Play
Google PlayGoogle Play
Google Play
 
Play store
Play storePlay store
Play store
 

Similar to iPhone Provisioning and App Store Submission Guide

iPhone App from concept to product
iPhone App from concept to productiPhone App from concept to product
iPhone App from concept to productjoeysim
 
App stores + cordova... get excited!
App stores + cordova... get excited!App stores + cordova... get excited!
App stores + cordova... get excited!Drake Emko
 
Ideas to App Store (2010)
Ideas to App Store (2010)Ideas to App Store (2010)
Ideas to App Store (2010)Joseph DeSetto
 
Aso prepared by Mr.Mohammed Neamatallah
Aso prepared by Mr.Mohammed NeamatallahAso prepared by Mr.Mohammed Neamatallah
Aso prepared by Mr.Mohammed NeamatallahMobdoo
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with AppiumSrijan Technologies
 
Apple app store optimization
Apple app store optimizationApple app store optimization
Apple app store optimizationrajivrranjan
 
Enterprise ipad Development with notes
Enterprise ipad Development with notesEnterprise ipad Development with notes
Enterprise ipad Development with notesjaxarcsig
 
Battle of Music: SDK from iPhone, Nokia, BlackBerry, Android, Palm
Battle of Music: SDK from iPhone, Nokia, BlackBerry, Android, PalmBattle of Music: SDK from iPhone, Nokia, BlackBerry, Android, Palm
Battle of Music: SDK from iPhone, Nokia, BlackBerry, Android, PalmBess Ho
 
Mobile testingartifacts
Mobile testingartifactsMobile testingartifacts
Mobile testingartifactsPragya Rastogi
 
iOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdfiOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdfJPLoft Solutions
 
Flutter Android / iOS Build Preparation
Flutter Android / iOS Build PreparationFlutter Android / iOS Build Preparation
Flutter Android / iOS Build Preparation9 series
 
eStudio34 presents London Search Love 2015 | Practical tips for the future o...
eStudio34 presents London Search Love 2015 |  Practical tips for the future o...eStudio34 presents London Search Love 2015 |  Practical tips for the future o...
eStudio34 presents London Search Love 2015 | Practical tips for the future o...William Renedo
 
SearchLove London 2015 | Will Critchlow | Practical Tips for the Future of ...
SearchLove London 2015 |  Will Critchlow |  Practical Tips for the Future of ...SearchLove London 2015 |  Will Critchlow |  Practical Tips for the Future of ...
SearchLove London 2015 | Will Critchlow | Practical Tips for the Future of ...Distilled
 
Android Business Essentials
Android Business EssentialsAndroid Business Essentials
Android Business EssentialsNathan Mellor
 
iPhone & iPad App Cash - The *COMPLETE GUIDE* to create iPhone app and how to...
iPhone & iPad App Cash - The *COMPLETE GUIDE* to create iPhone app and how to...iPhone & iPad App Cash - The *COMPLETE GUIDE* to create iPhone app and how to...
iPhone & iPad App Cash - The *COMPLETE GUIDE* to create iPhone app and how to...jcitnmkt
 
App Store Optimization - SMX Munich - Emily Grossman
App Store Optimization - SMX Munich - Emily GrossmanApp Store Optimization - SMX Munich - Emily Grossman
App Store Optimization - SMX Munich - Emily GrossmanMobileMoxie
 
App Store Optimization - SMX Munich - Emily Grossman
App Store Optimization - SMX Munich - Emily GrossmanApp Store Optimization - SMX Munich - Emily Grossman
App Store Optimization - SMX Munich - Emily GrossmanSuzzicks
 
b4usolution_Appium Mobile Automation Testing Made Awesome
b4usolution_AppiumMobile Automation Testing Made Awesomeb4usolution_AppiumMobile Automation Testing Made Awesome
b4usolution_Appium Mobile Automation Testing Made Awesomeb4usolution .
 

Similar to iPhone Provisioning and App Store Submission Guide (20)

iPhone App from concept to product
iPhone App from concept to productiPhone App from concept to product
iPhone App from concept to product
 
App stores + cordova... get excited!
App stores + cordova... get excited!App stores + cordova... get excited!
App stores + cordova... get excited!
 
Ideas to App Store (2010)
Ideas to App Store (2010)Ideas to App Store (2010)
Ideas to App Store (2010)
 
Aso prepared by Mr.Mohammed Neamatallah
Aso prepared by Mr.Mohammed NeamatallahAso prepared by Mr.Mohammed Neamatallah
Aso prepared by Mr.Mohammed Neamatallah
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
 
Apple app store optimization
Apple app store optimizationApple app store optimization
Apple app store optimization
 
600 most amazing apps PDF
600 most amazing apps PDF 600 most amazing apps PDF
600 most amazing apps PDF
 
MSR iOS Tranining
MSR iOS TraniningMSR iOS Tranining
MSR iOS Tranining
 
Enterprise ipad Development with notes
Enterprise ipad Development with notesEnterprise ipad Development with notes
Enterprise ipad Development with notes
 
Battle of Music: SDK from iPhone, Nokia, BlackBerry, Android, Palm
Battle of Music: SDK from iPhone, Nokia, BlackBerry, Android, PalmBattle of Music: SDK from iPhone, Nokia, BlackBerry, Android, Palm
Battle of Music: SDK from iPhone, Nokia, BlackBerry, Android, Palm
 
Mobile testingartifacts
Mobile testingartifactsMobile testingartifacts
Mobile testingartifacts
 
iOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdfiOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdf
 
Flutter Android / iOS Build Preparation
Flutter Android / iOS Build PreparationFlutter Android / iOS Build Preparation
Flutter Android / iOS Build Preparation
 
eStudio34 presents London Search Love 2015 | Practical tips for the future o...
eStudio34 presents London Search Love 2015 |  Practical tips for the future o...eStudio34 presents London Search Love 2015 |  Practical tips for the future o...
eStudio34 presents London Search Love 2015 | Practical tips for the future o...
 
SearchLove London 2015 | Will Critchlow | Practical Tips for the Future of ...
SearchLove London 2015 |  Will Critchlow |  Practical Tips for the Future of ...SearchLove London 2015 |  Will Critchlow |  Practical Tips for the Future of ...
SearchLove London 2015 | Will Critchlow | Practical Tips for the Future of ...
 
Android Business Essentials
Android Business EssentialsAndroid Business Essentials
Android Business Essentials
 
iPhone & iPad App Cash - The *COMPLETE GUIDE* to create iPhone app and how to...
iPhone & iPad App Cash - The *COMPLETE GUIDE* to create iPhone app and how to...iPhone & iPad App Cash - The *COMPLETE GUIDE* to create iPhone app and how to...
iPhone & iPad App Cash - The *COMPLETE GUIDE* to create iPhone app and how to...
 
App Store Optimization - SMX Munich - Emily Grossman
App Store Optimization - SMX Munich - Emily GrossmanApp Store Optimization - SMX Munich - Emily Grossman
App Store Optimization - SMX Munich - Emily Grossman
 
App Store Optimization - SMX Munich - Emily Grossman
App Store Optimization - SMX Munich - Emily GrossmanApp Store Optimization - SMX Munich - Emily Grossman
App Store Optimization - SMX Munich - Emily Grossman
 
b4usolution_Appium Mobile Automation Testing Made Awesome
b4usolution_AppiumMobile Automation Testing Made Awesomeb4usolution_AppiumMobile Automation Testing Made Awesome
b4usolution_Appium Mobile Automation Testing Made Awesome
 

Recently uploaded

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Recently uploaded (20)

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

iPhone Provisioning and App Store Submission Guide

  • 1. Evan Kirchhoff Senior Software Engineer Ansca Mobile iPhone Provisioning Portal setup and App Store submission iOS 4.0 Development Training Camp Hacker Dojo, Mountain View, California August 7, 2010
  • 2. Today’s topics: Setting up the Provisioning Portal Preparing your App Store submission The review/rejection process Increasing your app sales Some cool tech demos with Corona
  • 5. Carriers controlled the interface The app buying experience was poor...
  • 6. App testing was complicated and expensive In this example, the mandatory test fees were $800 per app per device model; test failure over trivial technicalities was very common
  • 7. Other people got most of the money Other People You Other People You 25% 30% 70% 75% Then Now
  • 8. Secretive, mysterious and sometimes frustrating ...but we love them anyway.
  • 9. Using the iPhone Provisioning Portal It seems hard because it is
  • 10. Log into your iPhone developer account and start here:
  • 11. First-time setup Do all steps in one session for best results Work down the left-hand menu, and create at least one of everything
  • 12. The first step is to create one of these
  • 13. Use Keychain Access (on your Mac) to create a certificate
  • 14. Use Keychain Access (on your Mac) to create a certificate
  • 15. Use Keychain Access (on your Mac) to create a certificate
  • 16. Save the Certificate Signing Request file This is the file to upload to the Provisioning Portal
  • 17. Upload the file here and click “Submit”
  • 18. Whenever you see “Pending”, hit refresh in your browser
  • 19. Now click the “Download” button... ...then double-click the certificate file to install in your Mac keychain
  • 20. (The process is the same for App Store Distribution certificates)
  • 21. Now add test devices using their hardware Device IDs. You can register up to 100 devices per developer account (per year)
  • 22. Use Xcode Organizer to get the Device ID Connect your device, then go to Xcode > Window > Organizer
  • 23. Using a wildcard “*” identifier is easiest at first...
  • 24. ...but you’ll need to generate app-specific IDs if you want to use Apple services like Push Notification, In-App Purchase or Game Center
  • 25. Provisioning Profiles: three types 1. Developer - for debugging (expires in 3 months) 2. Distribution (ad hoc) - for beta testers, using one of your 100 devices (expires in 1 year) 3. Distribution (App Store) - for shipping your final app to the store
  • 26. What are Provisioning Profiles? Provisioning Profiles bring everything together: They associate certificates, AppIDs, and devices (They must also be installed on the test devices; either Xcode Organizer or iTunes can be used for this)
  • 27. Provisioning Profiles bring everything together:
  • 28. “Distribution” Profiles come in two flavors: (we did this earlier)
  • 29. “App Store” Distribution Profiles don’t allow device selection (and won’t run on devices)
  • 30. Download the .mobileprovision files Then double-click to install on your Mac
  • 31. The files will end up here: For best results, delete the ones you aren’t using!
  • 32. Submitting to the App Store This part is easier
  • 33. Be sure to use your App Store distribution profile (If you build using Corona, you’ll won’t see this screen)
  • 34. To submit your app (Only available at sufficient account privileges!)
  • 35.
  • 36.
  • 37. If there’s a name you really need, get it while you can! Note that the iPhone will only display names up to 12 characters without shortening them with “...” (It’s possible to use a long name in the store, and set a shorter display name in Info.plist)
  • 38. What date to choose? Your release won’t happen before this date, but may occur unpredictably after it! Some people change this date each night to tomorrow’s date, during their review period, to try and optimize their initial placement on the App Store’s recent-releases lists
  • 40. Gather all this information before starting your submission Description field no longer indexed for iTunes app searches (due to rampant keyword-stuffing in this field) 100-character maximum (eliminate spaces to make room for more keywords) “Copyright” field can be whatever you want to show in the store as the author/company App Store reviewers will want to inspect all parts of your app, so include test passwords if necessary
  • 41. Your calculated content rating determines the parental filtering of your app
  • 42. The last two are a trick question... Oops!
  • 43. This large icon must look basically the same as your app icon (it’s safest to be exactly the same) You get up to 5 screenshots - use them all! Use PNG files for best results
  • 44. “Screenshots” don’t need to be literal screenshots!
  • 45. Now you are ready to upload the app itself...
  • 48. You will most likely answer “No” to this!
  • 49. You must run Application Loader to upload your app But it is actually helpful!
  • 50. You must run Application Loader to upload your app Zip your final app file before uploading
  • 51. If using Xcode, the release build file can be found in [Project folder] > build > Release-iphoneos (If using Corona, simply click the “Show in Finder” button after building) Right-click this .app file and choose “Compress” to zip it
  • 52. Application Loader finds common build problems This saves a lot of time, compared to the App Store rejections that would have happened otherwise!
  • 53. After the upload “Waiting for Review” (USUALLY A FEW BUSINESS DAYS) “In Review” (ANOTHER 3-5 BUSINESS DAYS) “Requiring “Ready for Sale!” unexpected additional (CONGRATULATIONS!) Your app will appear on the time for review” store within an hour or so. (OH NO - THE DREADED APP LIMBO) Some apps get stuck here for weeks or months...experiences vary widely
  • 54. What happens during review? Automated scanning for private Apple APIs Some kind of human judgement regarding “inappropriate” app content A little bit of intellectual property monitoring (seems hit or miss) Actual human testing of the app (seems to be about 5 minutes on average, mostly checking for crashes, major style violations, or obvious behavior problems)
  • 55. What if they reject your app? Usually they’ll give you a reason:
  • 56. But some rejections are unpredictable! http://www.theregister.co.uk/2010/06/01/apple_boots_widgety_apps_from_app_store/
  • 57. Congratulations, you’re in the App Store! Now what?
  • 58. You have 5 friends with iPhones: call them now! You really want to get out of “No Ratings” status quickly, but that requires at least 5 ratings (no written reviews needed, just the ratings!)
  • 59. Try to get reviews from your happy customers
  • 60. Ratings totals are a rough proxy for sales totals ...and the multiplier may be around 100x (!) Obviously a very rough estimate, but seems correct to within an order of magnitude
  • 61. Use your app to cross-promote your other apps This button links to an App Store search by company name
  • 62. Use Facebook, Twitter or social gaming networks (e.g., OpenFeint, or Apple’s Game Center)
  • 63. Some kind of promotional website is a good idea... Canabalt features the fully playable game on its website for free, yet sold very well on iPhone at $2.99! (Also note that you can use iTunes affiliate links to get a 5% revenue bonus)
  • 64. App review websites ? Without naming names, there may be a “pay to play” aspect in some cases Some developers boycott paid review sites; it’s your choice* *Personal view: “All’s fair in love, war, and search engine optimization”
  • 65. You could also try advertising ! The apps market is still so young that virtually no real advertising takes place! (This will presumably change as app budgets increase)
  • 66. Use these to give free apps to friends or reviewers. You can get 50 codes per app version.
  • 67. Promo codes are redeemed in iTunes: They expire quickly - don’t generate too many at once!
  • 68. With 225,000 apps, isn’t the App Store “full”? Was the web “full” in 1994? (Note 1994 Yahoo interface very similar to today’s App Store!)
  • 69. App Submission case studies (all information anecdotal) ABC Animals Pad Racers 420 Reminder
  • 70. What does Ansca Mobile offer developers?
  • 71. Corona SDK December 2009 Corona Game Edition July 2010
  • 72. What is Corona? OpenGL accelerated graphics engine Develop mobile apps using a small scripting language (Lua) rather than C++, Objective-C or Java Cross-platform development: iPhone, iPad, Android from the same source
  • 74. What is Game Edition? Physics engine included (Box2D) Animated sprites & “sprite sheets” Social gaming features
  • 75. Corona SDK + Corona Game Edition all previous features, plus: * Full Lua scripting language * Hardware-accelerated graphics * Improved texture memory handling * GPS, compass, accelerometer * Animated sprites with independent * Networking (TCP, FTP, HTTP, etc.) framerates per sprite sequence * Camera and photo library * 2D physics simulation * Video playback (streaming or local) * Simple and complex physical bodies * Audio (sound effects or MP3) * Physical properties (mass, friction, * Animation and transition libraries bounce) * Vector drawing APIs (shapes and lines) * Joints, wheels, hinges, pulleys, etc. * Native UI (keyboard, etc.) * Collision detection, including pre- and * WebKit browser views post-collision events * SQLite database * OpenFeint game network support * File read/write * (more social features TBA) * Crypto (md4, md5, sha1, sha512, etc.) * Facebook and Twitter libraries
  • 76. What can you make? (These are not Corona, but represent the target market for Game Edition)
  • 77. What can you make? (Made in Corona Game Edition and shipped to the iPad App Store recently)
  • 78. How does Corona work? Native Engine: C, C++, Objective-C, OpenGL Exposed Scripting: Lua Lua is designed as an embedded language (Very small, very fast, runs alongside native code)
  • 79. Now is the time where we show tech demos