How to set up smartphones and PCs. Informational portal

Development of mobile applications for iOS. How to create a game for iOS without basic knowledge

For managers and ordinary people

You often hear the phrase:

Shouldn't I make some kind of application for iPhones !?

Many people really think that creating an iPhone application from scratch is simple and fast, and the millions that have been earned are just around the corner. Let's try to figure this out from the perspective of someone who is full of energy, but has no idea about the Apple ecosystem for developers.

Idea

Any project starts with an idea, and based on this it may turn out that the application cannot be made. Developers I know refused to work for a variety of reasons:

  • It is impossible to determine the position of the user in the room more accurately than five meters;
  • It will not be possible to determine whether a person is on an airplane, over which country he is flying and the moment of crossing the state border;
  • There is no way to find out a person's phone number (unless the user enters it himself);
  • “If this is just a website designed in an application, then it is wrapped up”(we are talking about the review of the application by the App Store team);

In addition to the things that cannot be done, there are a number of things that can be done, but with certain limitations. However, we will go further with you.

Team

The implementation of an idea can be ordered from companies that have already made hundreds of applications, or you can assemble your own team. Experts already understand everything, but their services will cost accordingly. Therefore, we will consider the option of our team.

I will purposely skip the recruiting phase because this applies to any project, not just iOS development.

Believe it or not, you can only write iOS apps on Macs. Therefore, each developer will need one device on macOS and one on iOS (there are some ways to get around this limitation, but we will not touch on them). On a Mac he / she will write the code, on an iPhone - to see what came of it. You can also hope that the iOS developer will come with their own devices (this is not an uncommon case).

The cheapest option is to buy everyone a used mac mini with a keyboard, mouse, monitor, a set of cables and some kind of iPhone 5s. By the way, from now on you can consider lightning cables a consumable: they break extremely quickly.

In addition, you will need to get an "Apple developer organization account", which costs $ 99 per year and allows you to manage developer access, devices, and so on. You can get by with an individual account, but it costs the same, and it has no team capabilities.

Apple Developer Account Management Interface for Organizations

Design

Developers will create the base of the application, its main features. But the lion's share of positive emotions during use is generated by design. To do this, you will need a special person who will think over the graphical interface, make a few obligatory pictures.

The minimum required from the designer is the following:

  • Application icon in different sizes (for different types of screens);
  • Application pictures (screenshots) for each supported screen and language in case there is text in the picture (developers can also make screenshots, but they often add additional infographics to them);
  • Each picture that is used in the application, in all required sizes (2-3x);

If you want a really high-quality app, be sure to ask the designer:

  • Drawings of all application screens (you can make an exception for similar screens);
  • Pictures for all pop-up messages, notifications;
  • For all elements where animation will be - think over and draw it;
  • The map of transitions in the application - user flow, you can ask for it one of the first - this map helps a lot to determine the main and additional screens, their contents;


An example of a user flow from UBER for the button “Take me there on UBER”

In the maximum case, take a designer on a permanent basis and work with him to create a really convenient and pleasant application that everyone can use (a subtle hint of “accessibility” - when the application is also suitable for people with disabilities).

Testing

It would seem that all the pieces of the puzzle have been assembled, what is missing? We forgot about people who will use your application and find errors in it. By the way, don’t expect all developers to make absolutely correct code right away. It's okay to be wrong, but our application must be perfect. Therefore, before it gets to the store, it must be examined along and across.

These issues are dealt with by testers, it is desirable that they have experience working with iOS applications. The question is: how will they do it?

Naturally, devices are also needed here. It's good if you can find all sorts of combinations of iOS versions, iPhone / iPad types, screen resolutions that you plan to support. But there are various workarounds and additional features:

  • You can support only a few types of devices at first, and then modify the application for the rest. However, Apple does not really like it when an application is blocked for only one kind of iPhone, unless there is a clear reason for this.
  • You can test some of the functionality on the Simulator (this is a program for macOS that emulates a real iPhone). In it, you can set both the screen size and the type of device, but not everything can be tested: only on real devices it will be possible to test the work with various sensors (gyroscope, accelerometer, compass, ...), TouchID, push notifications.
  • Be sure to test the application in conditions of a bad or no connection (of course, if the Internet is actually used);
  • Make sure the app is not wasting too much battery;
  • In the case of a large application, evaluate the need for automated testing: it is difficult and not very rational to go through hundreds of forms in each new version.

And don't ask developers for an “installer” for an application they are making. In the Apple environment, it is impossible to download a file to the phone, install and run. Someone from the developers will have to configure the delivery of new versions to all phones where it is needed. There is no other way.

Everything is ready to launch!

So, the moment comes when the application is ready to appear in the App Store. What other surprises await us?

First, the application needs a name. If the app area is popular, then all the short and pretty names may already be taken, since the App Store does not allow two apps with the same name. It remains to think of it as “XYZ - application for XYZ”. This name is displayed only on the application page itself in the AppStore and does not have to coincide with what will be written after installation under the icon of your application for a specific user. This text is not uniquely constrained.

There is one small trick with the name of the application. When creating an application in iTunes Connect, you can specify its name even before the version for publication is actually ready. Thus, you can take your name a little in advance, although Apple no longer guarantees the length of this period.

Second, you need a description. From it and from the name will largely depend on how easily the user finds your creation. By the way, if several languages ​​are supported, you should immediately think into which of them the description and title will be translated.

Thirdly, if not immediately, then after a couple of days in the store, you will become interested in what users are doing in the application. This is where the metric comes to the rescue, which anonymously collects statistics on open screens, purchases, and any interesting actions. The implementation of the metric should be taken care of right away, and on its basis it is worth drawing conclusions about improving the existing and creating new functionality. You may be tempted to save each user's actions along with their email or name: remember, this is not a good thing to do, because no one likes to be spied on.

Fourthly, you have to go through a review of the application from the App Store team. The review takes about two weeks, and all the most secret "chips" of your application will emerge on it. Here are some tips for successfully passing this test:

  • If you need a login / password and registration to access the main functions of the application, be sure to provide the App Store team with test data to enter the application. They will need a test credit card to shop. If you need any accessories for normal operation, be prepared to send them to Apple too;
  • If there are sales of something in the application, there must also be a user agreement containing the phrase that Apple has nothing to do with it, and your company is the seller. This text should be available in all languages ​​that you support;
  • If you sell virtual goods, you will most likely need to use “in-app purchases”;
  • Make sure that no prohibited APIs are used and that the application as a whole performs exactly the function it promises.

If all points are honestly followed, then in about two weeks your application will appear in the store.

App in the App Store

We congratulate you from the bottom of our hearts. Your first creation is finally in the hands of users! It's time to look back at the path traveled and think about new versions of your application.

So, you also got the idea: “ How can I learn to write programs for the iPhone?«, « How can I make my own mobile application?«, « How to make millions without doing anything?". I will try to answer these questions step by step (except for the last one).

What you need to know from the start

To create programs for iOS officially a computer is required from you Apple (iMac or Macbook). But to be honest, you need an operating system. OS X, so many are cunning at first and manage to use Hackintosh (Hackintosh), that is, they run OS X on regular computers - this is an economical option, illegal and rather troublesome in terms of configuration. I recommend you, since you are determined to become an iOS developer, you can buy a simple Macbook or Mac Mini, you can even buy a used one (any released since 2010).

Further - what to write on. Applications for iOS written in programming languages Swift or Objective-C, and all the magical action takes place in the program Xcode(free). Swift- this is a very new language that Apple introduced just recently (mid-2014) and now actively conveys the idea that you need to program only in it, for it is the future, it is more modern and faster. And they are right, teach Swift. Objective-C on the contrary, a language with a long past, therefore, it is much more difficult for beginners to understand it, which does not negate its power and the wealth of existing developments and books on it (which cannot be said about Swift at the moment). And yet, I repeat, teach Swift.

If you want to make cross-platform applications (both for iOS and Android) - learn C # and use a development environment Xamarin(paid). If you want to make cross-platform games - download the development environment Unity3D(shareware), learn already mentioned above C #.

And also, in order to run your applications on the iPhone / iPad (even at the development stage) and then upload them to the AppStore, you need to buy a status Apple Developer for $ 100 per year. After the purchase, this once again motivates at least to recapture this money 🙂

When I asked myself this question, I thought that I just need to take a good thick "bible" on Objective-C (remember, Swift was not there yet) and comprehend the secret knowledge of the programming language chapter by chapter. Everyone advised Stephen Kochan's book “ Objective-C Programming«. Wrong! Don't repeat my mistake. Yes, the basics of the language have been comprehended, the book is good, but this is a reference and it is far from real application development from scratch. To learn how to program you need to get your hands dirty by trying to write the first, albeit very simple, but working applications. You need lessons with examples. From simple to complex. It's also important to set a realistic goal, the first application that you want to write and release in the AppStore. Each lesson or book should give you knowledge that you can apply to your project. Do not make the mistake of an “eternal student” who only does what he studies-studies-studies, but postpones the moment of starting the real work. For example, I set myself the goal of making a radio application and releasing it in the AppStore in a month - and I succeeded.

If you know English, consider yourself lucky, now I will tell you where to get all the knowledge. Unfortunately, there is very little information in Russian and often it is late (and is translated from English).

The iOS Apprentice

Best English language training site - RayWenderlich.com... It is mega-cool for three reasons: 1) you can read a sea of ​​lessons for free from the basics to trying to repeat existing successful applications (including Swift), while everything is written mentally and with humor; 2) there are video lessons (though they are paid); 3) The most important reason- they have books for beginners that will teach you from scratch on the example of creating applications, very intelligibly, with pictures (well, as we like). Books are paid (only the first part is given for free), but they are worth it. I bought them all and they paid off long ago, as they build a good foundation brick by brick. It cannot be compared simply with reading different lessons mixed together on the same site. Start by purchasing The iOS-apprentice book (the first part of which is free to download). She will teach you how to create your first Swift applications. They also have books on game development on SpriteKit(Apple's game development framework).

The second most useful resource is AppCoda... It is simpler than RayWenderlich, but the essence is the same - we read lessons in Swift, learn from examples. They also have their own books (paid), besides the free lessons.

And what if you don't know English - oops, there are simply no such Russian Internet resources. Books in Russian? Of course, you will find some books on Ozon, but they are all outdated and will not teach you the Swift language (at the moment, everything is only in Objective-C).

The best that I can offer you is the "iOS development" hub on Habré, new articles are constantly appearing there, but very chaotically.

Where to find the answer, something doesn't work

During programming, you will constantly have questions: you do not know how to do something or you are doing something, but in response the program reports an error. You can find answers (or ask a question) on two sites:

StackOverflow- the largest storehouse of ready-made answers in English. 80% of the answers I find there.

Google- it is corny, just by driving a question into the search, you can find the answer. If it doesn't work right away, play around with the wording of the question.

Toaster- analogue of StackOverflow, but in Russian. It is still difficult to find answers here, since the base of questions is still not very large. But you can ask - there are enough professionals on the resource who will answer you.

Well, or you can ask me. Free while 🙂

At the end of last month, the developer Richard Felix published an entertaining one in which he tried to explain in the most accessible and concise manner how to create a successful iOS application. In particular, he shared useful tips for novice developers, his own observations in terms of software design and the latest trends in the App Store.

Richard knows all the intricacies of development from personal experience, since over the past few years he has created a number of popular applications for modern mobile platforms and the web (Are My Sites Up, Stunning, Dispatch and others).

So, at some point in your life, you decided to become a developer and try your hand at creating your own iOS app. You are afraid that you will spend quite a lot of time (and money) developing a program that no one else will use. You dream of creating an application that will be actively sold a year after release, but you have no idea how to do it. The tips below will help you achieve your goals.

Find an original idea

At each presentation, Apple announces millions of iOS device sales and fantastic App Store records. Guided by this fact, many novice developers mistakenly assume that creating another commonplace email client or photo editor will allow them to earn millions of dollars (in their opinion, this does not necessarily require climbing to the top lines of the Apple app store charts).

However, despite the prevalence of the iOS platform, this is a big misconception. Of course, in this case, you will earn some money and pay off the development process, but in order to truly achieve significant success, your program should not only perform the declared functions, but also have some original feature, a kind of zest that would distinguish it from hundreds of competitors and attract attention against the general background.

Study your target audience

The App Store offers anyone a real treasure in the form of charts of popular applications, on the basis of which you can decide on the category of the program, notice some moments for yourself and find that very original idea.

Currently, the following three categories of the most popular programs in the App Store can be distinguished:


  • Alternative apps for iOS system programs (improved calculators, calendars, email clients, photo editors, task lists, and so on). They are popular as many people face the limitations of standard iPhone / iPad tools and want to extend the functionality of their devices. Apple creates programs for the mass consumer (they are easy to operate and intuitive), which hurts more advanced users (if you need more features, you will have to use a third-party application - and this is in our favor).

  • Games, and the most different. Especially those that force you to share the application with friends and colleagues, which is much more valuable than any advertising banner.

  • Applications with a minimum number of functions that at first glance seem so elementary, that many developers reject such ideas even at the stage of thinking about the project. A typical example is a program called Over, which you can use to add graceful captions to your photos. For an advanced user, Over may seem like a rather limited tool, but many newbies are completely satisfied with such a “photo editor”, which is confirmed by good sales. It's amazing how the correct implementation of a single declared function can lead to a completely successful program.


Don't reinvent the wheel and upgrade often

Many popular iOS applications have achieved their success due to the following feature - they allow the user to quickly perform some action (process a photo, for example), but at the same time do not overload him with unnecessary functions and buttons. There is no need to reinvent the wheel and create a photo editor with music playback function.

Put yourself in the user's shoes, try to focus on the features that will really useful. It is not at all necessary to implement all your ideas in the first version, leave secondary ideas for future updates of the application. After the release of the program in the App Store, you will have a lot of user reviews, based on which you can draw conclusions about the need to implement this or that function.

In addition, regular app updates allow your product to be constantly heard, "flickering" before the eyes of potential buyers in the blogosphere.

Draw a colorful icon

A beautiful icon is the key to the success of any application ( so anyone? - ed.). Holding an iPhone or iPad in their hands, the user always wants to see high-quality graphics and "juicy" design on his display, which, as they say, pleases the eye. People will pay more attention to the program if the design department puts in enough time and effort to create an attractive brand pictogram. Ultimately, this should help your app reach the top of the App Store charts.

On specialized sites like

IOS is the operating system that Apple smartphones run on. The App Store is used to purchase games or applications. If the developer's product turns out to be successful (it will be in demand by users), then even one program can make good money. On average, developers of popular iOS apps earn several thousand dollars a month.

Process of creation

The algorithm for creating a program or game has the same concept regardless of the platform, so it is extremely important to adhere to rules for the development... By skipping this or that step, the developer risks getting a failed project at the initial stage. Let's take a closer look at the algorithm for creating a digital product:

  1. Creation of a product concept Is the first step that requires analyzing trends in the digital App Store. When creating a project, the developer must clearly outline the target audience. To pass the analytical stage successfully, look at which applications, programs, games, etc. are in the top of the App Store. In addition, find out what is installed on the smartphones of acquaintances, friends, relatives.
  2. Technical base- first you need to learn the Objective-C language, which is used in writing programs for iOS. For novice programmers, it is recommended that you familiarize yourself with the Pascal language and other languages: C, Java.
  3. Tools- development environment, special text editor and graphic editor.
  4. Creation and testing programs.
  5. Marketing promotion.

Creating a utility step by step

Each user has the opportunity to independently create an application for iOS without additional financial investments and professional knowledge. There is a special development environment Xcode that allows you to work right on the phone. If you need to write mobile applications on a Windows computer, you will have to install special virtual machines. For example, VirtualBox and VMware. Let's take a closer look at the official way:

  1. Install on smartphone Xcode development environment. The add-on is in the official OS App Store and has a free distribution system. If the program is installed on your phone, then check it for updates.
  2. With the preparatory settings sorted out, log into Xcode. To create a new project use the tab File... Next, a sub-item will open where you need to select commands New and Project.
  3. The next step in creating an iPhone app is choosing platforms and thematic type future utility.
  4. Please indicate brief information about the software being created.
  5. Next, you need to press the key New Folder... A folder is created here where auxiliary files for the program will be stored.
  6. In the next window, uncheck the box and activate the command Create... Thanks to these manipulations, the user will be taken to the start panel.
  7. Click on the button under the name storyboard... It's on the right side of the interface. Drag the element with the name to the main field Label... Don't forget to add some introductory text on the line Hello_world(any other text is possible).
  8. Be sure to come up with icon for the utility... Upload the icon to mapappicon.com.
  9. After a short processing of the request, please indicate E-mail address, where the archive with icons will be sent.
  10. Return to the Xcode development environment. Now on the left side of the interface, find a section called xassets.
  11. Open the archive from the mail (where the icons were sent) and drag them to the window located in Xcode.
  12. Select one of the device emulator, and then click on the command launching the program(the icon is indicated as a black triangle) by turning on Mac Developer Mode.
  13. Repeat attempt to launch waiting for the moment when iOS is loaded on the emulator.
  14. Make sure that utility works.

Thus, it will turn out to create your application from scratch.

Popular services for creating apps

We offer a selection of services that will help you make iOS apps yourself.

Apps Globus

The Apps Globus project is a universal application builder that is suitable for Android and iOS mobile operating systems. It features a convenient user interface. Thanks to the built-in modules, simplifies the development process... Apps Globus supports up to 60 built-in modules, including:


Apps Globus is distributed by paid subscription... Users wishing to test the application can use a 5-day demo version. Monthly subscription is provided in three types: " starting», « studio" and " business". The difference between subscriptions is the price and the number of developed applications. There is also a version that requires a one-time payment of 20,000 rubles. In addition to unlimited use, it offers source codes and assistance in configuring the utility.

App2b

The App2b project offers a multifunctional constructor that can be used not only to create applications for iOS, but also for the Android platform. This constructor creates commercial or informational content. That is why the service has built-in template library to quickly create a user-friendly application yourself.

Like other similar projects, by paid subscription... The main difference from other constructors is the only payment method in the form of a one-time payment of 9,900 rubles.

The project is the only free website builder for creating websites and applications. The program is a comprehensive solution for online business. Allows you to create unique pages, virtual stores, ezines. A distinctive feature of the constructor is lack of prepared templates... Instead, they use flexible tools that do not require programming knowledge. Because of this, any program created in the New Digital Times looks like a work of authorship.

Constructor is a multimedia tool focused on creating business applications in various directions: dashboards, online stores, restaurant menus, etc. For the convenience of users, there are built-in templates for programs and synchronization with social networks and other popular services.

Sold in several variations: for self-use and affiliate program... It is distributed in two types of subscription: monthly and annual. In addition, people can be hired on the site to create programs.

The field of computer technology is now rapidly developing. In order to make a fortune, now it is not necessary to work around the clock - it is enough to come up with an interesting idea, gather a team of developers, create an application for IOS and put it in the App Store.

Prospects for creating and publishing iOS apps

No matter how young developers amuse themselves with hopes, there is little pleasant in the application market. Of the many projects, not many are becoming popular. One outstanding American company, Epp Promo, conducted a market research and got the following results: most of the app creators surveyed said that 60% of games do not make money at all, and 82% say that they cannot feed themselves with this business. Therefore, they have to work somewhere else.

Apple claims that their site is a good place for this kind of earnings, but in fact things are different. In order to make money (well, or at least not to go negative), you need to get into the Top 100 or Top 200. Other developers attribute this phenomenon to the fact that people will simply be too lazy to scroll far down in order to find the product you offer. If you are not scared by the above and you still want to create your own application - let's move on.

How to create an iOS app and publish it in the App Store

Let's figure out what needs to be done to get the application and start making money on it.

How to install Xcode development environment

Building an application in Xcode

  1. How to create a new project. We open the application. Next, select the "file" menu and click on "create a new file". Click on the application under "ios" on the left side of the window. Go to the templates section. Click on the Empty Application.

    In the program interface, select "Single new application"

    2. Creating a storyboard. Storyboard is responsible for displaying application screens in your program. Storyboards display what is on each individual window and show how they interact. This thing makes it possible to work out your game well. Then we do the following: Select File, then New, then File. Next, click on "User Interface". Click on the storyboard, select "next". In the device menu, you need to select the device for which your program is intended. In my case - I phone. We name the object "Main".

    Select a device in Storyboard

    3. Assign a storyboard to your project. Now we set the storyboard as the main interface of our program. If done correctly, the storyboard will be available immediately when we launch our program. Here's how to proceed: select the name of your file in the tab on the left, click targets and select your project from this header. Go to the Generals menu and select Deployments Infos. In the Main Interface, enter Main.Storyboard and move on to the next step.

    Enter "Main.storyboard"

    4. Add the first screen. For this we need a view controller. With the help of them we will be able to generate an approximate view of the application. Initially, you can explore the view controllers and choose from several presets. If suddenly you are a teapot in this business, then it is better, of course, to choose from the existing ones. Thus, we will see how the application will look in the hands of a regular user. Choose "Mains Storyboards". Find Object Library. At the bottom right, you can select this very Object Library. On the right you will see a window that appears, which is called the canvas. Drag "Views Controller" there. When the user launches the application, he will see a loading window. Congratulations!

    In the view controller panel, add the first screen

    5. Add objects to our screen. After choosing a view controller, you can add objects to your application. They can be found in the same Object Library. This library can be found inside the view controller.

    Then we add interface objects to our screen

    6. Change the added objects. With the help of simple tools, you have the ability to change the interface, which will add beauty and personality to the application. In addition, you can add hint text for the user to help him understand the game. You can also change the size of objects, the font of the text, and so on.

    We create an individual interface and change the properties of objects

    7. Adding additional screens. Your application cannot consist of a single screen - it just doesn't make sense. Therefore, you will need to create them yourself. This is done very simply - a view controller for an empty part of the screen.

    Drag the view controller to an empty part of the canvas

    8. We activate the "Navigation Controller". We will use this feature to move between several windows. Achieved using the Navigation Controller. The Navigation Bar is added at the top of the program. Remember, the Navigation Controller is strictly added to the home screen to control movement in all other windows. To do this, select the boot screen. Click on editor, then on Embed In, then click on the Navigation controller. After the steps taken, a navigation bar appears.

    How to add the navigation bar according to the instructions

    9. Add Navigation Controller functionality. Once the navigation menu has been created, tools need to be added to it. With this feature, the user will be able to "move" around the application from one place to another. We suggest adding standard functionality. Add a title (for this you need to open the Navigation Item, and then the Attributes Inspector, and then enter the title), a Navigation button and provide the buttons with properties.

    Adding functionality to the panel

    10. We associate the screen with the button. To link the buttons, press ctrl, and then drag them to the next screen. Soon the Action Segue item with available options will come out. We select "Push" to move through the windows.

    Linking a button to a screen

    11. Using the above steps, you can create a program with very primitive functionality and interface. If you still want to create a really interesting application with the ability to process data, learn the Objective C language.

    It's time to start learning a programming language

How to test the created application


How to publish


Potential problems and solutions

During the validation process, your application may not be missed due to the fact that it does not pass the initial tests. In this case, Apple will send you possible solutions to problems related to the operation of the program. Heed them and submit your application for review again.

Remember to keep an eye on sales. This can be done using iTunes Connect Mobile. Apple will periodically send you sales analytics notifications, but it won't be superfluous to follow up on your own. Good luck and great sales!

Top related articles