"Go" Xcode APP Package and submit Apple Audit detail process (new version update submitted for review)

Source: Internet
Author: User

Original URL: http://blog.csdn.net/mad1989/article/details/8167529

Recent project to the final stage, after testing everything OK, ready to pack and submit, unexpectedly see online many tutorials, a lot of old version of the IDE, and now the implementation of the way to change, those methods are not found, around a big circle, just to understand the process, now recorded, so that friends to check.

Development environment: xcode4.4.1


Development machine: Macbookair

Real-Machine deployment test: Apple Personal Developer ID

Whether it is iOS7 or the present XCODE5, although some styles have changed, but the actual process is still this way, so for your reference, less detours, or there is a certain role.


The prerequisite IDP certificate and the distribution certificate (the first certificate is used when the test is a real-time deployment, which is required for publishing).

I'll talk about the process that should be done next. With the assurance that you have the above two certificates, there are two major steps left to submit a review from the app: 1,ituneconnect create the app and fill in the project details. 2,xcode Package validation is passed and the project is submitted. OK, I began to say the point, children's shoes follow my process, to ensure that there is no confusion and error.

1. Pre-preparation

Before you start submitting your program to the App Store, you need to have an app ID, a valid publishing certificate, and a valid provisioning profile. Here's a look at their respective roles.

Step 1:app ID (app ID)
App IDs are unique identifiers that identify different applications. Each app requires an app ID or app logo. There are currently two types of app identifiers: one is the exact app ID (explicit appID) and one is the wildcard app ID (wildcard app ID). App IDs that use wildcards can be used to build and install multiple programs. Although the wildcard app ID is handy, an accurate app ID is also needed, especially if your app uses icloud or other iOS features, such as game Center, Push notifications, or IAP.

If you're not sure what app ID is right for your project, I recommend you read Apple's documentation on this topic: Technical Note QA1713.

Step 2:distribution Certificate (Release certificate)
iOS apps have a security certificate for verifying developer identities and signatures. In order to submit an app to the App Store, you need to create an iOS provisioning profile. You first need to create a distribution certificate (Publish certificate), which is similar to creating a development certificate (development certificate). If you've already tested your app on a physical device, you're already familiar with creating development certificate.

If you are unfamiliar with this, I suggest you read Apple's detailed guidance on signing certificates and provisioning profiles.

Step 3:provisioning Profile (config file)
Once you've created your app ID and distribution certificate, you can create an iOS provisioning profile to make it easy to sell your app in the App Store. However, you cannot use the same provisioning profile as the ad hoc distribution. You need to create a separate provisioning profile for your App store distribution, and if you use the wildcard app ID, you can use the same provisioning profile for multiple apps.

Step 4:build Settings (Build settings)
Configuring the app ID, distribution certificate, and provisioning profile is complete, and it's time to configure the build settings for target in Xcode. Select a target in the targets list in the Xcode Project Navigator , open the Build Settings option at the top, and update the Code Signing To match the previously created distribution provisioning profile. The recently added provisioning profiles is sometimes not immediately visible in the build settings Code Signing , and restarting Xcode will solve the problem.

Configure Target's Build Settings

Step 5:deployment Target (deployment target)

It's very necessary to say that each target in deployment Target,xcode has a deployment target, which can indicate the minimum version that the app can run. However, once the app takes effect in the App Store and then modifies deployment target, you have to take into account some consequences. If you upgraded the deployment target while updating the app, but the user who has already purchased the app does not encounter the new deployment target, then the app will not run on the user's mobile device. If a user downloads an updated app via itunes (not a device) and then replaces the original version on the device, it turns out that the new version doesn't work on the device, which is really a problem.

(1) When you decide to increase the deployment target for your existing app, you'll need to explain it in the release notes for the new version. If you tell the user in advance, at least one thing, you've tried to stop the problem from happening.

(2) for a new app, I often set deployment target as the most recently released system version. Since the release of the new iOS version, the rate of penetration growth is incredible. Many people think that raising deployment target will lose most of the market, which is inaccurate, for example, one months after IOS 6,ios 6 was released, more than 60% devices have been updated. But for Android, it's another matter, and Android users won't be as enthusiastic about updating OS versions as iOS users.

"In short, it's best to decide whether or not to consider a compatible, low-version user from the project design, and if it's the new version of iOS when writing code, it's best to make a decision if the old version is"

2. Assets (Resource bundle)

Step 1:icons (Icon)
Icon is an integral part of the app and you want to make sure the icon size doesn't go wrong.
ITunes artwork:1024px x 1024px (required)
Ipad/ipad mini:72px x 72px and 114px x 114px (required)
Iphone/ipod touch:57px x 57px and 114px x 114px (required)
Search icon:29px x 29px and 58px x 58px (optional)
Settings application:50px x 50px and 100px x 100px (optional)

Step 2: Screen
The role of the screen is self-evident, you can upload 5 for each app, although you need to upload at least one, it may be very few people will only upload a picture. In addition, you need to prepare different screens for iphone/ipod touch and Ipad/ipad Mini, respectively. This is not a small amount of work, but it can show the other side of the application. Shiny Development has developed a $6.99 Mac software Status magic that can save you a lot of time. The status Magic can help you put the state bar in the right place.

Screen and icon are applied to the user's first feeling, directly related to the user will not buy. However, the screen you upload does not have to be practical, see where ' s My water? Can be more attractive and persuasive by using this strategy.

Step 3: Meta data
Before submitting your app, manage your app's metadata, including 1 app names, 2 version numbers, 3 main categories, 4 concise descriptions, 5 keywords, 6. Support URLs. If you need to update your app, you'll also want to provide new additions to the version.

If your app needs to sign up for "open app login, like Fetion", you'll also have to provide Apple with a test account or demo account so that the auditor can quickly get into the app without having to sign up for the account.

3. Preparation for submission

After Xcode 4, the developer submits the app in a much simpler way, and you can submit it directly using Xcode. First create an App in itunes Connect, access itunes Connect, use your iOS developer account to log in, click on the "Manage Your apps" On the right, click on the "Add New app" in the top left corner, select "iOS app", Then complete the form.

(Note that the app you created is the project you developed, and the name and ID must be the same). Https://itunesconnect.apple.com

Click to enter

In the top left corner, add an app that will be listed below if your Development Account has already submitted the app before.

The first page, choose the language, the app name, Skunumber,bundleid (will let you choose the AppID you created your project).

SKU number is a special string used to identify the app. I often use the bundle identifier of the app. The bottom is the Bundle IDof the app, and you can choose the wildcard app ID or the exact app ID from the down menu.

This page is the date the app was selected for online (because Apple also needs to be audited, usually postponed for a few days), the price, and whether it supports educational institutions or the like.

The above page is written version number, company name, software first category, sub-category (note two categories must not repeat, otherwise will not pass), as well as rating division.

The above is the description of the software content, keywords, technical support URL, as well as the following technical owner's name, surname, email, mobile phone number, these are very simple, you all understand.

--------------------------------------------------------------------------------------------------------------- -------------------------

Next is to choose AppIcon a 1024x1024 software icon, let the UI do it, I do not know why the software icon to do so big;

Continue to upload 5 software, to select the most important image display, size is 640x960,xcode on the integration of features, then open the Window-organizer View window, click on your mobile phone tab under the screenshot, you can, the size is right, very convenient OH pro.

There are regular iphone4,iphone5, and the ipad each add the entrance, some words on the upload, no words will be empty

Because I forgot to upload, so the page can not be displayed to everyone, but a very simple look to understand.

After the finished check, click Submit.

--------------------------------------------------------------------------------------------------------------- -------------------------

OK, go to this step, basically is completed an app created, here are listed your Skunumber,bundleid,appleid, everywhere edit Click Enter can modify the information just submitted, see Red Circled State: Prepare for Upload do not think that at this time the work is done, a step, if you close the page, prepare the final step, you will find that the error. That's why I've been around for a while.

Click to sit down the view details after entering the page back will be a detailed list of this software shows the software name, description, software, technical contact information, etc. After reading the error, be sure to click on the lower right corner (or the upper right corner) of the button (ready to Upload Binary), only click on this button, will change the status of the current state is: Waiting for Upload.

Note: If you are ready for upload status, package the submission app under Xcode, there will be: No suitable application records were found.
Please make sure, which has set up a record for this application the error prompt on ITunes Connect. 】

At this point, if your home status becomes: Waiting for upload so congratulations, this step passed smoothly, leaving the last. (Note above, click Continue, complete all the work of the webpage).

4.xcode operation: Set up certificates, build package, submit project.

To open Xcode, first make sure you have the distribution certificate configured, and see me below.

Make sure both Debug and release are selected distribution certificates that we have applied for. To the next step, some tutorials say create a new codesigning identity I also tried to create, but it is not recommended to create a novice, because the use of release can still be packaged, innovative new identity think will make the novice more dizzy dishes. (As above)

5. Uploading binary files

In order to upload a program, you need to create a archive for the program. You can only create a archiveon a real device. If you selected iOS Simulator in active scheme, the archive option in the Xcode product menu is not selectable. Connect an iOS device to your Mac machine, select the device in active scheme, and select Archive in the Product menu in Xcode.

Select the project name, the device changes to iOS device (we do not need to use the emulator or the real machine to build the package), and then select Edit Scheme (above)

At the top of this interface, make sure your project name and Iosdivice device are selected, the left column is selected archive, and the right side is the above view. Click OK. (As above)

At this point, select Build (shortcut command+b) in the Xcode-product menu, and then click Archive. (above) Two are successful, proceed to the next step, otherwise check the configuration of the two certificates.

If all goes well, now you get a archive, and Xcode's organizer will open automatically and show the archive you just generated. Select Archive in the list and click on the "Distribute" button on the right. In the displayed screen, select "Submit to theiOS App Store". Then enter your iOS developer account to authenticate. Then select Application and Code Signing Identity.

The binaries of the application are uploaded to Apple's server--in this process, your program needs to be verified as well. If an error is encountered during the validation process, the program's submission process will fail. Validation processing is useful, and if there are some errors in the program, the Apple APP Store jury will tell you the exact reason.

Archive success, will be generated in the organizer interface of our application, access to see the software details, this identifier must be consistent with our third step on the page.

1111 Click First Step 1 on the right to verify this item. (as above); (Enter the Apple developer account and password when you click Enter, next)

After the account is passed, you will be asked to select the application and distribution certificates, then select, Next (as above).

After the verification passed, will be like on the interface display, OK, congratulations.

2222 "Next, we proceed to step two, submit the project (distribute)

If your project is to be submitted to AppStore, then select First, next (as above)

If this is the above hint, then congratulations, we finally completed the shit process, click finish!! I don't want to see this anymore, close Xcode. (As above)

--------------------------------------------------------------------------------------------------------------- -------------------------

We open the Itunesconnect again and log in-we'll see that the status of the current project has finally changed.

Waiting for review~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is not the result we want most!!! Finally, the completion of the submission, Apple audit time is about 1-2 weeks, if passed, will follow our written time shelves, if not passed, will send email~~ attention to check OH.

OK, next, how to use the IDP certificate, developer account, through the formal way, export IPA, installed on any iphone (pro-test jailbreak mobile phone)

When we were in the last few steps, the package build, watching your project's products folder, has generated a real app, but this is not what we really want. IPA file. Select the app under Product, right-click the show in Finder, open our itunes, and drag the software to itunes.

At this point, our software was dragged into itunes, but found no software icon Ah, do not fear, it is very normal. Right-click Software, select Show in Finder (as above)

At this point, this software is the IPA we want. I tested the phone after installing to jailbreak, no problem at all (don't worry about the certificate) "Note: The jailbreak phone version must be higher than the software version requirements"

I haven't tested my jailbroken phone yet, but I don't think I should be able to install it because Apple's review mechanism is very strict and must be installed in a mobile phone with a profile provision (which is already reflected in the real-machine deployment test)

May 30, 2014 interrupt

If you have seen here, I really admire you can endure my so tedious wording, because of time reasons, write a blog is not very easy, so some language or typesetting organization is not very good, 1 years, now I finally understand the whole debugging and release and multi-person development process, if you are also hazy state, It feels like Apple's mechanism is in trouble, or when it comes to multiplayer development: Valid signing identity not found may suggest that you look at my other article, the end of the article introduces certificate, App ID, Devices, Provisioning profiles between the difference and contact, I believe you will come to an epiphany after reading!

Valid signing identity not found solution (original IDP private key lost) and certificate, App ID, Devices, Provisioning profiles difference between/HTTP blog.csdn.net/mad1989/article/details/8699147

Well, thank you guys for seeing this, and that's a bit verbose, but if you follow this step, you'll know the principle as you go through the process. At least not see a tutorial, and see another tutorial, are different, anxious.

What questions can I leave a message, I see will try to help you solve, learn together, grow.

Free Portal One: http://www.cocoachina.com/special/market.html



January 14, 2013 Latest update: New version submitted for review

When we pass through a lot of levels, the new project finally after the AppStore on-line, it will encounter maintenance problems, then the new version submitted, it is not so complicated, if you understand the above tutorial, the new version is a few places to pay attention to, listen to my slow way.

1, the first need to modify the code, that is, you need to have updated content, such as features, such as a bug (seemingly nonsense)

2, when you are sure everything is OK, you need to set the project version and build number, new versions

Version is displayed externally, and (Itunesconect and AppStore users can see it), and build is invisible to the developer, which is equivalent to the build number. "When you update a version, it's higher than the previous build number."

3, Login to the Ituneconnect website, on the right side of the project, click Add New version, pop-up prompts to enter the version name and update content, after the event point save.

4, on the website detailed review of the new version name and update content, and whether there is a need to replace, OK after the point in the upper right corner of ready to binary, the site is set up. The next step is Xcode submitting a new project. "This setting has a hint that needs attention, as follows"

Let you choose to be approved after the automatic update to the store, or manually control the update yourself, very user-friendly.

5,xcode set Codesign identity for the published certificate, divice Select Iosdevice, then build and then archive, as it was on the first release.

6, open the Organizer Interface Archive tab, check the error, first verify validate after distribute.

After the wait, if there is no problem, refresh the Itunescnnet website, your newly submitted project status becomes:waiting for Review


Error rollup "continuous update" ********************************** when packaging uploads

Error uploading: Application failed codesign verification.

It means that your signature is incorrect, when you pack and distribute the app, be sure to use the release mode and select the certificate as your own distribution publishing certificate.

About validate Built product set Yes or no

Sometimes the package encounters an error, and the web says that the target setting----->build------>validate Built product options are removed or set to No. Searching the internet for validate Built product meaning, probably means to turn on built-in authentication, such as some apple-specified icon size is 57x57, and your icon size is not this, will cause the publishing failed.

Error uploading: Code signing is required for product type application in SDK IOS 6.1.

This is to say that the Debug certificate selection is wrong, the workaround:

TARGETS--Build Settings---code Signing--and code Signing identity set to IPhone Developer

That's OK.

Upload warning: CApplication failed codesign verification. The signature was invalid, or it is not a signed with an Apple submission certificate. (-19011).

This warning, there are many people on the internet, but there are divergent opinions, seemingly no authoritative solution,

The first step is to develop a habit of looking up official documents: https://developer.apple.com/ios/manage/distribution/index.action

To understand the real-machine debugging and release of the application of several steps, not even the app has not been created, just want to use Xcode packaging release Ah! Also understand the roles and differences between Debug and release.

This warning, as I understand it, is:

The premise is that Xcode is a recent version, and the SDK for the project is at least common. AppID correct, both the true Machine Debug certificate and the distribution certificate correspond to the current Xcode settings.

First check that your project info is correct, and that the target setting is correct.
Then take care not to use the simulator build, to choose Device, to Edit scheme to view archive, is not the use of release!
If not, delete the relevant files in the keychain and re-apply to ADP for download!


Error uploading: Failed to get the task for process 624

This error happens if you have the set distribution Provisioning profile in code signing. Change it to Developer Provisioning profiles, then it'll work. Worked for me for Xcode SDK 4.5.

Change your code sign from distribution to developer. It's that simple.

Error uploading: Cfbundleversion

The error is that the bundleversion in our project Info.plist file is mistaken, and this attribute requires a numeric value of type int to be changed as shown.


"Go" Xcode APP Package and submit Apple Audit detail process (new version update submitted for review)

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.