📜 ⬆️ ⬇️

What you need to know before writing under iOS

"Under Windows you can write for the iPhone?"
Anonymous developer

“We do not plan to publish in the AppStore, is this possible? And we want a version for Android ... "
Anonymous customer

If you decide to develop applications for the iPhone / iPad, then most likely you will be interested in the following questions:

How to earn?


Paid applications in the AppStore - from $ 0.99 to $ 999.99

It's all very simple / difficult. Write the application, post it in the AppStore, set the price, get money from satisfied customers. Apple takes up 30% of the price. There is a chance to take over the world and waste your time - it all depends on you.
The top price bracket is real - at least two applications for a thousand dollars were already in the AppStore:
"BarMax CA" - an application for law students;
"I Am Rich" is an application that shows the image of a red, apparently precious stone. From the store it was removed the day after publication, but 8 lucky people still managed to get it. Now it has returned to the AppStore already with a price of $ 10, one of the features indicated that the application is sold for only 1/100 of the original price.
')
Advertising in applications - iAd

Here, too, everything is quite transparent: you place an advertising banner in your application, Apple shares with you the revenue for displaying ads and for clicks on the banner. On Habré already wrote about this service and even told how to add banners to their applications . It remains to add that the cost of advertising 1 cent - for the show, $ 2 - per click. The developer receives 60 percent of the proceeds.

Trade in the application - In-App Purchases

Apple provides an opportunity to trade you in its applications with various everyday values ​​- resources in games, access to locked sections of applications, and so on. Excellent article on this topic is on the habre - iPhone development: Integrating In-App Purchases . Yes, Apple takes the required 30 percent of its revenue.

Subscription service

Those who wrote “Murzilka” as a child should understand the essence of this option of earning. A regular subscription to magazines, newspapers, music, videos ... The publisher sets the price, Apple takes a standard 30 percent. The service was launched on February 15, 2011, details can be found in the official press release .

Custom Application Development

Everything is also very simple here - the client pays the money, you develop the application. Usually it is image, corporate applications or the presentation of any client services for iOS.

The last way to make money is the easiest to pay for work. Since everything happens in the usual way, without a financial relationship with Apple (except for the registration fee). In other cases, you need to attend to issues of earned money. Comments with positive / negative experience on this issue are welcome.

How to register in iOS Developer Program


You have two options:

The difference between them is as follows: when you participate in an Enterprise program, you cannot, unlike a regular program, upload your applications in the AppStore, but you can develop in-house applications, applications for internal use in your company, without open access. If you decide to develop an in-house application for your customers, then they are encouraged to join this program. The iOS Developer Enterprise Program Support Center explains this question (the last question on the list)

Otherwise, the programs provide the same features:

A quick note on Ad Hoc is a way to distribute applications without an AppStore by directly installing the application's build file through iTunes. And then the question arises: how does this differ from those in-house applications that the Enterprise program beckons us on? The fact that in a standard program you can register no more than 100 devices per year for installing your applications on them, that is, there is no question of any commercial distribution here. Moreover, Ad Hoc distribution is focused primarily on testing products - programs installed in this way can work on devices only for 6 months.

When registering, you can register either as a company or as an individual developer.
When registering a company, you must be prepared to provide certain documents.
For Russian companies, it is necessary to provide an extract from the Unified State Register of Legal Entities (USRLE) and its translation. The name of the company during registration must match the name in the statement. In this article, you can learn more about registering a company - Register an application in the AppStore - we did it!
Usually the entire registration procedure takes 3-4 weeks.
It is much easier for individual developers to register - after filling out all the forms on the website, they will be asked to print, fill out an application document (passport details, card details, residential address, etc.) are required and send to Apple by fax. After reviewing this document, Apple charges $ 99 from your account and you become a registered developer. The whole procedure takes 3-4 days. If you have problems finding a fax, you can use some online resource, for example - www.myfax.com/free

Do I need a Mac?


You will definitely need Mac OS X, since on no other platform can you work with the iOS SDK. There are many different options for developing iOS applications, but you will need Mac OS X to build and load an application in the AppStore. Yes, recently there are various services that offer cakes for you to offer applications for you and various other services, and about them on Habré, too, wrote . But, in my opinion, all this is not serious yet and you should not use the services of such offices when developing any meaningful application. Although, of course, it all depends on the task, if you can make money using such services, then why not :)

Ways to get Mac OS X:

Mac mini is now quite an accessible thing, although, of course, you always want more, and there prices at Apple are already beginning to bite.
Regarding the other two options: I heard feedback from people who are quite happy with the hackintosh or with Mac OS X on VMWare, but I also have enough accumulated negative experience. It all depends on the iron, straightforward hands and your desire.
In general, if you want to develop for the iPhone, the operating system should not be an obstacle.

The difference between web and native applications


I want to clarify the difference between native and web applications for the iPhone / iPad, before we move on to the development tools. The first ones are distributed via the AppStore (or in-house applications), the second ones are just a web-site or its part, specially configured for iPhone.
Available web applications can be found here - www.apple.com/webapps
To publish your web application in this directory, you must register with the iOS Developer Program. When publishing, you are asked to specify the url of the application and some additional information (company website, download the icon, and so on).
As you understand, some special, different from the usual web-developer tools for writing such applications are not needed, although now quite a few frameworks have been divorced, allowing you to simplify the creation of such applications and make them more like native applications.
Among the users of iDevaysov web applications are not particularly popular, and many, at least in Russia, do not even know about them. So further we will consider only the development of native applications.

What tools can I use for development?


Here I will touch on only a few tools - after Apple removes the ban on non-native development tools, almost every day new IDEs and frameworks appear.

Native development tools

This is primarily the Objective-C language and the Xcode development environment (for a company with Interface Builder, an iPhone simulator, and other applications from the developer's package). You can also write in C and C ++, but without Objective-C you will still be able to do without some points.
On Habré there are a lot of articles about this language - you just have to scroll through the blog Development for Apple iOS . Objective-C has a certain charm (although there are different opinions on this subject), it is a bit complicated at the beginning of development, the paradigm inherited from Smalltalk makes itself felt - but then it delays.
The main argument in favor of using tools from Apple - native development tools, all other things being equal, in any case will give the output code faster and more qualitatively than any other tools.
JetBrains recently announced their development environment for Objective-C - appCode (it’s a pity that they turned out to be from the super-name CIDR - one company with a product called Cider asked them not to use a similar abbreviation), so even here there will be a choice. Competition, I hope, will lead to higher quality.

Mono touch

monotouch.net
MonoTouch allows you to develop applications for iDevice on C #. A noticeable minus for .NET developers is the price - $ 399 for an individual license.
What attracts me in this way: in conjunction with Mono for Android, you can potentially cover a fairly large segment of the mobile market (iOS / Android / WP7), without major code changes.

Flash

Adobe Flash Pro CS5 supports iPhone development. Another thing is that while this path has not been thoroughly developed and a certain dampness is present in the approach.

Titanium & PhoneGap

www.appcelerator.com
www.phonegap.com

Two headlining frameworks in mobile cross-platform development. A brief description can be found in this article . Allow javascript and HTML5 to be used to develop native applications under several platforms at once, including iOS.

Unity3d

unity3d.com
Great tool for game development. Supports many languages ​​and platforms. But for all the good you have to pay - the license for Unity Pro costs $ 1500 plus $ 400- $ 1500 will have to be paid for the addon for development for iOS.
More prices you can see here - store.unity3d.com/shop
Comparison of features of various licenses here - unity3d.com/unity/licenses

For myself, I still choose Xcode and Objective-C, but I look intently towards cross-platform development.

Another small note, if you decide to develop custom applications
Deadline

The deadline is not always up to you. Before appearing in the AppStore, the application passes a review that lasts at least 5 days. If the application was rejected for any reason, then, after making changes, it will be necessary to defend the entire queue again. So promising a client to release an application in the AppStore by a certain date, if you do not have two or three weeks left, is a rather reckless act. Better to promise to show the application on the device by the agreed time and explain the situation with the review. To install an application on a device, you need to know its UDID. That is, even if you work remotely, you can always build the application and send it to the customer so that he can watch it on his device.

Thank you for reading the article!

Source: https://habr.com/ru/post/118116/


All Articles