Skip to content Skip to sidebar Skip to footer

Can You Upload Localized Builds to App Store

The previous affiliate explained how difficult distributing software used to exist before the internet and earlier the App Store. Selling shrink-wrapped software on physical media is at present a relic of the past, but it tin still be a useful metaphor for explaining software distribution.

In this metaphor, Chapter 2 was near preparing the software to become inside the box. Previously, this would have been a CD or a floppy disk. In modernistic times, what'due south "within the box" is the build from Xcode.

This chapter is all nigh the box itself. If yous remember about information technology, the main purpose of the box is to tell you what's within! It can answer questions like "what does this software do?" and "will it work with my computer?". Furthermore, good packaging doesn't just tell you what's inside with good copy — it also communicates this to you with compelling images.

In the context of the App Store, the "shrink-wrapped box" is your App Store page. In this chapter, you'll acquire about App Store Connect and all the ways y'all demand to configure your App Store page before releasing your app. You lot'll use the same empty projection from Chapter 2 to choice upwards where you left off.

Introducing App Store Connect

You've heard of the App Store before, just what about App Shop Connect?

You can think of App Store Connect as the administrative dashboard for the App Store. Practically speaking, it's a website (and a companion iOS app) where yous submit apps for review and handle administrative tasks related to your apps.

Expect a minute — you lot enrolled in the programmer program on the programmer portal. Is the programmer portal the same thing as App Store Connect?

Unfortunately, no. These are 2 split systems that you'll have to log into for different things. Having two different systems to manage your apps makes App Store distribution confusing for first-timers. Here's an overview of what you can do in each one.

  1. Apple Developer Portal: You can access the developer portal at developer.apple.com or via the Developer iOS app. In the developer portal you can create "identifiers" similar app identifiers, developer certificates and provisioning profiles. If these don't sound familiar, Chapter 4, "Code Signing & Provisioning," covers certificates and provisioning profiles in detail. You lot also demand the programmer portal to download beta versions of Xcode and Apple's operating systems.

  2. App Store Connect: Y'all can access App Store Connect via appstoreconnect.apple.com or via the App Store Connect iOS app. You typically need to become into App Store Connect to add new "app records" (more on this afterwards), add new versions of your app, submit an app for review, manage users, sign contracts and interact with app reviewers.

Why are these two separate? Apple ran a developer plan for decades earlier iOS and the App Store entered the picture. Also, remember that the App Shop is one of many means to distribute apps. You can still distribute macOS apps outside of the App Store. And on iOS, you can distribute internal apps outside of the App Store using ad-hoc distribution, in-firm distribution or "custom apps" distribution.

If you distribute apps outside of the App Store, you'd primarily interact with the developer portal rather than App Store Connect. As the name implies, App Store Connect is directly tied to App Store distribution.

Although Apple tree has recently moved the programmer portal and App Store Connect closer together, the fact the App Store is newer than the developer program means that you lot need to get used to using two systems. Fortunately, the developer portal links to App Store Connect and vice versa, and then information technology's non difficult to navigate between the ii.

Note: App Store Connect used to be called iTunes Connect. You might nevertheless see the name "iTunes Connect" in old web log posts or forum posts.

Earlier diving into App Shop Connect, y'all should know that information technology can practise much more than what you're about to see. Keep an eye out for the yearly "What's New in App Store Connect" talk from WWDC to learn nigh the newest changes to App Store Connect.

The anatomy of an app submission

App Store Connect has and then much functionality broiled into it that it can easily overwhelm. First get a grasp of the bigger picture.

The following graph represents the different pieces in App Store Connect that brand upward an app submission.

Since this chapter demonstrates the initial submission of a new app, you'll work with every piece of the diagram. But if you just desire to update an existing app, you lot'd merely work on the correct-most rectangle, which represents a particular version of an app.

App identifier and app record

The pinnacle-virtually rectangle represents the app identifier and the app tape. The app identifier, or App ID, uniquely describes an app across all Apple platforms. You have to create a new App ID every time yous create a new app.

Practically speaking, an App ID is the combination of your team ID and your app's packet ID. You'll sometimes run across the bundle ID as a shorthand for the App ID, like in the diagram higher up.

An app tape is an app's headquarters in App Store Connect. The app record holds app-level information, version-level data, likewise equally builds, pricing information, app review data and much more than. Y'all first demand an App ID before you tin add together a new app record to your App Store Connect business relationship.

App information

The left-hand rectangle represents tiptop-level information that applies to the app as a whole rather than to a item version of the app. What's the app's name? What does the app exercise? What category is the app in? These are the types of questions that app-level information tin can answer. You can too localize app-level information into other languages if needed.

When you submit a brand new app for the first fourth dimension, in improver to creating a new App ID and app record, yous also need to fill out app-level information. Continue in mind that app-level information is also bailiwick to App Review. After your app's initial release, you tin only submit changes to app-level information when y'all submit an update to your app.

Version information

The right-virtually 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. Yous tin besides localize version-level information to other languages.

Any time yous want to update anything virtually your app, you need to add a new version and fill out version-level information. Version-level information is also subject to App Review. After Apple approves your app submission, you can't go back to make changes.

Creating a new App ID

At present that you lot understand the large motion picture, go alee and configure the sample app'south App ID and app record. Log in to the developer portal and click Certificates, Identifiers & Profiles in the sidebar.

From here, click the + push button next to Identifiers.

In the next screen, select App IDs from the list and click Continue. In the following screen, select App for type. Click Continue.

Next, add a clarification to your App ID. This is an internal-facing description that only you and your squad members tin can see. For this sample app, type in "Raywenderlich Emitron". In case y'all were wondering, "Emitron" is the internal codename for the raywenderlich.com iOS app.

Select Explicit next to Parcel ID and enter the parcel ID from Xcode exactly equally information technology appears in the Full general tab of the raywenderlich target. In this instance, it's com.raywenderlich.raywenderlich merely it should exist different for yous. Click Continue when y'all're washed. Click Annals 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 information technology's time to use the new App ID to add a new app record to your App Store Connect business relationship.

In this case, you lot created the Xcode project and its parcel ID earlier the App ID, but the opposite would take also worked. The order of operations doesn't affair — the only thing that matters is that the bundle IDs match exactly in Xcode and the developer portal.

Note: Xcode's automatic signing feature is supposed to create App IDs for you whenever yous 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 y'all understand how everything works under the hood.

In that location's more to know about App IDs than this affiliate has infinite for. Hither are two links to Apple documentation that explain App IDs in detail.

App ID construction: https://apple.co/3jzDSu1

Explicit vs Wildcard App IDs: https://apple tree.co/33xdJpU

It's relatively uncommon to distribute apps using wildcard App IDs these days. Some people even so 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 Shop Connect and click My Apps.

Next, click the + push next to Apps and select New App from the dropdown carte.

In the next screen, under Platforms, check the checkbox next to iOS. Type raywenderlich for the name and select English (US) equally the primary linguistic communication.

Click the dropdown under Packet ID and select the App ID you lot just created in the developer portal. App Store Connect uses "Packet ID" as a shorthand to refer to App IDs.

Type in the parcel ID over again nether SKU. The SKU is another internal-facing identifier for your team, and so yous could make full information technology with something more meaningful to you.

The New App screen should wait similar the epitome below. Click Create when y'all're done.

Hooray! Your app record is now configured in App Shop Connect. Go dorsum to Apps to verify that it is there.

Notice that the condition of version 1.0 is Set up for Submission. The status field tells yous if Apple accustomed or rejected this version of your app, or if your app is live and set for download.

App Shop Connect at present knows to expect your build so it's time to upload information technology. Go back to Xcode and select Window ▸ Organizer from the carte du jour bar or employ the shortcut Option + Shift + Command + O to open the Organizer.

In case you don't see a build considering you skipped Chapter 2, utilise Xcode to open Chapter 3'due south starter project. Select Any iOS Device (arm 64) as the build destination and select Production ▸ Archive from the Xcode menu. Once Xcode completes the archiving operation, information technology'll automatically open the Organizer and bear witness your new build.

Select the build marked version 1.0 (1) and click Distribute App in the Organizer. You tin can click through all the screens without modifying the default values. Chapter 2 covers all the pre-upload screens in more detail. Refer dorsum to information technology if yous have questions nigh an intervening screen.

This time your build goes through and the Organizer shows you a success screen. Great!

Just when you recollect you're done, you become a stern-looking email from Apple tree.

This sentence from the email succinctly describes the problem: A value for the Info.plist fundamental 'CFBundleIconName' is missing in the bundle com.raywenderlich.raywenderlich. In layman'south terms, y'all forgot the app icon.

Since this is a new sample project without lawmaking or assets, information technology'due south not surprising that in that location's no app icon. Xcode didn't complain about this, merely Apple'south automatic checks caught it and emailed you right abroad.

Open the materials folder for this chapter. The binder chosen AppIcon.appiconset has all the app icons y'all need.

Switch to Xcode once again. Open up the project navigator and click Assets.xcassets to open the app's nugget catalog. Elevate the AppIcon.appiconset from the materials folders into Xcode'due south asset catalog. Remove the existing icon set and rename the one you dragged into AppIcon.

You've now seen ii means Apple tin decline your build. Apple built validations into every step of the funnel. Xcode runs validations before and during the upload process. On top of that, App Store Connect as well validates your build once you go far past Xcode. App Shop Connect likewise validates your App Shop folio before y'all submit your app for review. Not to mention that app review is itself a large list of validations and checks.

In other words, seeing mistake letters is common. The point of showing y'all different types of errors is non to frustrate yous, but rather to give you the tools and feel to react appropriately whenever yous hit a roadblock on your ain.

Bumping the build number

A build from Xcode is like a snapshot of your app frozen in time. If you keep making changes later you archive a build, these changes won't be reflected in the snapshot.

Since you made changes to the sample app by calculation app icons, you demand to generate a new build. The commencement and second builds both fall under version ane.0 of the sample app, and then how tin App Shop Connect tell the difference between builds?

This is where the build number comes in. A version can have any 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 y'all generate a new build, increment the build number. Colloquially, this is called "bumping" the build number. In Xcode, click the projection file in the project navigator. Next, click the raywenderlich target and open up the General tab. Once here, increase the Build number to ii.

Note: If you are new to software versioning, you may want to adopt semantic versioning, which is a 3-component number in the format of A.B.C, where:

"A" represents a major version, due east.thousand., when you add together a new feature.

"B" represents a minor version, e.g., when you enhance an existing feature.

"C" represents a patch, e.g., a issues set up.

In the case of the sample app, the build number represents the patch component. You can acquire more about semantic versioning at https://semver.org.

Time to generate a 2nd build. Make sure the build destination is Whatever iOS Device (arm64) and once over again click Product ▸ Archive in the carte du jour bar. Once Xcode finishes, Xcode opens the Organizer to show the 2nd build.

Click Distribute App and get through the unabridged flow once more. This is your second time doing this for this affiliate, so you should know the steps well by now. You lot tin simply click through every screen without changing the defaults. If you don't remember what to exercise for a particular screen, feel free to refer to Chapter 2.

This time Xcode uploads your build without any problems and Apple tree doesn't send y'all any validation emails afterward the fact.

Following forth with the "shrink-wrapped software" metaphor, the floppy disk is ready to ship merely the box is still completely blank. In the adjacent section, you lot'll piece of work on the box. In the context of the App Store, this ways it's time to configure your App Store page.

Filling out your App Shop page

Switch to App Store Connect on your browser and navigate to the raywenderlich.com app. As mentioned before, since this is a make new app, you accept to fill out app-level information as well every bit version-level information. Review each i in turn.

Adding app-level data

Click App Data in the sidebar. Under the heading Localizable Data type raywenderlich - pasi for the Name field. This is the user-facing proper noun that shows up on the App Store page.

The name has to be unique. The existent raywenderlich.com iOS app is already using the name "raywenderlich.com", which is why you added the -pasi suffix. The proper noun field in App Store Connect has been the subject of numerous high-contour legal battles. It'south a expert thought for the app publisher to hold the trademark for any name you type into this field.

Leave the Subtitle blank since it's optional. Under the heading General Information, click the Category dropdown and select Didactics. You lot can also have an optional secondary category, merely exit information technology blank for this sample app.

Note: Your app's category drives unlike features in Apple's ecosystem. For example, the new "App Library" in iOS 14 groups apps based on category.

Separately, the App Store's editorial teams routinely promote the all-time apps in each category. For case, the Health & Fitness category is currently promoting apps that fall into "Salubrious Eating and Dieting", "Cocky-Care and Meditation" and "Larn from Fitness Experts".

The App Information folio should look similar the screenshot below.

Next, click Set up up Content Rights Information and select No, it does not contain, show or access third-party content.

Special App Shop rules utilise if your app contains third-party content. This is a sample app, and then y'all said the app doesn't contain whatsoever. Click Washed to close the modal and Salvage to salve your progress so far.

Adjacent, click App Privacy in the sidebar. Adjacent to Privacy Policy, click Edit. On the ensuing dialog, under Privacy Policy URL type https://assist.raywenderlich.com/privacy.

Every app must accept a privacy policy spider web page. Apple volition reject your app if the privacy policy page is blank or inaccessible. Click Salvage.

Before submitting your app for review, you must as well answer a series of questions detailing your app's data collection practices as well every bit those of 3rd-party partners whose lawmaking you utilise. The answers to these questions appear on your App Store product page.

Click Go Started to begin. On the modal dialog, select No, nosotros do not collect data from this app. Click Save. Then click Publish in the acme-right corner. Click Publish again on the modal to ostend your answers are authentic. The App Privacy page should look like the following screenshot.

These answers correspond to the empty sample app, which collects no data. Your answers volition vary depending on the data you collect and how you use it. If you lot're unsure how to answer the questions for your app, refer to Apple tree'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 provides over fifty 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¥half dozen.00 in Communist china.

You can simply set your app's price to a pre-adamant pricing tier. For example, you tin set the toll to $0.99 with Tier one but not to $1.00, since that would fall between Tier i ($0.99) and Tier 2 ($ane.99).

Note: Setting the price in Pricing and Availability only applies if you charge for your app at the time of download. Keep in mind that in that location are other pricing models available. Some apps are free to download and offer paid In-App Purchases. Other apps charge a recurring subscription.

You can also manage In-App Purchases and subscriptions in App Store Connect, just they fall outside the scope of this book.

Adding version-level information

Click 1.0 Prepare for Submission in the sidebar. This is where yous add version-specific data. Every time you submit a version of your app for review, you'll have the opportunity to update the information on this page.

An image speaks a chiliad words, especially on the App Store. If yous're an iOS user, you've probably noticed the cute screenshots and brusk videos ("App Previews" in Apple's parlance) on the page where you download an app.

App Shop Connect has a fully featured media director where yous tin upload screenshots for the sample app. Don't worry — you don't have to burn up Photoshop. The materials folder has all the screenshots you lot need.

Open the materials folder that corresponds to this chapter and open the screenshots binder. Inside you'll find a set of screenshots for the existent raywenderlich.com iOS app.

Under App Preview and Screenshots, select the kickoff tab, iPhone half dozen.5 Brandish. Drag the vi screenshots in the folder iPhone six.5 inch into the media manager. This is what the effect should expect like.

Repeat this process for all the required sizes. As of this writing, they are: iPhone 6.5" Display, iPhone 5.five" Display, iPad Pro (3rd Gen) 12.9" Display and iPad Pro (2nd Gen) 12.ix" Display.

You lot can upload up to 10 screenshots and three 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 almost closely match your potential customer's screen size.

Annotation: App Shop Connect's media managing director is unforgiving. It merely accepts screenshots that exactly friction match the dimensions it expects.

Even if they're merely off past 1 pixel, yous won't be able to upload them. This is a mutual source of miscommunication so make sure y'all keep these documentation links handy.

Screenshot specifications: https://apple.co/30hntCO

App preview specifications: https://apple.co/3kYofN2

App Store Connect needs a few more pieces of information. Beneath the media director, type in the following information:

  • Clarification: "Accept your learning on the go with our new mobile app! Access over 3,000 mobile programming videos correct at your fingertips". This is the existent description of the raywenderlich app.
  • Keywords: raywenderlich.com, tutorials, iOS evolution
  • Support URL: https://help.raywenderlich.com
  • Marketing URL: https://www.raywenderlich.com/mobile

The description is likewise called release notes. If you want to communicate something noteworthy to your users for an upcoming version, yous can add it hither. For instance, does this version include an exciting new feature? Did you squash a long-standing problems? You tin sing your praises in the release notes.

The keywords are not visible by the user, but they help your app show up in search results. The back up URL and the marketing URL both appear on your App Store page and App Review requires them.

Attaching the correct build

App Store Connect keeps track of all the builds you upload for a item version. In this section, you can associate the build you want to submit for review — usually the most recent one — with your app version.

Scroll downward to the Build heading and click the + button. Select build 2 and click Done.

Even though you uploaded two builds, App Shop Connect but shows the second one. The first build from earlier in the affiliate is not viable because it was missing the app icon.

Note: It'due south like shooting fish in a barrel 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 Affiliate 6, "TestFlight," cover beta testing in particular.

There's also a "sanity check" you can perform after Apple approves your app but earlier you release it. Affiliate 8, "App Approved! (Now What?)," covers this technique.

Wrapping up App Store Connect

Only a few more than pieces of information before submitting for review.

  1. Under General App Data, type "Razeware 2021" for Copyright.
  2. Likewise under Full general App Information, click Edit next to Age Rating and select None for every content description.
  3. Nether Version Release, select Manually release this version.

Each field is of import so review them in detail:

  1. An app is artistic work subject field to copyright law. The App Shop displays an app's copyright on its App Store page. The app'due south publisher, either an individual or an organization, normally holds the copyright. This field is required.
  2. Apple assigns an age rating to every app and then parents can determine what is advisable for their children. Apple tree calculates your app's historic period rating when yous select the frequency of certain types of content like "Profanity or Crude Humor" and "Horror/Fright Themes".
  3. Manually release the app after Apple approves it. This is a good option for most people because it gives y'all time to perform terminal checks and figure out any coordination that needs to happen.

Warning: Don't submit an empty sample app for App Review using your developer account. The rest of this department is for sit-in purposes only.

If y'all were to submit your existent app for review, you'd click on Submit for Review on the top right corner of the page. The status of your version ane.0 would then change to Waiting for Review every bit y'all can come across in the side by side section.

Managing your submission on the get

This is a good time to formally introduce App Shop Connect for iOS. You've been doing everything on the App Store Connect website, but at that place's also a companion iOS app.

Get to the App Store on an iOS device and search for "App Store Connect". Download the app and sign in with the same Apple tree ID you lot used to work on the sample app. Later logging in you come across that the raywenderlich - pasi app besides shows upwards hither.

If you enable button notifications for this app, Apple volition notify yous whenever your app moves into a new phase of the process. Yous'll also receive emails with the same information, but some people notice button notifications more than timely.

The iOS app contains a subset of the features App Shop Connect has on the web. Fifty-fifty though Apple tree regularly updates this app, what you lot can do on the spider web might not exist available on the app.

What to expect from App Review?

Apple trains employees to screen every App Store submission that comes through. A reviewer'due south primary goal is to make sure every app submission follows the App Shop Review Guidelines as well as the Apple Programmer Program License Understanding. Similar any process involving human gatekeepers, parts of App Review are subject to interpretation and can seem inconsistent. What might be ok for 1 reviewer might not pass muster for another.

Apple holds a loftier bar for the apps they allow on their platforms. App Review guidelines are wide-ranging and comprehensive, roofing everything from software security to user experience.

Here are a few reasons Apple can turn down an app. Some are obvious simply others might surprise you.

  1. Crashes: If your app crashes on launch or in an obvious identify.
  2. Inaccurate screenshots: If your app screenshots don't accurately explicate what your app does.
  3. Subpar user interfaces: If your app wildly deviates from Apple's Human Interface Guidelines and y'all don't provide a user-friendly alternative.
  4. Incomplete In-App Purchases: If you don't properly implement IAP functionality (due east.m., missing the "Restore" feature).
  5. Disallowed App Category: Entire categories of apps are not immune on Apple'southward platforms. For example, y'all can't make "launcher" apps that launch other apps.
  6. Private API Usage: Your app cannot utilize frameworks congenital for Apple's internal utilize. Human reviewers tin't catch this but App Review besides scans your build for violations.

On average, Apple reviews 50% of the apps within 24 hours and ninety% within 48 hours. If in that location's a problem with your submission, Apple surfaces the result in App Shop Connect. You tin can interact with app reviewers in App Shop Connect using Resolution Center.

If you disagree with a rejection, you tin can contact the App Review Lath where you can appeal. Affiliate 7, "Preparing for Review", covers disputes and Resolution Center in particular.

Here are some related links for your reference:

App Shop Review Guidelines: https://apple tree.co/36hVYg4

Human being Interface Guidelines: https://apple.co/3jfeSYS

Apple Programmer Program License Agreement: https://apple.co/36iA78f

Afterward Apple approves your app and you release it to the public, it can take up to 24 hours to fully get live on the App Store. This is especially true if yous publish your app globally. Yous need to give Apple'south content distribution networks (CDNs) and internal systems fourth dimension to propagate your app all around the globe.

Congratulations! If yous've made information technology this far, you've learned how to set up an app record in App Store Connect, upload a valid build from Xcode and submit it for review.

Proceed in heed that this chapter represents the manual "happy path". The chapter merely covered the simplest example without any automation and assumes naught goes wrong. In the residuum of the book, y'all'll slowly unwind some of the assumptions from the second and tertiary chapters. In the subsequent capacity, you'll learn how to make your life easier with automation likewise as handle more avant-garde use cases.

Key points

  • Yous demand to prepare up an App ID in the programmer portal and an app record in App Shop Connect so yous can upload a build from Xcode.
  • Select your pricing tier in App Shop Connect. Tiers correspond to unlike amounts of coin in dissimilar currencies.
  • Pricing tiers only utilize to upwards-front end pricing models. Apps can too use In-App Purchases and subscriptions.
  • You lot need to add metadata, screenshots and app previews (optional) to make your App Store page as highly-seasoned as possible. App Store Connect requires most of these items before you can submit your app to App Review.
  • App Review can accept upwardly to 2 days in most cases. Trained human reviewers pore over your submission, checking for compliance with the App Store Review Guidelines as well every bit the Apple Developer Programme License Agreement.

brownwoung1966.blogspot.com

Source: https://www.raywenderlich.com/books/ios-app-distribution-best-practices/v1.0/chapters/3-submitting-your-first-app-for-review

Post a Comment for "Can You Upload Localized Builds to App Store"