SlideShare una empresa de Scribd logo
1 de 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
iTunes App Store Submission Presentation

Más contenido relacionado

La actualidad más candente

Android & iPhone App Testing
 Android & iPhone App Testing Android & iPhone App Testing
Android & iPhone App TestingSWAAM Tech
 
Programing for the iPhone
Programing for the iPhonePrograming for the iPhone
Programing for the iPhoneMike Qaissaunee
 
Stanford CS193P - Designing for iPad
Stanford CS193P - Designing for iPadStanford CS193P - Designing for iPad
Stanford CS193P - Designing for iPadEvan Doll
 
App stores + cordova... get excited!
App stores + cordova... get excited!App stores + cordova... get excited!
App stores + cordova... get excited!Drake Emko
 
iPhone transfer software
iPhone transfer softwareiPhone transfer software
iPhone transfer softwarejohnjuly123
 
Mobile Application Test check list
Mobile Application  Test check list Mobile Application  Test check list
Mobile Application Test check list Tanmoy Ray
 
iOS Human Interface Guidelines (HCI)
iOS Human Interface Guidelines (HCI)iOS Human Interface Guidelines (HCI)
iOS Human Interface Guidelines (HCI)Mohammad Khalil
 
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
 
How to make an iPhone app
How to make an iPhone appHow to make an iPhone app
How to make an iPhone appVCube Works
 
Whats New Ini Phone Os
Whats New Ini Phone OsWhats New Ini Phone Os
Whats New Ini Phone OsSejal Vora
 
How To Jailbreak Apple iphone 4?
How To Jailbreak Apple iphone 4?How To Jailbreak Apple iphone 4?
How To Jailbreak Apple iphone 4?watchton65
 
10 Reasons Why Apple Rejects Apps From The App Store
10 Reasons Why Apple Rejects Apps From The App Store10 Reasons Why Apple Rejects Apps From The App Store
10 Reasons Why Apple Rejects Apps From The App StoreAppknox
 
Titanium appcelerator sdk
Titanium appcelerator sdkTitanium appcelerator sdk
Titanium appcelerator sdkAlessio Ricco
 
Tablet strategy bootcamp
Tablet strategy bootcampTablet strategy bootcamp
Tablet strategy bootcampPaul Saunders
 
App design guide
App design guideApp design guide
App design guideJintin Lin
 
iOS Ecosystem @ Fiera del Radioamatore Pordenone
iOS Ecosystem @ Fiera del Radioamatore PordenoneiOS Ecosystem @ Fiera del Radioamatore Pordenone
iOS Ecosystem @ Fiera del Radioamatore PordenoneKlaus Lanzarini
 
iPhone Apps - What, how, why?
iPhone Apps - What, how, why?iPhone Apps - What, how, why?
iPhone Apps - What, how, why?David Carr
 

La actualidad más candente (20)

Android & iPhone App Testing
 Android & iPhone App Testing Android & iPhone App Testing
Android & iPhone App Testing
 
Programing for the iPhone
Programing for the iPhonePrograming for the iPhone
Programing for the iPhone
 
Stanford CS193P - Designing for iPad
Stanford CS193P - Designing for iPadStanford CS193P - Designing for iPad
Stanford CS193P - Designing for iPad
 
App stores + cordova... get excited!
App stores + cordova... get excited!App stores + cordova... get excited!
App stores + cordova... get excited!
 
iPhone transfer software
iPhone transfer softwareiPhone transfer software
iPhone transfer software
 
Mobile Application Test check list
Mobile Application  Test check list Mobile Application  Test check list
Mobile Application Test check list
 
iOS Human Interface Guidelines (HCI)
iOS Human Interface Guidelines (HCI)iOS Human Interface Guidelines (HCI)
iOS Human Interface Guidelines (HCI)
 
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
 
How to make an iPhone app
How to make an iPhone appHow to make an iPhone app
How to make an iPhone app
 
Whats New Ini Phone Os
Whats New Ini Phone OsWhats New Ini Phone Os
Whats New Ini Phone Os
 
600 most amazing apps PDF
600 most amazing apps PDF 600 most amazing apps PDF
600 most amazing apps PDF
 
Bugzilla
BugzillaBugzilla
Bugzilla
 
push_notification
push_notificationpush_notification
push_notification
 
How To Jailbreak Apple iphone 4?
How To Jailbreak Apple iphone 4?How To Jailbreak Apple iphone 4?
How To Jailbreak Apple iphone 4?
 
10 Reasons Why Apple Rejects Apps From The App Store
10 Reasons Why Apple Rejects Apps From The App Store10 Reasons Why Apple Rejects Apps From The App Store
10 Reasons Why Apple Rejects Apps From The App Store
 
Titanium appcelerator sdk
Titanium appcelerator sdkTitanium appcelerator sdk
Titanium appcelerator sdk
 
Tablet strategy bootcamp
Tablet strategy bootcampTablet strategy bootcamp
Tablet strategy bootcamp
 
App design guide
App design guideApp design guide
App design guide
 
iOS Ecosystem @ Fiera del Radioamatore Pordenone
iOS Ecosystem @ Fiera del Radioamatore PordenoneiOS Ecosystem @ Fiera del Radioamatore Pordenone
iOS Ecosystem @ Fiera del Radioamatore Pordenone
 
iPhone Apps - What, how, why?
iPhone Apps - What, how, why?iPhone Apps - What, how, why?
iPhone Apps - What, how, why?
 

Destacado

International developments in auditing2
International developments in auditing2International developments in auditing2
International developments in auditing2Sako Mwakalobo
 
Building iPhone Apps: From Flash Lite to Corona
Building iPhone Apps: From Flash Lite to CoronaBuilding iPhone Apps: From Flash Lite to Corona
Building iPhone Apps: From Flash Lite to CoronaAnscamobile
 
Identity, Location, and Citation at NEON
Identity, Location, and Citation at NEONIdentity, Location, and Citation at NEON
Identity, Location, and Citation at NEONMark Parsons
 
Parsons citation geodata2014
Parsons citation geodata2014Parsons citation geodata2014
Parsons citation geodata2014Mark Parsons
 
Grunnleggende+ferdigheter+i+norsk +og+samfunnsfag
Grunnleggende+ferdigheter+i+norsk +og+samfunnsfagGrunnleggende+ferdigheter+i+norsk +og+samfunnsfag
Grunnleggende+ferdigheter+i+norsk +og+samfunnsfagbjorob
 
Jevnaldrendes betydning nr. 1
Jevnaldrendes betydning nr. 1Jevnaldrendes betydning nr. 1
Jevnaldrendes betydning nr. 1bjorob
 
Anscaentrepreneur
AnscaentrepreneurAnscaentrepreneur
AnscaentrepreneurAnscamobile
 
Informe de recordación de contenidos Quellevar.travel
Informe de recordación de contenidos Quellevar.travel Informe de recordación de contenidos Quellevar.travel
Informe de recordación de contenidos Quellevar.travel quellearv
 
Curating for Value in Different Data Stewardship Paradigms
Curating for Value in Different Data Stewardship ParadigmsCurating for Value in Different Data Stewardship Paradigms
Curating for Value in Different Data Stewardship ParadigmsMark Parsons
 
Skolehistorie1850 1950-120906043343-phpapp01
Skolehistorie1850 1950-120906043343-phpapp01Skolehistorie1850 1950-120906043343-phpapp01
Skolehistorie1850 1950-120906043343-phpapp01bjorob
 
Booklet Laporan Triwulanan 2
Booklet Laporan Triwulanan 2Booklet Laporan Triwulanan 2
Booklet Laporan Triwulanan 2novandisini
 
Data Policy for Open Science
Data Policy for Open ScienceData Policy for Open Science
Data Policy for Open ScienceMark Parsons
 
Creative accounting tutor master
Creative accounting  tutor masterCreative accounting  tutor master
Creative accounting tutor masterSako Mwakalobo
 
Corporate social responsibility lecture notes
Corporate social responsibility lecture notesCorporate social responsibility lecture notes
Corporate social responsibility lecture notesSako Mwakalobo
 

Destacado (18)

Booklet
BookletBooklet
Booklet
 
International developments in auditing2
International developments in auditing2International developments in auditing2
International developments in auditing2
 
Building iPhone Apps: From Flash Lite to Corona
Building iPhone Apps: From Flash Lite to CoronaBuilding iPhone Apps: From Flash Lite to Corona
Building iPhone Apps: From Flash Lite to Corona
 
Identity, Location, and Citation at NEON
Identity, Location, and Citation at NEONIdentity, Location, and Citation at NEON
Identity, Location, and Citation at NEON
 
Parsons citation geodata2014
Parsons citation geodata2014Parsons citation geodata2014
Parsons citation geodata2014
 
Grunnleggende+ferdigheter+i+norsk +og+samfunnsfag
Grunnleggende+ferdigheter+i+norsk +og+samfunnsfagGrunnleggende+ferdigheter+i+norsk +og+samfunnsfag
Grunnleggende+ferdigheter+i+norsk +og+samfunnsfag
 
Mak presentation1
Mak presentation1Mak presentation1
Mak presentation1
 
Jevnaldrendes betydning nr. 1
Jevnaldrendes betydning nr. 1Jevnaldrendes betydning nr. 1
Jevnaldrendes betydning nr. 1
 
Career Coaching
Career Coaching Career Coaching
Career Coaching
 
Tek 0910
Tek 0910Tek 0910
Tek 0910
 
Anscaentrepreneur
AnscaentrepreneurAnscaentrepreneur
Anscaentrepreneur
 
Informe de recordación de contenidos Quellevar.travel
Informe de recordación de contenidos Quellevar.travel Informe de recordación de contenidos Quellevar.travel
Informe de recordación de contenidos Quellevar.travel
 
Curating for Value in Different Data Stewardship Paradigms
Curating for Value in Different Data Stewardship ParadigmsCurating for Value in Different Data Stewardship Paradigms
Curating for Value in Different Data Stewardship Paradigms
 
Skolehistorie1850 1950-120906043343-phpapp01
Skolehistorie1850 1950-120906043343-phpapp01Skolehistorie1850 1950-120906043343-phpapp01
Skolehistorie1850 1950-120906043343-phpapp01
 
Booklet Laporan Triwulanan 2
Booklet Laporan Triwulanan 2Booklet Laporan Triwulanan 2
Booklet Laporan Triwulanan 2
 
Data Policy for Open Science
Data Policy for Open ScienceData Policy for Open Science
Data Policy for Open Science
 
Creative accounting tutor master
Creative accounting  tutor masterCreative accounting  tutor master
Creative accounting tutor master
 
Corporate social responsibility lecture notes
Corporate social responsibility lecture notesCorporate social responsibility lecture notes
Corporate social responsibility lecture notes
 

Similar a iTunes App Store Submission Presentation

iPhone App from concept to product
iPhone App from concept to productiPhone App from concept to product
iPhone App from concept to productjoeysim
 
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 GrossmanSuzzicks
 
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
 
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 .
 
XboxAppDev 6. Dev Center Publishing UWP Apps
XboxAppDev 6. Dev Center Publishing UWP AppsXboxAppDev 6. Dev Center Publishing UWP Apps
XboxAppDev 6. Dev Center Publishing UWP AppsWindows Developer
 
How To Run/Test Flutter App On a Real Device?
How To Run/Test Flutter App On a Real Device?How To Run/Test Flutter App On a Real Device?
How To Run/Test Flutter App On a Real Device?Flutter Agency
 

Similar a iTunes App Store Submission Presentation (20)

iPhone App from concept to product
iPhone App from concept to productiPhone App from concept to product
iPhone App from concept to product
 
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
 
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
 
XboxAppDev 6. Dev Center Publishing UWP Apps
XboxAppDev 6. Dev Center Publishing UWP AppsXboxAppDev 6. Dev Center Publishing UWP Apps
XboxAppDev 6. Dev Center Publishing UWP Apps
 
How To Run/Test Flutter App On a Real Device?
How To Run/Test Flutter App On a Real Device?How To Run/Test Flutter App On a Real Device?
How To Run/Test Flutter App On a Real Device?
 

Último

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Último (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

iTunes App Store Submission Presentation

  • 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