Ios App Store Connect Upload Build Wait
The previous affiliate explained how hard distributing software used to be before the internet and before the App Store. Selling shrink-wrapped software on concrete media is now a relic of the past, but it tin nevertheless be a useful metaphor for explaining software distribution.
In this metaphor, Chapter 2 was nigh preparing the software to become inside the box. Previously, this would have been a CD or a floppy disk. In modernistic times, what'south "inside the box" is the build from Xcode.
This chapter is all near the box itself. If you call back nigh it, the master purpose of the box is to tell yous what's inside! It tin answer questions like "what does this software practise?" and "will it work with my computer?". Furthermore, good packaging doesn't just tell you what'southward within with good re-create — it also communicates this to you lot with compelling images.
In the context of the App Store, the "shrink-wrapped box" is your App Store page. In this chapter, you'll learn virtually App Store Connect and all the ways you need to configure your App Store page earlier releasing your app. You'll employ the aforementioned empty projection from Affiliate ii to option upward where you left off.
Introducing App Store Connect
You've heard of the App Store earlier, but what about App Shop Connect?
Yous tin recollect of App Shop Connect equally the administrative dashboard for the App Store. Practically speaking, it's a website (and a companion iOS app) where you submit apps for review and handle administrative tasks related to your apps.
Wait a minute — you enrolled in the programmer programme on the developer portal. Is the developer portal the same thing as App Store Connect?
Unfortunately, no. These are ii separate systems that you'll have to log into for unlike things. Having 2 different systems to manage your apps makes App Store distribution confusing for first-timers. Here's an overview of what you tin do in each one.
-
Apple Programmer Portal: You can access the developer portal at developer.apple.com or via the Programmer iOS app. In the developer portal you tin can create "identifiers" similar app identifiers, developer certificates and provisioning profiles. If these don't sound familiar, Affiliate 4, "Code Signing & Provisioning," covers certificates and provisioning profiles in detail. You likewise need the developer portal to download beta versions of Xcode and Apple tree's operating systems.
-
App Store Connect: You can access App Store Connect via appstoreconnect.apple tree.com or via the App Store Connect iOS app. You typically need to go into App Store Connect to add new "app records" (more on this later), add new versions of your app, submit an app for review, manage users, sign contracts and interact with app reviewers.
Why are these two dissever? Apple ran a developer program for decades before iOS and the App Store entered the picture. Too, recollect that the App Shop is one of many ways to distribute apps. You can notwithstanding distribute macOS apps outside of the App Store. And on iOS, you can distribute internal apps outside of the App Store using advert-hoc distribution, in-house distribution or "custom apps" distribution.
If you distribute apps exterior of the App Shop, you'd primarily interact with the programmer portal rather than App Store Connect. As the name implies, App Store Connect is direct tied to App Store distribution.
Although Apple has recently moved the developer portal and App Store Connect closer together, the fact the App Store is newer than the developer programme means that you need to get used to using 2 systems. Fortunately, the developer portal links to App Store Connect and vice versa, so it'due south not hard to navigate between the 2.
Note: App Store Connect used to exist chosen iTunes Connect. Yous might still encounter the proper name "iTunes Connect" in one-time blog posts or forum posts.
Earlier diving into App Store Connect, you should know that it can do much more than what yous're almost to see. Go on an heart out for the yearly "What's New in App Store Connect" talk from WWDC to learn most the newest changes to App Store Connect.
The anatomy of an app submission
App Store Connect has so much functionality baked into it that it can easily overwhelm. Commencement get a grasp of the bigger picture.
The following graph represents the dissimilar pieces in App Shop Connect that make upwardly an app submission.
Since this chapter demonstrates the initial submission of a new app, you'll work with every slice of the diagram. Merely if you just want to update an existing app, you'd only work on the right-most rectangle, which represents a particular version of an app.
App identifier and app record
The superlative-most rectangle represents the app identifier and the app record. The app identifier, or App ID, uniquely describes an app across all Apple platforms. Y'all have to create a new App ID every time you create a new app.
Practically speaking, an App ID is the combination of your team ID and your app'southward bundle ID. Yous'll sometimes come across the bundle ID as a shorthand for the App ID, like in the diagram higher up.
An app record is an app's headquarters in App Store Connect. The app record holds app-level data, version-level data, too every bit builds, pricing information, app review data and much more. You first need an App ID before you can add a new app record to your App Store Connect account.
App data
The left-mitt rectangle represents top-level information that applies to the app equally a whole rather than to a particular version of the app. What's the app'southward name? What does the app practice? What category is the app in? These are the types of questions that app-level data can answer. You tin too localize app-level information into other languages if needed.
When you lot submit a brand new app for the offset fourth dimension, in add-on to creating a new App ID and app record, you lot also need to make full out app-level information. Go along in mind that app-level data is also subject to App Review. Afterward your app'south initial release, you tin but submit changes to app-level information when you submit an update to your app.
Version information
The correct-most rectangle in the diagram represents a specific version of your app. Each version includes an executable build as well as release notes, screenshots of your app and other metadata. Y'all can also localize version-level data to other languages.
Whatever time yous desire to update anything about your app, you demand to add a new version and fill out version-level information. Version-level data is likewise subject to App Review. Afterwards Apple tree approves your app submission, you can't become back to make changes.
Creating a new App ID
Now that yous understand the big picture, get alee and configure the sample app's App ID and app record. Log in to the programmer portal and click Certificates, Identifiers & Profiles in the sidebar.
From here, click the + button next to Identifiers.
In the side by side screen, select App IDs from the list and click Proceed. In the following screen, select App for type. Click Continue.
Next, add together a description to your App ID. This is an internal-facing description that only you lot and your team members tin see. For this sample app, type in "Raywenderlich Emitron". In case you were wondering, "Emitron" is the internal codename for the raywenderlich.com iOS app.
Select Explicit next to Bundle ID and enter the bundle ID from Xcode exactly as it appears in the Full general tab of the raywenderlich target. In this case, it's com.raywenderlich.raywenderlich but it should be dissimilar for you. Click Go along when yous're done. Click Register to confirm.
Go back to the Certificates, Identifiers & Profiles screen. Click Identifiers in the sidebar and verify that your new App ID shows up in the list. Now it'due south time to use the new App ID to add a new app record to your App Shop Connect account.
In this case, yous created the Xcode project and its packet ID earlier the App ID, simply the contrary would accept also worked. The order of operations doesn't matter — the only matter that matters is that the bundle IDs lucifer exactly in Xcode and the programmer portal.
Note: Xcode's automated signing feature is supposed to create App IDs for you whenever y'all create a new project, but this feature doesn't work out of the box without additional hand-belongings. Fortunately, creating an App ID manually helps yous sympathise how everything works under the hood.
There's more to know nigh App IDs than this chapter has infinite for. Here are two links to Apple documentation that explain App IDs in detail.
App ID structure: https://apple.co/3jzDSu1
Explicit vs Wildcard App IDs: https://apple.co/33xdJpU
Information technology's relatively uncommon to distribute apps using wildcard App IDs these days. Some people nevertheless find them useful for installing example apps on internal devices without the hassle of creating a new App ID for each new app.
Creating a new app record
Log in to App Store Connect and click My Apps.
Next, click the + button next to Apps and select New App from the dropdown menu.
In the next screen, under Platforms, check the checkbox next to iOS. Blazon raywenderlich for the name and select English language (U.s.a.) as the master language.
Click the dropdown under Bundle ID and select the App ID you lot just created in the programmer portal. App Store Connect uses "Bundle ID" as a shorthand to refer to App IDs.
Type in the parcel ID again under SKU. The SKU is another internal-facing identifier for your team, so you could fill it with something more than meaningful to y'all.
The New App screen should look like the image below. Click Create when you're washed.
Hooray! Your app tape is now configured in App Shop Connect. Go back to Apps to verify that it is there.
Notice that the status of version 1.0 is Fix for Submission. The status field tells yous if Apple accepted or rejected this version of your app, or if your app is live and ready for download.
App Store Connect now knows to expect your build and so it's time to upload information technology. Go back to Xcode and select Window ▸ Organizer from the card bar or use the shortcut Option + Shift + Command + O to open the Organizer.
In example you lot don't run across a build considering you skipped Affiliate two, apply Xcode to open up Affiliate 3'southward starter project. Select Any iOS Device (arm 64) every bit the build destination and select Product ▸ Archive from the Xcode menu. Once Xcode completes the archiving operation, it'll automatically open the Organizer and show your new build.
Select the build marked version 1.0 (1) and click Distribute App in the Organizer. You can click through all the screens without modifying the default values. Chapter 2 covers all the pre-upload screens in more detail. Refer back to it if you have questions about an intervening screen.
This time your build goes through and the Organizer shows you a success screen. Great!
Just when you think you're done, you go a stern-looking electronic mail from Apple.
This sentence from the email succinctly describes the problem: A value for the Info.plist key 'CFBundleIconName' is missing in the bundle com.raywenderlich.raywenderlich. In layman's terms, y'all forgot the app icon.
Since this is a new sample project without lawmaking or avails, it'due south not surprising that in that location's no app icon. Xcode didn't complain about this, but Apple's automatic checks caught it and emailed you correct away.
Open up the materials folder for this chapter. The folder called AppIcon.appiconset has all the app icons you lot need.
Switch to Xcode again. Open the project navigator and click Assets.xcassets to open up the app'due south asset itemize. Elevate the AppIcon.appiconset from the materials folders into Xcode'due south asset catalog. Remove the existing icon set and rename the 1 yous dragged into AppIcon.
You've now seen two ways Apple tin can reject your build. Apple built validations into every step of the funnel. Xcode runs validations before and during the upload procedure. On tiptop of that, App Shop Connect also validates your build once you lot make it by Xcode. App Store Connect also validates your App Shop folio before you submit your app for review. Non to mention that app review is itself a big list of validations and checks.
In other words, seeing fault messages is common. The point of showing you different types of errors is non to frustrate you, only rather to requite you the tools and experience to react accordingly whenever you hit a roadblock on your own.
Bumping the build number
A build from Xcode is like a snapshot of your app frozen in time. If you go along making changes afterward yous annal a build, these changes won't be reflected in the snapshot.
Since you made changes to the sample app by adding app icons, you need to generate a new build. The first and second builds both fall under version one.0 of the sample app, and then how can App Store Connect tell the difference between builds?
This is where the build number comes in. A version tin have whatever number of builds, each identified by a unique build number. App Store Connect won't accept any upload that uses a build number it has already received.
So, before you generate a new build, increment the build number. Colloquially, this is called "bumping" the build number. In Xcode, click the project file in the project navigator. Next, click the raywenderlich target and open up the General tab. One time here, increase the Build number to 2.
Annotation: If you lot are new to software versioning, you lot may want to adopt semantic versioning, which is a three-component number in the format of A.B.C, where:
"A" represents a major version, eastward.1000., when you add together a new characteristic.
"B" represents a minor version, e.m., when you raise an existing characteristic.
"C" represents a patch, e.g., a bug fix.
In the case of the sample app, the build number represents the patch component. Y'all can learn more than about semantic versioning at https://semver.org.
Fourth dimension to generate a second build. Make sure the build destination is Whatsoever iOS Device (arm64) and in one case once more click Production ▸ Archive in the carte du jour bar. Once Xcode finishes, Xcode opens the Organizer to testify the 2nd build.
Click Distribute App and become through the entire flow once again. This is your 2d time doing this for this chapter, and so you should know the steps well by now. You can only click through every screen without irresolute the defaults. If you don't retrieve what to do for a particular screen, feel complimentary to refer to Affiliate ii.
This time Xcode uploads your build without any issues and Apple doesn't send you lot whatsoever validation emails after the fact.
Following along with the "shrink-wrapped software" metaphor, the floppy disk is set up to transport but the box is still completely blank. In the side by side section, you lot'll work on the box. In the context of the App Shop, this means it's time to configure your App Store page.
Filling out your App Store page
Switch to App Store Connect on your browser and navigate to the raywenderlich.com app. As mentioned before, since this is a brand new app, you take to fill up out app-level information besides as version-level information. Review each one in plow.
Adding app-level information
Click App Information in the sidebar. Under the heading Localizable Information blazon raywenderlich - pasi for the Name field. This is the user-facing proper name that shows up on the App Store page.
The proper name has to be unique. The real raywenderlich.com iOS app is already using the name "raywenderlich.com", which is why you lot added the -pasi suffix. The name field in App Shop Connect has been the subject of numerous high-profile legal battles. It's a good idea for the app publisher to concur the trademark for whatever name yous type into this field.
Leave the Subtitle blank since it'south optional. Under the heading General Information, click the Category dropdown and select Didactics. Yous can also take an optional secondary category, just leave information technology blank for this sample app.
Note: Your app'southward category drives different features in Apple's ecosystem. For example, the new "App Library" in iOS 14 groups apps based on category.
Separately, the App Shop'south editorial teams routinely promote the all-time apps in each category. For example, the Wellness & Fitness category is currently promoting apps that fall into "Healthy Eating and Dieting", "Self-Care and Meditation" and "Acquire from Fitness Experts".
The App Information page should expect similar the screenshot beneath.
Next, click Ready upwards Content Rights Information and select No, it does not contain, show or access third-party content.
Special App Shop rules apply if your app contains third-party content. This is a sample app, so you said the app doesn't contain any. Click Done to close the modal and Salvage to salve your progress and then far.
Next, click App Privacy in the sidebar. Next to Privacy Policy, click Edit. On the ensuing dialog, under Privacy Policy URL type https://help.raywenderlich.com/privacy.
Every app must take a privacy policy web page. Apple will turn down your app if the privacy policy page is blank or inaccessible. Click Salvage.
Before submitting your app for review, you must also respond a serial of questions detailing your app's information collection practices as well as those of tertiary-political party partners whose code y'all utilize. The answers to these questions appear on your App Shop product page.
Click Get Started to begin. On the modal dialog, select No, nosotros practise not collect data from this app. Click Save. Then click Publish in the meridian-right corner. Click Publish again on the modal to ostend your answers are accurate. The App Privacy page should wait like the following screenshot.
These answers correspond to the empty sample app, which collects no information. Your answers will vary depending on the data you lot collect and how you use it. If you're unsure how to answer the questions for your app, refer to Apple'due south documentation on privacy, https://apple.co/3dWzN39.
Now click Pricing and Availability in the sidebar. Click the price dropdown and select the Free tier. Click Save.
Apple tree provides over 50 pricing tiers to choose from. If you distribute your app internationally, each pricing tier corresponds to different amounts of money in different currencies. Tier 1 is $0.99 in the United States, €1.09 in the EU and CN¥6.00 in China.
You can only set your app'due south price to a pre-determined pricing tier. For example, you can set up the price to $0.99 with Tier 1 simply not to $1.00, since that would fall between Tier ane ($0.99) and Tier 2 ($i.99).
Annotation: Setting the price in Pricing and Availability only applies if y'all charge for your app at the time of download. Keep in heed that in that location are other pricing models available. Some apps are gratis to download and offering paid In-App Purchases. Other apps charge a recurring subscription.
You can likewise manage In-App Purchases and subscriptions in App Store Connect, just they fall outside the scope of this book.
Calculation version-level data
Click 1.0 Set for Submission in the sidebar. This is where you add version-specific information. Every fourth dimension you submit a version of your app for review, yous'll have the opportunity to update the information on this page.
An image speaks a thousand words, especially on the App Store. If you lot're an iOS user, you've probably noticed the beautiful screenshots and short videos ("App Previews" in Apple's parlance) on the folio where you download an app.
App Shop Connect has a fully featured media managing director where you can upload screenshots for the sample app. Don't worry — you don't have to fire up Photoshop. The materials folder has all the screenshots you need.
Open the materials folder that corresponds to this chapter and open the screenshots folder. Inside you'll observe a ready of screenshots for the real raywenderlich.com iOS app.
Under App Preview and Screenshots, select the first tab, iPhone 6.five Display. Drag the six screenshots in the folder iPhone 6.v inch into the media managing director. This is what the outcome should look like.
Repeat this process for all the required sizes. As of this writing, they are: iPhone half dozen.v" Brandish, iPhone 5.5" Display, iPad Pro (3rd Gen) 12.ix" Display and iPad Pro (2nd Gen) 12.9" Display.
You can upload up to 10 screenshots and iii app previews per screen size. Size-specific assets make your App Store page more appealing and relevant. Whenever a potential client lands on your App Store page, Apple displays the assets that most closely match your potential customer's screen size.
Note: App Store Connect's media director is unforgiving. Information technology just accepts screenshots that exactly match the dimensions it expects.
Fifty-fifty if they're only off by 1 pixel, you lot won't exist able to upload them. This is a common source of miscommunication and so make sure y'all go along these documentation links handy.
Screenshot specifications: https://apple.co/30hntCO
App preview specifications: https://apple tree.co/3kYofN2
App Shop Connect needs a few more pieces of information. Below the media manager, type in the following information:
- Description: "Take your learning on the become with our new mobile app! Admission over 3,000 mobile programming videos right at your fingertips". This is the real description of the raywenderlich app.
- Keywords: raywenderlich.com, tutorials, iOS development
- Support URL: https://help.raywenderlich.com
- Marketing URL: https://www.raywenderlich.com/mobile
The description is likewise called release notes. If yous want to communicate something noteworthy to your users for an upcoming version, yous can add it here. For instance, does this version include an exciting new feature? Did you lot squash a long-standing bug? Yous can sing your praises in the release notes.
The keywords are non visible by the user, but they help your app prove upward in search results. The support URL and the marketing URL both announced on your App Shop page and App Review requires them.
Attaching the correct build
App Shop Connect keeps rails of all the builds you lot upload for a particular version. In this section, you can associate the build you desire to submit for review — usually the most recent ane — with your app version.
Scroll down to the Build heading and click the + button. Select build 2 and click Done.
Even though y'all uploaded ii builds, App Store Connect but shows the 2nd ane. The beginning build from earlier in the chapter is not feasible because it was missing the app icon.
Note: Information technology'due south easy to imagine a scenario in which you unwittingly release an outdated build of your app because you lot clicked the wrong radio button. Don't worry — beta testing with TestFlight eliminates this risk. Chapter 5, "Internal Distribution" and Chapter half dozen, "TestFlight," cover beta testing in particular.
In that location's also a "sanity bank check" you can perform after Apple approves your app but before you release it. Chapter 8, "App Canonical! (Now What?)," covers this technique.
Wrapping upwardly App Store Connect
Only a few more pieces of information before submitting for review.
- Nether Full general App Data, type "Razeware 2021" for Copyright.
- Also nether General App Information, click Edit side by side to Historic period Rating and select None for every content clarification.
- Under Version Release, select Manually release this version.
Each field is important so review them in item:
- An app is creative work subject to copyright law. The App Store displays an app's copyright on its App Store page. The app's publisher, either an individual or an organization, normally holds the copyright. This field is required.
- Apple assigns an age rating to every app then parents can make up one's mind what is advisable for their children. Apple calculates your app's historic period rating when you select the frequency of certain types of content similar "Profanity or Crude Humor" and "Horror/Fear Themes".
- Manually release the app after Apple approves it. This is a expert option for almost people because information technology gives you time to perform terminal checks and figure out whatsoever coordination that needs to happen.
Alarm: Don't submit an empty sample app for App Review using your developer account. The residue of this section is for demonstration purposes only.
If you were to submit your real app for review, you'd click on Submit for Review on the superlative right corner of the page. The status of your version 1.0 would then change to Waiting for Review equally y'all tin meet in the adjacent section.
Managing your submission on the go
This is a good time to formally introduce App Store Connect for iOS. You've been doing everything on the App Store Connect website, but there's likewise a companion iOS app.
Go to the App Store on an iOS device and search for "App Store Connect". Download the app and sign in with the same Apple ID you used to work on the sample app. Afterward logging in yous come across that the raywenderlich - pasi app besides shows up here.
If you enable push notifications for this app, Apple tree volition notify y'all whenever your app moves into a new phase of the process. You'll likewise receive emails with the aforementioned information, simply some people observe push notifications more timely.
The iOS app contains a subset of the features App Shop Connect has on the web. Even though Apple tree regularly updates this app, what you tin practise on the web might not be bachelor on the app.
What to await from App Review?
Apple tree trains employees to screen every App Store submission that comes through. A reviewer's chief goal is to make sure every app submission follows the App Store Review Guidelines as well as the Apple Developer Programme License Agreement. Like any process involving human gatekeepers, parts of App Review are subject to estimation and can seem inconsistent. What might be ok for ane reviewer might not pass muster for another.
Apple holds a high bar for the apps they allow on their platforms. App Review guidelines are broad-ranging and comprehensive, covering everything from software security to user feel.
Here are a few reasons Apple tree can pass up an app. Some are obvious only others might surprise you.
- Crashes: If your app crashes on launch or in an obvious place.
- Inaccurate screenshots: If your app screenshots don't accurately explain what your app does.
- Subpar user interfaces: If your app wildly deviates from Apple tree's Human Interface Guidelines and yous don't provide a user-friendly alternative.
- Incomplete In-App Purchases: If yous don't properly implement IAP functionality (e.g., missing the "Restore" feature).
- Disallowed App Category: Entire categories of apps are not allowed on Apple's platforms. For example, you can't make "launcher" apps that launch other apps.
- Individual API Usage: Your app cannot use frameworks built for Apple'south internal apply. Human reviewers tin't catch this but App Review too scans your build for violations.
On average, Apple tree reviews 50% of the apps within 24 hours and ninety% within 48 hours. If there's a problem with your submission, Apple surfaces the upshot in App Store Connect. Yous tin interact with app reviewers in App Store Connect using Resolution Center.
If you disagree with a rejection, you can contact the App Review Board where y'all can appeal. Chapter 7, "Preparing for Review", covers disputes and Resolution Center in detail.
Hither are some related links for your reference:
App Store Review Guidelines: https://apple.co/36hVYg4
Human Interface Guidelines: https://apple tree.co/3jfeSYS
Apple Developer Plan License Agreement: https://apple tree.co/36iA78f
Later Apple approves your app and y'all release information technology to the public, it can take up to 24 hours to fully go alive on the App Store. This is especially truthful if you publish your app globally. You need to give Apple tree's content distribution networks (CDNs) and internal systems fourth dimension to propagate your app all around the earth.
Congratulations! If you've made it this far, y'all've learned how to fix an app record in App Store Connect, upload a valid build from Xcode and submit information technology for review.
Keep in mind that this chapter represents the transmission "happy path". The chapter only covered the simplest instance without whatever automation and assumes null goes wrong. In the rest of the book, you'll slowly unwind some of the assumptions from the second and third chapters. In the subsequent capacity, yous'll learn how to make your life easier with automation as well as handle more advanced use cases.
Central points
- You need to gear up an App ID in the programmer portal and an app tape in App Store Connect and so you can upload a build from Xcode.
- Select your pricing tier in App Shop Connect. Tiers correspond to different amounts of coin in different currencies.
- Pricing tiers merely apply to up-front pricing models. Apps tin also use In-App Purchases and subscriptions.
- Y'all demand to add metadata, screenshots and app previews (optional) to brand your App Shop folio as appealing every bit possible. App Store Connect requires about of these items before you can submit your app to App Review.
- App Review can accept up to two days in almost cases. Trained human reviewers pore over your submission, checking for compliance with the App Store Review Guidelines as well as the Apple Programmer Program License Agreement.
4. Lawmaking Signing & Provisioning 2. Your First App in the App Store
Source: https://www.raywenderlich.com/books/ios-app-distribution-best-practices/v1.0/chapters/3-submitting-your-first-app-for-review
0 Response to "Ios App Store Connect Upload Build Wait"
Post a Comment