{"id":1,"date":"2015-12-18T07:50:51","date_gmt":"2015-12-18T07:50:51","guid":{"rendered":"http:\/\/pizza67illkirch.com\/jsmlive\/?p=1"},"modified":"2017-03-18T10:38:55","modified_gmt":"2017-03-18T10:38:55","slug":"steps_to_launch_ios_apps_successfully","status":"publish","type":"post","link":"https:\/\/jsmwebsolutions.com\/blog\/steps_to_launch_ios_apps_successfully\/","title":{"rendered":"Steps to launch iOS Apps Successfully"},"content":{"rendered":"<p>\n\t<img fetchpriority=\"high\" decoding=\"async\" alt=\"Tips-To-Publish-iOS-Apps-Successfully\" class=\"alignnone size-full wp-image-290\" height=\"225\" src=\"http:\/\/www.jsmwebsolutions.com\/wp-content\/uploads\/2015\/12\/Tips-To-Publish-iOS-Apps-Successfully.jpg\" width=\"500\" \/>\n<\/p>\n<p>\n\tThis step-by-step guide to configuring, building, and submitting your app for App Store publication explains in detail how to create and install a distribution provisioning profile, use Xamarin Studio to create a distribution build, and use iTunes Connect and the Xcode Archive Tool to submit an application to the App Store.\n<\/p>\n<p>\n\tThe three-step process of submitting to the App Store involves:\n<\/p>\n<ul>\n<li>\n\t\tCreating a Distribution Provisioning Profile\n\t<\/li>\n<li>\n\t\tUsing your profile to build the application\n\t<\/li>\n<li>\n\t\tSubmitting your application through iTunes Connect\n\t<\/li>\n<\/ul>\n<p>\n\tFor your app submission to be successfull, you must know all the <strong>steps needed to provision, build, and submit an application for App Store distribution<\/strong>:\n<\/p>\n<p>\n\t<strong>1. Pre-submission and submission process<\/strong><br \/>\n\tThe first after your app has been submitted for publication to the App Store is Apple&rsquo;s review process ensuring it meets Apple&rsquo;s quality and content guidelines. In case that it doesn&rsquo;t meet them, Apple will reject it, at which time you will need to address the non-conformance cited by Apple, and then resubmit your app. So to even your odds, study Apple&rsquo;s guidelines and adapt your application to fit them. For details please visit developer.apple.com\/appstore\/ resources\/approval\/guidelines.html.\n<\/p>\n<p>\n\tWhen submitting your app pay make sure that your app&rsquo;s description matches the functionality included in the app and test it on every device it supports to make sure it doesn&rsquo;t crash under normal usage.\n<\/p>\n<p>\n\t<strong>2. Building for App Store distribution<\/strong><br \/>\n\tIn order to publish an application to the App Store, you first need to build it for distribution which involves creating a distribution provisioning profile and then using it to create a distribution build. Steps for creating a distribution build are multiple and include following:\n<\/p>\n<ul>\n<li>\n\t\tCreating and installing a distribution profile\n\t<\/li>\n<\/ul>\n<p>\n\tiOS uses provisioning profiles to control how a particular application build can be deployed. These are files that contain information about the certificate used to sign an app, the Application ID, and where the app can be installed. For development and ad-hoc distribution, the provisioning profile also includes the list of allowed devices to which you can deploy the app. However, for App Store distribution, only certificate and app ID information are included, since the only mechanism for public distribution is through the App Store.\n<\/p>\n<p>\n\tiOS provisioning profiles are managed through a web-based tool called the iOS Provisioning Portal. To access the portal, log in to the iOS Dev Center at developer.apple.com and click Member Center from the links at the top.\n<\/p>\n<p>\n\tFor App Store distribution, you need to create an Application ID and a distribution profile for the application in the provisioning portal. You&rsquo;ll associate the distribution profile with the Application ID you create.\n<\/p>\n<p>\n\tTo create an Application ID, a distribution profile, and a production certificate go to the<strong> Member Center, select Certificates, Identifiers, and Profiles. Select Identifiers in the left-hand column under &ldquo;iOS Apps&rdquo;.<\/strong> This will show a list of all identifiers associated with your developer or your team account. <strong>Click <\/strong>the &ldquo;<strong>+<\/strong>&rdquo; in the top right to create a new ID. <strong>Enter a Description, enabled Services, Prefix\/Bundle Seed ID (use the Team Bundle Seed ID),<\/strong> and finally, click <strong>Submit<\/strong>.\n<\/p>\n<p>\n\tYou can download your profile by opening it from the provisioning profile list. Once downloaded, drag-drop the downloaded profile file onto the Xcode icon in the Dock to install it. If you don&rsquo;t yet have a Production Certificate associated with your account, you need to create one. Navigate to Certificates, and click the &ldquo;+&rdquo; to generate a new Certificate.\n<\/p>\n<p>\n\tIf you dont know how to do it, the Portal will instruct you on how to <strong>generate a Certificate. Open Keychain Access and choose from the main menu Certificate Assistant, request Certificate from a Certificate Authority. Fill in your information and select the &ldquo;Saved to disk&rdquo; option, upload the Certificate Signing request, and Download<\/strong> the Certificate. It will be automatically added to your Keychain.\n<\/p>\n<p>\n\tFinally, with the production provisioning profile created and installed, you can now use it to create a distribution build for App Store publication.\n<\/p>\n<ul>\n<li>\n\t\tCreating a Distribution Build Configuration\n\t<\/li>\n<\/ul>\n<p>\n\tNow you need to build a Xamarin.iOS application that can be published to the App Store. To start with, you&rsquo;ll need to add a new build configuration to the Xamarin Studio solution. This new configuration will use the distribution profile you created and installed in the previous section to sign the application for App Store distribution.\n<\/p>\n<p>\n\t<strong>Steps for creating the build configuration:<\/strong>\n<\/p>\n<ul>\n<li>\n\t\tDouble-click on the solution in the Solution Explorer to display the Solution Options dialog\n\t<\/li>\n<li>\n\t\tSelect Build &gt; Configurations in the left-hand pane\n\t<\/li>\n<li>\n\t\tUnder the General tab, select Add\n\t<\/li>\n<li>\n\t\tIn the New Configuration dialog, give the configuration a name, such as AppStore, and then select iPhone as the Platform. Click OK in the Solution Options dialog.\n\t<\/li>\n<\/ul>\n<p>\n\t<strong>Configuring the Build Configuration for your app<\/strong>\n<\/p>\n<ul>\n<li>\n\t\tBack in the Solution Explorer, right-click the project and then select Options.\n\t<\/li>\n<li>\n\t\tSelect Build &gt; iOS Build and then choose the newly created AppStore configuration. Set any additional build settings your application may need for the AppStore configuration, such as Additional mtouch arguments.\n\t<\/li>\n<li>\n\t\tSelect iOS Bundle Signing in the left-hand pane.\n\t<\/li>\n<\/ul>\n<p>\n\t<strong>AppStore configuration steps:<\/strong>\n<\/p>\n<ul>\n<li>\n\t\tSet the Identity to Distribution (Automatic) and then select the Provisioning profile you installed earlier.\n\t<\/li>\n<li>\n\t\tSelect iOS Application in the left-hand pane.\n\t<\/li>\n<li>\n\t\tOn the Summary tab, under the iOS Application Target section, set the Application name, Identifier, and the Version and Devices. The Identifier must be the same value that was set for the Bundle Identifier when you created the provisioning profile.\n\t<\/li>\n<\/ul>\n<p>\n\tFor an application distributed in the App Store, you should also include application icons. Click OK in the Project Options dialog. In Xamarin Studio, set the Build Target drop-down list to the newly created AppStore|iPhone configuration in the top toolbar. Select Build &gt; Build All from the main menu to build the application. You should always ensure that the application builds without errors before creating an Archive to distribute. If the application builds successfully you are ready to upload it to the App Store.\n<\/p>\n<p>\n\t<strong>3. Publishing your app to the App Store<\/strong><br \/>\n\tApplications are published to the App Store by using the iTunes Connect website itunesconnect.apple.com along with the Xcode Archive Tool, which is included with the iOS SDK. Apple offers an integrated build and deployment mechanism in Xcode called Archiving. Xamarin Studio 3.0 can integrate with this feature to simplify the deployment process.\n<\/p>\n<p>\n\tSome of the advantages of deploying via Build &amp; Archive include validating the app before uploading and the option to symbolicate Crash reports for the release (if the corresponding Archive has been saved).\n<\/p>\n<p>\n\tBuild &amp; Archive can be used to:\n<\/p>\n<ul>\n<li>\n\t\tDeploy to the App Store\n\t<\/li>\n<li>\n\t\tBuild for Ad-hoc Distribution\n\t<\/li>\n<li>\n\t\tBuild for Enterprise Deployment\n\t<\/li>\n<li>\n\t\tExport for later use.\n\t<\/li>\n<\/ul>\n<p>\n\t<strong>Steps in deploying to the App Store using the Xcode Organizer&rsquo;s Archive feature<\/strong>\n<\/p>\n<p>\n\t<strong>1. Distribution certificate <\/strong><br \/>\n\tIt can be either Deployment, Enterprise or Ad-hoc from the iOS Provisioning Portal. Review the document Creating and Installing a Distribution Profile.\n<\/p>\n<p>\n\t<strong>2. iTunes Connect<\/strong><br \/>\n\tTo deploy an application to the App Store, it must be configured in iTunes Connect and then uploaded (if you are building for Ad-hoc or Enterprise deployment this step can be skipped).\n<\/p>\n<p>\n\t<strong>3. Configuring your app in iTunes Connect<\/strong><br \/>\n\tNavigate to iTunes Connect, log in and follow these steps to publish your application:\n<\/p>\n<ul>\n<li>\n\t\tClick Manage Your Applications in the iTunes Connect main menu.\n\t<\/li>\n<li>\n\t\tClick Add New App.\n\t<\/li>\n<li>\n\t\tSelect iOS App (you&rsquo;ll only be asked to choose if you belong to both the Mac and iOS dev programs).\n\t<\/li>\n<li>\n\t\tChoose the default language, enter the App Name, SKU, and Bundle ID. For the Bundle ID, select the App ID you set when you created the provisioning profile from the list. Press Continue.\n\t<\/li>\n<li>\n\t\tFill in additional app metadata including availability, pricing, and educational discount then Continue.\n\t<\/li>\n<li>\n\t\tFill in the version information, product categories, content rating information, description, support email, website, keywords, and App Store screenshots then Save.\n\t<\/li>\n<\/ul>\n<p>\n\tNow that you&rsquo;ve entered all the information iTunes Connect requires to publish your app, you can upload the actual app binary for approval. To do that, you need to press the <strong>Ready to Upload Binary button<\/strong>, and progress through the questions.\n<\/p>\n<p>\n\tThe next screen lets you choose what happens after the app is approved. It can either be automatically added to the App Store immediately after approval or it can remain in an approved state waiting for you to manually release it on the App Store.\n<\/p>\n<p>\n\tAfter you&rsquo;ve saved your release control choice the application&rsquo;s status is changed to Waiting for Upload and the binary can be deployed via the Archive tool.\n<\/p>\n<p>\n\t<strong>Steps in deploying to the App Store using the Archive tool<\/strong>\n<\/p>\n<p>\n\t<strong>Xamarin Studio<\/strong><br \/>\n\tXamarin Studio will attempt to choose the correct Provisioning profile based on the Bundle ID and the developer&rsquo;s Identity, but you can <strong>manually select a specific Provisioning profile via the menu item Project &gt; Options &gt; iPhone Bundle Signing.<\/strong> To archive the current application, select <strong>Xamarin Studio&rsquo;s Build &gt; Archive menu item.<\/strong>The status bar will display the build progress. When complete, the Archives tab will be displayed.\n<\/p>\n<p>\n\tThe Archives tab displays a list of archived applications. Click on an app to see application details and the individual archives that have been built. Comments can be added to the archive (eg. make a note of why the archive was created, such as for a beta test release, or an App Store production deployment). Comments are useful because it is a good idea to keep archives (especially those released to the App Store or an Enterprise deployment) because it will allow you to symbolicate.\n<\/p>\n<p>\n\tOnce the archive has been created in Xamarin Studio, switch to Xcode for deployment options.\n<\/p>\n<p>\n\t<strong>Xcode Organizer<\/strong><br \/>\n\tStart Xcode and then open the Organizer from the Window menu.\n<\/p>\n<p>\n\tIn the Organizer, choose the Archives tab. This screen shows the same list of applications on the left as the Archives tab in Xamarin Studio, and provides options to validate and distribute an archive.\n<\/p>\n<p>\n\t<strong>4. Validation and distribution steps <\/strong><br \/>\n\tBoth buttons start a &lsquo;wizard&rsquo; that guides you through the process. The first step is to choose which type of distribution. For App Store submissions Xcode needs to login to iTunes Connect. Enter your Apple ID and password. Xcode retrieves a list of applications configured in iTunes Connect with a status of &lsquo;Waiting for Binary&rsquo;. Choose the correct application from the list. Xcode will then proceed to upload the application.\n<\/p>\n<p>\n\tIf you are in the process of distributing your app, it will then be uploaded to iTunes Connect. Once the upload is complete, this message will appear to confirm that the application submission has been successful and is now in the queue for review.\n<\/p>\n<p>\n\tOn the other hand, if you chosed to distribute your app, the status in iTunes Connect will show that it is Waiting for Review (it may temporarily read Upload Received while it is processed).\n<\/p>\n<p>\n\tWe hope this tips will help you in publishing your iOS app successfully.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This step-by-step guide to configuring, building, and submitting your app for App Store publication explains in detail how to create and install a distribution provisioning profile, use Xamarin Studio to&hellip;<\/p>\n","protected":false},"author":1,"featured_media":6801,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[36,1],"tags":[],"class_list":["post-1","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-featured","category-responsive-websites"],"rttpg_featured_image_url":{"full":["https:\/\/jsmwebsolutions.com\/blog\/wp-content\/uploads\/2016\/12\/Android-Apps.jpg",780,438,false],"landscape":["https:\/\/jsmwebsolutions.com\/blog\/wp-content\/uploads\/2016\/12\/Android-Apps.jpg",780,438,false],"portraits":["https:\/\/jsmwebsolutions.com\/blog\/wp-content\/uploads\/2016\/12\/Android-Apps.jpg",780,438,false],"thumbnail":["https:\/\/jsmwebsolutions.com\/blog\/wp-content\/uploads\/2016\/12\/Android-Apps-150x150.jpg",150,150,true],"medium":["https:\/\/jsmwebsolutions.com\/blog\/wp-content\/uploads\/2016\/12\/Android-Apps-300x168.jpg",300,168,true],"large":["https:\/\/jsmwebsolutions.com\/blog\/wp-content\/uploads\/2016\/12\/Android-Apps.jpg",780,438,false],"1536x1536":["https:\/\/jsmwebsolutions.com\/blog\/wp-content\/uploads\/2016\/12\/Android-Apps.jpg",780,438,false],"2048x2048":["https:\/\/jsmwebsolutions.com\/blog\/wp-content\/uploads\/2016\/12\/Android-Apps.jpg",780,438,false]},"rttpg_author":{"display_name":"Aj","author_link":"https:\/\/jsmwebsolutions.com\/blog\/author\/admin\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/jsmwebsolutions.com\/blog\/category\/featured\/\" rel=\"category tag\">Featured<\/a> <a href=\"https:\/\/jsmwebsolutions.com\/blog\/category\/responsive-websites\/\" rel=\"category tag\">Responsive Websites<\/a>","rttpg_excerpt":"This step-by-step guide to configuring, building, and submitting your app for App Store publication explains in detail how to create and install a distribution provisioning profile, use Xamarin Studio to&hellip;","_links":{"self":[{"href":"https:\/\/jsmwebsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jsmwebsolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jsmwebsolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jsmwebsolutions.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jsmwebsolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":2,"href":"https:\/\/jsmwebsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":6897,"href":"https:\/\/jsmwebsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1\/revisions\/6897"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jsmwebsolutions.com\/blog\/wp-json\/wp\/v2\/media\/6801"}],"wp:attachment":[{"href":"https:\/\/jsmwebsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jsmwebsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jsmwebsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}