An explanation of the iOS app publishing process

Source: Internet
Author: User

This blog will be a complete process to implement an iOS app submission review process. In this process, we will be involved in certificates, code signing, authorization files, real-computer debugging, developer account and some other concepts, I will explain. We recommend that you go to the "iOS app distribution and beta (i)" "iOS app Distribution and beta (ii)" iOS Development provionsioning profile analysis of these blogs, after reading will be very familiar with the process of publishing the app.

Let me first explain some of the concepts:

"Certificate Certification"

A certificate is a qualification for computer development, and each developer account has a set. A certificate contains a private key and a public key. The private key is saved on your computer and cannot be obtained by others. The public key can be downloaded from the Apple Developer website. A certificate can only be authenticated if the public key and private key are paired successfully. For example, if you want a friend's computer to be able to use your certificate to debug or publish the app, then you download the certificate from your developer's website and let your friend install it on his computer, which is not enough, because at this point he has only the public key, you need to access the "keychain" from your computer Export the P12 file (save your private key) and let your friend's computer install, so that his computer has "qualified" real-machine debugging.

Of course, certificates are also divided into development certificates (Developer certification) and publishing certificates (distribution certification). Development certificates can be used for real-machine testing. Publishing a certificate allows you to make a beta and release version of the program.


"Code Signing"

Maybe you learn iOS just start to want to go to the real machine debugging, will go to build setting inside configuration code signing this thing. But we don't really know what this is. As long as the above certificate is mentioned, the code signature can be clearly stated. When we are really debugging, the program will be packaged and then installed on our phone via Xcode. Only after the computer installed the certificate, Build setting inside the code signing can choose, and the choice is exactly what you install the certificate, which certificate? You can go to keychain access and see that the two are one by one corresponding. In the simple and rude words: Use this certificate to sign your app to verify that your app has the right (real-computer debugging or release), to ensure the security and legitimacy of the application.
So far, Apple has provided three ways to sign

(1) Ad-hoc: You can perform a real-machine debug and beta, as long as you know the Udid (device unique identifier) of those devices.

(2) In-house: Dedicated enterprise account.

(3) App-store: Publish to App Store.


"Authorization File Provisioning profile"

Sometimes also referred to as a configuration file. An authorization file is a license to an iOS device, with three items recorded in the file: App ID (Bundle Identifier), unique identifier for the device (UDID), and certificate. In a nutshell: Enable authorized devices to install or debug programs that correspond to the app IDs recorded in the authorization file. The app Id,udid is selected when creating an authorization file on the developer's website. There are also two kinds of profiles for both certificates: Development authorization File (Developer Provisioning profile) and release authorization file (distribution Provisioning profile).

In the real machine debugging or release, you also need to select the corresponding authorization file in the build Setting-->code signing-->provisioning profile. The real-machine debugging process is actually a check-matching process: Check the current app's bundle identifier and the app ID in the authorization file for matching; Check the code signing of the program and whether the certificate included in the authorization file matches Check that the device IDs written in the Udid and authorization files for the currently running devices are consistent, and that only successful completion of the match will be successful. Please refer to "iOS Development provionsioning profile" for detailed instructions.


"Device Unique identifier UDID"

Use this identifier to differentiate each unique iOS device. can be obtained by Xcode-->window-->device.


"Developer Account"

As an ordinary developer, it's not too expensive to buy a developer account for $99. After the Xcode7 in fact do not need a developer account can be exempt from certificate debugging. However, the App store must have an account to publish it. Maybe we work in the company, there will be a company certificate, but we own privately developed, we must use their own account. and to use some advanced features, such as push, in-app purchase J must have an account.


Let me start by explaining the entire release process:

(1) Open keychain Access--Certificate assistant--Request a certificate from a certification authority, as shown in:


Write the email address you want to receive in the user email address, I generally write the Apple ID mailbox, the following common name is arbitrary, you can also write your name, preferably in English. The following CA e-mail address is default "required" without a tube. Finally select "Save to Disk".

After saving to the computer, it is the following file:


Can see this is a CSR file, that is, the certificate request (signature) file, we can go to Apple's developer website to request a certificate.


(2) Go to Apple Developer website: https://developer.apple.com/. Then select Account entry, which requires you to enter your Apple ID and password. Recently I found this page has been revised again. After entering:


Configure certificate, authorization file Select the Certificates,identifier &profiles on the left. When you can publish, select itunes Connect on the right. Now we select the left certificates to enter:


The left navigation bar lists everything we want to configure. Certificates is the certificate, Idetifiers is to configure our app Id,devices is to add our real-machine debugging equipment, the final provisioning profile is to configure the authorization file.


(3) Configure the certificate first:

You can see that we need to upload the certificate Signing request file, which is the CSR file we just exported from keychain access,


If you are developing a certificate, choose Development-->ios App Development. If you are publishing a certificate, select the following Pruduct-->app Store and Ad Hoc. The operation of the two is actually the same, I am here to configure the development certificate as an example. Click Continue Next,


We need to create a CSR file, and Apple also gives the steps for how to create a CSR file, which should be the same as what I said, because we've created it, so just continue the next step:


Simply select our CSR file to get in. Continue Next,


Now that the certificate has been created, click Download to download it to your computer. The development certificate at this point allows us to debug the real machine. We will take the same step, select a publishing certificate above and download it locally after creation.


, the suffix is. cer means a certificate, it is clear that the development certificate is on the left, and the certificate is published on the right. We double-click to install separately. After the installation is complete, we can go to keychain access to view,


You can see that our two certificates have been successfully installed.


(4) We create a new project, as we debug and publish the project, the name is Myfirstapp. Of course, now this is an empty project, even if submitted for review will not be published. In this just do a demo. The minimum requirement for an app to publish is to have icon icons, or the package will fail. So I need to import the icon. You will need the app on each screen when you submit your review. For both of these resources, be prepared in advance. Just as a test, I've got this resource ready, https://github.com/chenyufeng1991/ios-screenshotsandicon-. For a quick test of this process, and do not want to trouble to generate icons, you can temporarily use the resources in this.


(5) After application development, we continue to go to the developer site to configure the app ID, select the left navigation bar-->identifier-->app IDs, here you can see the ID of all the apps we created. At this point we create a new:

.

Here the main to fill in two places, in the app ID description to fill in the app's simple description, as long as not input @,& and other illegal characters can be. Fill in the Budle ID below with your app bundle Identifier, such as my bundle ID here: com.chenyufengweb.MyFirstApp.

At the bottom you can also choose which app services you need, such as push, Apple pay,icloud and so on, if your app is used, it needs to be checked. Click Continue Next,


This step allows you to confirm that the information contained in the app is correct and click Register to sign up for the app. Once you're done, you'll be able to see our registered apps in the list,




(6) Now we need to register the equipment we need to debug the real machine. You can see that the devices you can register here have Apple tv,apple watch,ipad,iphone,ipod, which means that your app can debug on these devices on the real machine.

.


Name can be used to enter the names of this device. Udid Enter a unique identifier, which can be obtained in the way mentioned above.


You can see that our registered developer account can add 100 units of each type. It's enough for a personal developer. Once the above information is confirmed, click Register to sign up. When the registration is complete, all the devices under the account will be displayed in the list:



(7) Finally, to configure the authorization file, click manually generate profiles manually create an authorization file,




Here, we can see that the authorization files and certificates are also divided into developed and released. As I said above, the authorization file will package the app ID, device Udid, and certificate. I've created this as an example of development. Select iOS App development and click Contunue Next:


In this step, select the app ID that I created above. Click Continue Next:


This step is to select the certificate, because it is one by one corresponding, where only select the development certificate, but not the choice to publish the certificate, click Continue Next,


This is the device you want to select for real-Time debugging, and only the selected device can debug the app.

In this step is to take a name for this authorization file, it is best to indicate in the name whether this is developed or released, easy to differentiate later. Click Continue Next.


After the creation is complete, click Download Download. For publishing an authorization certificate, it is created the same way. After the download of the two files is complete, as follows:


Simply double-click on these two files and the authorization file will be automatically installed in Xcode.


(8) Come to our Xcode project to configure the certificate and authorization file.

Enter build Setting-->code signing-->code Signing Identity, select Development Certificate in debug, select Publish Certificate in release. (If you want to see which certificates are installed on your computer, you can go to the keychain to access them.)

Select the authorization file in the provisioning profile below, select the development authorization file at debug, and release the authorization file. After the configuration is complete, it looks like this:


With the above steps, we can run the app on the specified device.


(9) Our application has been developed and is now being submitted to the App Store. The tool you need to use is itunes Connect. Once again, go to the Apple Developer website and click itunes Connect. Enter:


After entering the main page is as follows,


Can be seen in itunes Connect. We can manage the apps that we have online or are about to launch. Click to go to "my apps". Then click on the "+" sign in the top left corner to create a new app,


Maybe your name is already occupied, so change it. Click Create.

Select the app information in the top left corner, where you can simply configure the app's information, such as the category on the right, to indicate your app's classification, such as music, shopping, etc., and the first-level classification must be selected. Click Save in the top right corner.

The second pricing and availiablity on the left is some price and purchase information, I choose here for free. Click Save in the top right corner.

The third 1.0 Prepare for submission is the details of the release, starting with five screenshots on different screens, and if your app doesn't fit on the ipad, you can not upload the ipad.



You can also add a description of the app, keywords, and supported websites. The following build builds are not used, so we'll use Xcode to upload them.



Also upload icon, where the icon must be the key 1024*1024, as well as your application rating, and your address, contact method and other information. You can fill in according to your actual situation.



The bottom of the location requires you to provide a test account, that is, to use the account can login to your app, and use all the features, convenient for Apple audit. Version release is about whether you want to publish directly or manually when the audit is passed. Set according to your actual needs. Then click Save in the upper right corner.


(10) at itunes Connect. The settings above are basically over. We go back to Xcode again to package our program.

You'll need to connect your phone to Xcode or select generic IOS device in the debug device and select Product-->archive (Archive is not clickable if the debug device chooses the emulator). You will see the following interface:


Here is the package for your application. If we just want to export the. IPA file, you can directly select Export to the right, then you can put this IPA file on other beta platforms to distribute. Since we just want to post to the App Store and already have it set up on itunes Connect, we'll just click on "Upload to App Store".

.

In the process, it may wait longer. Time to commit the failure, because it may be some problems in your program, or to submit the same version, as follows because I repeatedly submitted 1.0 version, and then error.


After a successful repair, you can upload again. The interface appears after success:


At this point, we have successfully submitted the app to itunes Connect.


(12) come to itunes Connect again. Find the build place and find it's not the same. A "Select a build before you submit your app" appears, that is, let's choose a version to submit. After clicking, the following screen appears:

.

You can see that we have just upload two versions. For example I choose 2.0 (2) to submit. The build at this point is as follows:

.

then click Save. Finally, click on "Submit for Review" next to submit the review. Finally, there will be a page to confirm some information:


This includes encryption confirmations, displaying third-party content, and advertising issues. Select Submit according to the actual situation. After the submission is successful, waiting for Review is waiting for approval:


Wait a few days after the Apple audit, you will be able to publish the app.

Look at 100 times than to do it once. The process looks complicated, but once you do it, you'll find that it's actually logical. I hope you can publish more and more fun apps.


An explanation of the iOS app publishing process

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.