Publishing an iOS application to the appstore. How to download the app on iPhone and iPad

It seems like I understand that Apple does everything for its beloved customers - and technology is simply at the cutting edge of progress, and design, and protection from all sorts of misfortunes like viruses, and a closed ecosystem, and application moderation. No, let’s say for me, as a user, it all didn’t work (well, except perhaps for technology and a little design) - but 50% of people like my friends and acquaintances, who don’t want to think about what works for them and how they can installing programs which are not - this is all very useful. Well, naturally, I used to look at all this as regular user- well, I don’t like using it to create content either apple products, nor an android - oh well - it’s suitable for consumption - and that’s good. We’ll do the rest somehow on Windows.

And here, as I have already written more than once, we had to satisfy the needs of the above-mentioned 50% for our site (well, and then also promote it - both and). But writing an application, as it turns out, is only half the battle, much more interesting story with its subsequent placement and updates, after which I looked at the whole thing not from the user’s side, but from the developers’ side.

And as a result, looking at how the new guy was being shot iPad Air first with an Air Gun (not a bad pun, right?), and then with a .50 caliber rifle, all in super-low motion

I experienced simply indescribable satisfaction from what someone did with Apple product the same thing that Apple does with the products of software developers.

In this note I will not give detailed instructions how to place an application in the app store - this has already been described a hundred times, so I’ll give you general steps, and links to the best articles on this subject. I’ll also tell you a little about what kind of hemorrhoids we encountered.

So, if you decide to take the path of writing and publishing an application in the Appstore, the first thing to note is that Apple charges the developer for everything. If you want to host applications, pay 100 bucks a year for an account. If you want to sell applications - Apple's commission will be from 30 to 40% of the cost of the application - you can best case scenario You will get 70 (honestly, even the Federal Tax Service wants a little less from the turnover). Do you want to sell digital content inside the application - figs, again - pay 30% and sell through the appstore.

They don’t yet take a percentage from the sale of real physical goods through mobile applications, which are a showcase of an online store, but I feel so - everything is moving towards that.

But let’s say that we agree to all these enslaving conditions (tithe? no, haven’t you heard), we care about the welfare of the users. And now, let’s go register an account in the appStore. Well, our developers already had it, so there were no problems with it.

At the same time - at all stages preceding the submission of the application - you need to remember the restrictions that Apple imposes on published applications, and the guaranteed reasons why you will be denied publication: half of them are given, and the second half - and even in more detail -. If any of specified conditions Apple is not fulfilled - the chances that the application will not pass moderation or will be deleted later are very high, you should not expect that it will slip through.

And this is where the main ambush awaits the developers. Apple reviews applications for two weeks before accepting them for publication. But even if they don’t find critical bugs that interfere with the placement, the customers of the application, after publication, thoroughly tested mobile application on three or four devices - having received statistics from several hundred devices - they can find bugs there that are quite critical for themselves, and sometimes for clients (even if not for everyone). Yes, fix them quickly - but consideration new version— is equivalent to reviewing the very first version. In other words, for two weeks you will be forced to live with bugs that may not be noticeable to your clients and users, but you will feel them to the fullest, especially if the application communicates with your server. Well, you can’t immediately put it on your server for download, like the same WordPress 3.7.1, released with bug fixes - even if you want to. Actually, that’s what happened to us.

1. Certificates required for publication in the AppStore

First of all, create an identifier App ID.

Enter any name for the certificate, ID is Bundle identifier, you specify it in advance in the Xcode project and then when creating the identifier.

The second step is to create a distributor certificate - iOS Distribution. In it we select the same identifier App ID



To load all this stuff into Xcode, there are 2 methods - “manual and automatic”, the second option is easier for me. To do this, let's go Xcode -> Preferences -> Account, select your developer account and click View Details and in the window that appears Downloads All.

But that's not all. Opening Build Settings your project and select your certificates added to Xcode iOS Development And iOS Distribution

We do the same for the application.

2. Submit your app to iTunes Connect

What project name do you choose when creating? I'm sure in most cases it's "test1" or "MyFirstProga". So, in order not to get into the same situation that I found myself in, you need to change the name of the project, otherwise you will not pass the verification or your users in iOS will display the name “MyFirstCoolProga” (in my case it’s not so bad, of course) . To do this we enter correct name here:

And in the window that appears, click Rename

Now you can start sending. Compiling the project Product -> Run, we send the assembly to the archive Product -> Archive. If you accidentally close a window, you can call it like this Window - Organizer. The archive will show all your versions and builds.

Select your assembly that you want to send to iTunes Connect and click Validate. In the window that appears, select who to approve and click Choose.

After this, a couple more windows will appear, in the first one click Validate, and in the second Done. Also in the second window they can tell you that the project has “Warnings”.

And most importantly, sending to iTunes Connect. Everything is simple here, click Upload to App Store , A further actions identical to Validate
Go to iTunes Connect, select an application (or create one, if not yet), go to the required version(or add), if you are doing this for the first time, then the version will be 1.0. Next to Assembly will " + ", click, a window opens with your downloaded assembly. True, you won’t be able to choose right away; it undergoes a preliminary check within an hour.

3. Set up iTunes Connect for a paid application

With iTunes Connect, in principle, there were no questions, except for one thing. As I wrote earlier when paid application passes the check, it goes into the “Waiting for contract” state. What to do?
In iTunes Connect, go to the “Agreements, Taxes and Banking Operations” section, and next to both contracts (Paid and iAd) click Request. Afterwards, you will be able to configure Contact info, Bank info, Tax info.

Contact info

Add a contact and select it for each role.

Bank info

I didn’t even think about the method of withdrawing funds, so I was not prepared for such a turn of events. For the application status to be “Ready for Sale”, you still need to fill out all the information. But I was lucky, fortunately, I did not throw away the printout of the details of my account and bank (Sberbank). In my case it was like this: I open Bank info, I press Add Bank Account, I choose Russia, enter the bank's BIC into Bank Identification Code. After which they ask you to fill out the data (account number, bank INN, full name, correspondent account, etc.), I fill everything out, and you’re done! This can be called the “for the first time” option to launch the application in the AppStore. Details can be easily obtained from ATMs; for this you need a card linked to your account. And in the future, of course, it’s worth opening a dollar account in a bank that doesn’t have a percentage fee for transfers to Russia. I didn’t particularly ask about these questions, but the networks are recommended by VTB24, Alfabank, Bank24.

Tax info

If you:

  • Developer from Russia
  • Are you going to earn money from royalties (selling applications), and this can be done individual, without any individual entrepreneurs (though pay 13% on such fees)
  • Not a US resident
  • Do not have a business in the USA
then, next for you.

In this case, everything is set up simply. Opening Tax info, click on Set Up under U.S. Tax Forms (since I have already filled it out, the button is shown View).

Fill in as follows:


We confirm and wait, your application will appear in the AppStore soon.

That's all. Thank you for your attention!

It would be best to start with the AppStore, since this resource is much more popular among a wide variety of users who use Apple products. It should be mentioned that publishing applications in the app store is a rather complex process compared to other resources of this kind, and also requires large quantity time. But, nevertheless, publishing on the AppStore has quite significant advantages. Namely, with the AppStore your application will be much easier to popularize and promote. The basic steps on how to list an app on the appstore are provided below:

    1 Registration is the very initial stage. Of course, with an Apple ID you do not need to go through the entire process, but only enter your username and password to log in.

    2 Next, you will be given the choice to register as a company or as a developer. This choice is entirely up to you, however we recommend registering as a company as you will be able to receive given choice much more opportunities and benefits.

    3 The next step is to select the app category, the market you are targeting and the platform on which your apps are developed.

    4 After this, you will have to register with IOS Developer. This will allow you to control the application, its basic parameters and configure it down to the smallest detail. This process is the most difficult stage; it requires you to analyze a large amount of information, perhaps not entirely clear to you, which can subsequently play an important role in the development of the application, and its fate may depend on such a trifle as an incorrectly checked box.

    4 The final step is to prove that you are real. To do this, you need a certificate translated into English and proving that your company, or you as a developer, is an absolutely real person. After this, you need to send the certificate to Apple and after a few days they will call you with confirmation. As you can see, the whole process is quite complicated, it takes a lot of time and involves many nuances that will be quite problematic to solve alone. That is why it is best to trust this process a professional team that already has experience in this field.

    5 This completes the registration process, all that remains is to publish the application and everything will be ready. However, there are also other resources, and we will talk about the specifics of how to add an application to Google Play below.

    6 First of all, you need to register for Google Play as a developer and a fee of $25. This registration confirms that you personally are the creator of the published applications.

    7 The next step is to register you as a seller, which gives you the opportunity to sell your applications. It is as simple as the first one, but does not require any fees. You just need to provide your bank details. If placed correctly, the user will not have a question about how to install the application from Google Play.

  • Tutorial

In the first part of our tutorial, we registered in both stores - App Store and Google Play. But in order for your application to become available for download, you need to perform many more actions. Let's look at them.

Before proceeding with the publishing procedure, be sure to make sure that your application meets the requirements (Google, Apple) for the quality and content of published applications. Failure to meet these requirements often leads to novice developers being surprised to receive a refusal to publish, and even a warning for violation.

First of all, the application must have some functionality, that is, it must have benefit and value. Make sure that your application is at least somewhat different from its analogues. If you have not yet looked for analogues in the store, do not be lazy to do so - at this stage the creation of many projects ends. This is especially true for newcomers with an “innovative” idea.

There are also a lot of options for getting rejected due to incorrectly written code. This primarily concerns application crashes. Also, many developers are tempted to get into the internal API when there is not enough software interfaces provided by the vendor. But believe me, if the API is closed, it means it was done for a reason. Re-read the documentation on the technology used, you probably missed something.

If you use the names of other companies in the name of the application or in its content, brands, copyrighted images and images (even in the form of screenshots) - without the appropriate permission - then you can safely count on the application being “wrapped” with a reprimand. Therefore, carefully avoid such situations. If you need to use or mention copyrighted material, you will need to immediately prove the right to use it using the appropriate form.

A complex or incomprehensible interface is another common reason refusal. Make sure that the application screens are not overloaded, are easy to read, and the colors are chosen so as not to kill the user's eyes within 5 minutes of working with the application. Both companies have guidelines for interface design, check them (Google, Apple).

Apple is especially sensitive to the functionality of all declared functions: if you have a distant menu item that you have not yet completed and placed a placeholder, then reviewers will discover this and force you to modify the application first.

If your application collects any information about the user and their device, then you need to make it as clear as possible in the application how you will use this data. It is not recommended to collect all kinds of telemetry without explanation and send it to your server; this is suspicious and punishable by refusal to publish the application.

Planning to charge users using embedded systems Payment App Store and Google Play, then check whether your application falls into one of the categories supported by these systems. For example, if you plan to sell some services through your application, you will have to add other payment systems.

Background Modes. These are the modes that your application can use when minimized/closed. But the application must contain functionality that justifies the choice of these modes. If you specify Audio, but there is no audio, or Voice over IP, but you can’t call from the application, then wait for a refusal.

Most often, applications are not moderated when posted for the following reasons:

  1. Incomplete completion of all supporting forms.
  2. Bugs and crashes.
  3. The application uses false, fraudulent or misleading information.
  4. Icons similar to those of third-party applications are used.
  5. When developing the interface, recommendations from official guidelines (Apple, Google) were not taken into account.
  6. Inconsistency between the stated functions and/or screenshots and the actual application.
About all sorts of malicious things - like using an application for hacking, spamming, using dishonest methods of attraction, etc. - you don’t have to mention it.

If you do not take a responsible approach to checking your application for compliance with the requirements, then your developer account may be blocked altogether.

In conclusion about the application review process, a quote from the official website: “ We will reject an app with content or functionality that crosses the line. Where is this line, you ask? As one judge once said, “I know it when I see it.” And we think you'll understand too when you cross it.».

App Store

Tools used:
  • Apple computer (with OS X installed).
  • Apple store - Apple application store.
  • developer.apple.com - Apple Developer Center.
  • itunesconnect.apple.com - a site for managing your applications, uploading them to the store, viewing statistics, finances, etc.
  • XCode is an integrated development environment.
  • Application Loader - Apple program to upload the collected application archive to iTunes Connect.
Every app submitted to the App Store must be signed with a valid certificate issued by Apple.

To sign the application we need:

  1. Request a certificate from Apple.
  2. Add a new application to the Developer Center.
  3. Create a provisioning profile.
  4. Create a new application on the portal itunesconnect.apple.com (hereinafter referred to as iTunes Connect).
  5. Fill out all the required information about the application.
  6. Collect the application archive from XCode, signing it with our Provisioning profile.
  7. Upload the archive to iTunes Connect using Application Loader (Apple software).
  8. Indicate in the new version of the application the archive that we downloaded and send the application for review.

Let's look at each step in more detail:

  1. Request a certificate from Apple.

  2. Adding a new application to Dev Center.

  3. Creation of Provisioning profile.
    1. Go to developer.apple.com/account/ios/profile/production.
    2. Click on “+”. Select Distribution -> App Store. Click Continue.
    3. Select the certificate we created (iOS Distribution). Click Continue.
    4. Set the name of the certificate. Click Continue.
    5. The certificate has been created. Download it to your computer and open it - now you have it in XCode.
  4. Create a new application in iTunes Connect.
  5. Filling out all necessary information about the application.

  6. Collecting an archive from XCode, signing it with our Provisioning profile.

  7. Uploading an archive to iTunes Connect using Application Loader.

  8. Specifying the archive for the new version of the application that we downloaded and submitting the application for review.

Google Play

  1. Sign the APK file.
    In order to publish your application on Google Play, you need to sign it with a special key. There are two types of keys:
    • develop - the key with which absolutely all applications are signed during installation from the development environment to devices;
    • production - the key with which the application is signed before uploading to Google Play.
    We will need a second type of key. It is unique for each application, they also need to sign all updates to your application. If you suddenly lose it, it will be impossible to restore it and you will have to upload a completely new application.

    Let's look at the signing process.

  2. Create a new project and upload the APK file to the developer console.

  3. Filling mandatory information about the application.

So, your application has passed all checks and appeared in the store. You are excitedly awaiting the first downloads and user reviews. But winning the attention of users among many other applications can be very difficult. Therefore, after publishing an application, you need to pay close attention to its promotion. We will talk about ways in which this can be done in one of our future publications.

Let's imagine for a moment that your dream has come true: the application has been developed, the whole difficult process is left behind, along with all the sleepless nights, working days, liters of coffee and mountains of cigarettes. What until recently was in your imagination is now in your hands. You see how it works and lives, you are satisfied with the path you have taken. But have you ever thought about what will happen next? How to introduce an application to the world? No? Then this article is for you!

The application will need to be sent to digital stores App Store and Google Play. But how to do this with the least loss of time, nerves, coffee and tobacco products? For example, the editors of the App Store may reject your application over and over again - the history includes 6, 10, or 12 rejections. What are right steps submitting an application to the store? Let's figure it out.

Where to start?

To ensure that your app is not rejected by Apple, we recommend that you carefully read the official App Store Review Guidelines. All the points that may prevent users from getting to know your application are described here in some detail. Google Play also talks about what is possible and what is not. Knowing these rules greatly increases the chances of your app being successfully uploaded to the store.

How to upload an app to the App Store

So, first you need to register a developer account in the store. In the App Store it works like this:

  1. You need to follow the link: https://developer.apple.com/register/.
  2. Sign in with an existing AppleID or create a new one.
  3. If you see the message "You"ve already agreed to the Apple Developer Agreement", go to your account.
  4. At the bottom of the page, select "Join the Apple Developer Program".
  5. Then click "Enroll" and "Start new enrollment".
  6. Select Entity Type (note - Enterprise Not fits).
  7. Fill out all forms, confirm the agreement and pay the $99 user fee;
  8. Once your profile is ready, add one of your Apple IDs as a developer and at least one of them as an administrator through Users and Roles in your iTunes connect profile.

How to upload an application to Google Play

On Google Play everything is a little simpler:

  1. Visit the Google Play Developer Console.
  2. Enter basic information about yourself - name, email, etc. This information can be changed later.
  3. Read and accept the Google Play Distribution Agreement software products in your country/region.
  4. Please note that apps you publish to Google Play must comply with the Developer Policy Center and US export laws.
  5. Pay $25 registration fee when Google help payments. If you don't have Google account payments, it can be quickly created during the registration process.
  6. At the end, you will receive a registration confirmation email to the email address you provided at the beginning.

Testing

Testing iOS applications

In the App Store, this can be done in several ways: through Apple service- TestFlight, or through third parties diawi.com, hockeyapp.net, testfairy.com and others. The latter may seem simpler, but in fact they do not make life easier for developers. The testing process itself can be carried out in two ways:

  • By installing the application directly on the device from the developer’s computer via a wire. This method is ideal for the tester, but absolutely does not work for the customer. It is also not suitable if the developer and tester work in different offices.
  • Actually through TestFlight. To do this, you need to download the application to iTunesConnect.

Access to TestFlight will be available only after registering and paying for a developer account. The AppleID of the customer and everyone who will test the program must be added to the “testers” on the application page and the TestFlight tab.

If this is a new tester who has not been added before, then you need to go to the "Users and roles" section and add his AppleID there. After this user receives the invitation and confirms it, you will need to add him to the “application testers” on the same TestFlight tab. Don't forget to click "Save".

All testers will need to download from the App Store app"TestFlight" and log in with the AppleID specified in "application testers". Now all testers will receive notifications by mail and in the TestFlight app about new builds.

Testing can be both internal (access to only 25 users) and public (up to 1000). In the case of external testing, you will have to undergo an extended review, as when publishing in the App Store.

Submission to the App Store occurs only after completely filling out the profile, adding a description, screenshots and other necessary information. Please note that once submitted, nothing can be changed.

After submitting your application for review, you need to wait from two days to a week (in some cases, especially before Christmas, it can take two or even three weeks). Please note that Apple employees are closed on weekends and in late December. So it is better not to send applications for review during this period.

Testing Android applications

When it comes to testing Android applications, it can also be done in several ways.

The simplest and, perhaps, the most effective is sending the .apk file directly to testers and customers by any convenient means communications (Skype, mail, etc.). But from the point of view of security and common sense, it is better to upload the file to your own server or to the cloud and send everyone a link - this is the method we successfully use in our company. Then you can configure the automatic assembly of builds through CI, which will allow you to receive a new build almost every day without additional effort.

Of course there are alternative ways sending an application like hockeyapp.net, but they require additional registration, while your own server or cloud (for example, ownCloud) does not require anything.

You can also conduct testing through Google Play itself. It can also be internal (access only specified users), and public (access via link). In both cases, the application can be downloaded without much difficulty, as in Apple App Store. But for this the application must be signed.

Like the App Store, submitting to Play Market occurs only after completely filling out the profile, adding a description, screenshots and other necessary information. You can't change anything after sending it. Then you need to wait 1-2 days, after which the application will be automatically published in the Play Market.

Certificates

You must also sign the application before submitting it for review to the Play Market. This can be done at the very beginning or at the end, the main thing is before sending it for review. The following data is required from the customer: Keystore Password, Alias, Key password, First & Last Name, Organizational Unit, Organization, City, State, Country.

The developers will then generate a certificate (usually for 25 years). The certificate must be sent to the customer and it is mandatory! warn that it cannot be regenerated. No way! It is needed for future app updates. If it gets lost, you'll have to release it again. The certificate should not be sent by mail due to security reasons.

In the App Store, a developer with administrator rights will be able to independently generate and install all the necessary certificates through XCode. This process will take several hours. Since the customer is the owner of the application, he will be visible as a developer in both the App Store and Google Play. A developer account in the App Store costs $99 dollars per year, in Google Play - $25 dollars per year. You can submit an application to stores only with a developer account.

To print!

Well, now you know about the rules for accepting an application in the App Store and Google Play. Following these instructions, publishing the application will not be difficult - and then you will finally be able to introduce the world to your brainchild. The main thing is that the child is worthy.