GithubHelp home page GithubHelp logo

submit-to-appstore-objc's Introduction

submit-to-appstore-objc

Checklist for iOS developer before submitting app to AppStore.

iTunesConnect & developer.apple.com

  • Install publisher's provision profile (containing private key p12).
  • Install distribution certificate containing your app's BundleID.
  • Prepare app in iTunesConnect for your app's BundleID.
    • Provide description and l10ns for all relevant languages.
    • Provide screenshots/videos in iTunesConnect.

APNS

  • Make sure that APNS certificate includes your app's BundleID.
  • You have created distribution APNS certificate.
  • Your server is using distribution APNS certificate.
  • Check that notifications are working on different iOS versions (pay attention on iOS8 where API was changed).

Versioning

  • Do not hardcode anywhere in sources things like isBeta=YES or DEBUG=YES.

  • Make sure that app icon or name doesn't contain beta word.

  • Update app version and build version. Never harcode version inside app (use CFBundleVersion instead).

Version compatibility

  • Make sure that new release is installed over old version in correct way:

    • Install app from AppStore. Create ad-hoc build and install it over old version.
    • Check that user doesn't lose any his info after update.
  • Check that data from NSUserDefaults is read in correct way:

    • app doesn't crash trying to read unexisting keys
    • your haven't changed keys in initWithCoder and encodeWithCoder (your current app should be able to read data saved by old app)

iOS SDK API updates:

  • check that app can connect to your server, open faq page, load image (ATS, iOS9 SDK)
  • check that geolocation is working (iOS8 SDK)
  • check that local notifications are working, because user needs permit them too (iOS8 SDK)
  • push notifications should work too

Server

  • Connect application to production server environment.
  • Do not send beta=1 (or similar) in any server requests.
  • If app is configurated from server (for example, it downloads DB), make sure that configuration is updated in correct way. If configuration needs to be updated every N hours - it really does.

Tools

  • Enable crash analytics tool like Crashlytics.
  • Enable flow analytics tool like Flurry.
  • Disable NSLog calls. At least like this
#define NSLog(...) /* */

In-App Purchases

  • Enable IAPs for your app id in developer.app.com

  • Enable IAPs in Xcode Build Settings

  • Submit finance docs (without doing it, app doesn't receive even list of in-apps) in iTunesConnect:

  • Make sure, that if you've hardcoded IAPs IDs, they are the same in iTunes Connect app too.

  • In-apps are displaying correctly. Test user can make purchases.
  • In-apps are submitted for review! Otherwise in-apps won't be available even if app version was reviewed.

Specific services

Parse.com

  • Check AppDelegate and make sure that applicationId and clientKey are used from production account.

AppDelegate

// --------------------- Parse credentials:
  [Parse setApplicationId:@"FDF...WGr" clientKey:@"1BzI...F"];

Parse.com application keys

Keys should be the same in Settings and AppDelegate.

  • Deploy Cloud code to production account!
  • Parse application is marked as 'PROD' in Settings

  • If you're using APNS, set production certificate in Settings

Facebook

  • Make sure, that you are using production app, check client key and perform successful login/sharing to Fb.
  • Disable Sandbox mode for Fb app.
  • If you are using GraphStory, submit them to review, describe steps-to-reproduce and add necessary screenshots.
  • If you're using FBSDKAppInviteContent, make sure that invitation link is pointing to PROD application

App extensions (widgets)

  • Create separate bundle ID. Usuall it looks like com.company.appName.widgetName.
  • Generate distribution mobile provisions for widget
  • Make sure that app groups are included in both provisions: host app and extension.
  • Check that widget is using production server URL / production Parse keys.

Apple docs

Also, you can find useful Apple guides:

submit-to-appstore-objc's People

Contributors

vixentael avatar paultaykalo avatar

Stargazers

 avatar Tenvi avatar Michael Martin avatar Daniel Berger avatar Dzhunet Hasan avatar Narcis avatar Ramoji avatar Alex avatar Balasubramanian.M avatar Andrii Bas avatar Tony avatar Denis Denisov avatar Evgeny Karkan avatar Stanislav Pankevich avatar Praveena Sarathchandra avatar Sidney de Koning avatar  avatar Mykola Blyk avatar  avatar Andrew Garkavyi avatar Phyo Min Thu avatar Douglas Fischer avatar Irek Khasyanov avatar Jason Koceja avatar Josh Buchea avatar Allen avatar  avatar Joseph Liu avatar Phinix Huang avatar Walter Skyrim avatar Ian avatar Stanley Lin avatar Kino Chen avatar alexz avatar Eugen Martynov avatar Paul Heyer avatar Anna  avatar  avatar Andrey avatar Ionut Cotoi avatar  avatar

Watchers

 avatar Pavlo Bashmakov avatar Teresa Rios Van Dusen avatar Roman Mazur avatar  avatar Alex Tyschenko avatar James Cloos avatar Michael Pustovit avatar Nazim Sitmanbetov avatar  avatar Oleksandr Tereshchuk avatar Evgeny Karkan avatar Vitalii Bogdan avatar  avatar  avatar Shieghtun avatar  avatar  avatar  avatar Philip Makarov avatar Oleg Nikiforov avatar Oleksandr Voronov avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.