The year 2007 marked an important event in the mobile history when Apple’s Steve Jobs showcased the first iPhone in this world. It shocked the world when everyone saw a phone with only one key and more surprised with the UI that was thrown at users’ fingers. This was probably the first phone where everything except power is controlled by using finger gestures. The one thing, which made iPhone stand out of its competitors, was its purpose of usage. Most of the smartphone out there in the market is basically business oriented with entertainment like music but having iPhone is really fun. Having an iPhone is like a baby playing with a toy – the baby never gets bored. With iPhone revolutionizing the smartphone market, Steve Jobs came with another shocker by launching “iPod Touch”. It was also released within few months after the launch of iPhone but this one was an iPhone minus camera and phone capability. iTouch and iPhone basically share the same platform. From the first release of iPhone to till date, iPhone is in its own league and untouchable in the smartphone market. We hope, there will be someone born to really challenge iPhone.
Just releasing the iPhone isn’t the toughest part. What good does a phone be if it cannot have applications to unleash its power? In practical, Apple of its own cannot create applications on a large scale, which can cater to different kinds of people. So Apple decided to throw its application development open to anyone in the world and come up with his or her own ideas. But the application has to pass through Apple’s testing procedures and can be purchased only through iTunes stores. The best part being, the more your application gets downloaded, the more money you make.
We put forward our ideas on the basic things you have to know how to get started with iPhone application development.
Setting up the environment:
To begin with, we need to setup the environment. The below checklist gives you the necessary information
- Mac Machine with Intel processor
- MAC OS 10.11 +
- iPhone 5+ to test
- iTunes 12 +
- Xcode 7.2 +
- Basic OOPS concept
- Apple Developer Account
We require a Mac machine with MAC OS 10.11 or later for development, for testing the app in a real device we need an iPhone 5 or later devices.
It is highly recommended to use the Xcode IDE for programming because of its simplicity and options, which makes the development much easier.
Though having an iPod to iTouch is optional, we recommend having one as there will always be the difference in running the application on a simulator and a real-time device.
Here are the first few Steps to develop apps in Xcode – to get the development tool downloaded & installed
- Go to website https://developer.apple.com/xcode/
- The latest Xcode version will be available
- You can read through the page to understand the salient features of the latest release of Xcode
- On the top right corner there will be a “Download” button, click on it
- Enter Apple ID and Password, click on Sign In (More on this at the end of this article)
- Xcode latest and stable release will be available in the featured downloads section along with downloads for iOS, MacOS, watchOS, etc
- Click on the “Download” button of the Xcode latest and stable release
- Starts downloading and completes it
- Xcode is now available for installation on your maMacystem
- Double click and install it
Working with XCode:
As far as creating the UI is concerned, Apple provides us with a tool “Storyboard”, where placing a component is as easy as dragging from the components library onto the screen and the positions get saved automatically. It is the easiest way though you can completely avoid storyboard and place the components calculating the position and hard coding in your application.
However, we prefer using Storyboard.
Apple Developer Program
You need to register for the developer account to become a registered iPhone Developer. The standard account costs $99 and enterprise account costs $299. This is mandatory for submission of your applications to Apple and also to test your application in iPhone or iPod device. Apple would take at least 10 days to confirm your developer account. Make sure to submit all the relevant documents while submitting your developer account application. If it gets rejected you need to resubmit the application and wait for a few more days.
Swift Programming Language
SWIFT is almost replacing Objective-C, the OOP language of Apple. The outcome of using this language is apps running at lightning speed. Moreover, its syntax is brief but comprehensive and yet expressive. Objective-C and Swift both can work simultaneously on the same project. One of the obvious advantages that are seen is that the app crashing would be highly reduced as SWIFT keeps a check on the erroneous code.
Useful Links :
Real-Time testing with iPhone
Testing your app on the real device is straightforward were Development Certificate is not required. Connect your iPhone or iPad device to Mac and run it pointing to your device in Xcode.
How to enroll an application for Apple’s review
We present a checklist that you can use before submitting the application for testing
- Make Sure application doesn’t have any memory leaks
- Your application doesn’t violate iPhone Human Interface Guidelines
- Create 120 x 120 and 180 x 180-pixel size png icon for your application
- Provide the necessary Launch image in LaunchScreen.storyboard
- Create a bigger version of your icon with size 1024 x 1024 pixels to upload it in iTunes connect.
- At least 1 Screenshot of your application in each size 4, 4.7 and 5.5 inches. You can provide up to 5 Screen Shots.
- Digitally Sign your code using Distribution Certificate and Corresponding Provisioning Profile.
- Upload the IPA file through Application Loader or Xcode.
- Prepare a description of your application.
- Select the uploaded IPA file in iTunes
- Decide the cost of the application, if it is not free.
- Decide the category under which your application is going to be listed.
- Rate your application contents.
- Provide Support URL for the application (it can be even your own/company website)
- Provide the Demo credentials to test all the features.