The app market is constantly changing and the success stories are so evident that they grab everyone's attention. Do you believe the next big idea for an iPhone app could be yours? Creating it may be easier than you think. You will need to learn some coding, but much of the work on the interface can be done graphically. It will take you some time, you will have to study and be patient, but maybe you will have the next great idea! To get started, read the article.
Steps
Part 1 of 5: Setting up the Development Environment
Step 1. Download and install Xcode, the development environment in which all iPhone apps are created
It is available for free from Apple, but requires OS X 10.8 or later. There is no official way to use Xcode on a Windows or Linux pc. It means, if you want to develop an iPhone app but don't have a Mac, you'll need to buy one first.
To develop apps for iOS8, you will need Xcode 6.0.1 and the iOS8 SDK package, both of which can be downloaded from Apple's website. The iOS8 SDK contains several APIs that will allow you to implement any kind of integration of the new apps, including iCloud and Touch ID
Step 2. Install a good text editor
While it is possible to program completely within Xcode, for large chunks of code you will find it easier to work with a dedicated text editor that specializes in programming syntax. TextMate and JEdit are two very popular choices.
Step 3. Install a vector graphics program
If you are planning to create custom images and designs for your app, you will need a program that can create vector graphics. This is because these types of images can be easily resized without the risk of losing sharpness and are essential to obtain a professional graphic-looking app. Excellent programs are CorelDraw, Adobe Illustrator, Xara Designer and Inkscape. A nice free vector image software is DrawBarry. It's not as powerful as professional programs, but it's great for a first-time user or when you want to avoid spending money on something you'll only use once.
Step 4. Try to familiarize yourself with Objective-C
It is a programming language used to create functionality within iPhone applications. Handles the manipulation of data and objects. It descends from the family of C languages and is an object oriented language. If you already have basic knowledge of C or Java, this program should be easy enough to understand.
- It is possible to build an elementary application even without knowing Objective-C, but you cannot create any advanced functions without knowing how to program it. Without Objective-C, all you can do is move back and forth between screens.
- There are various tutorials available online and an avalanche of information on books that talk about Objective-C. If you want to take iPhone app development seriously, you would do well to have those resources on hand.
- Some of the more popular online communities on Objective-C include the Apple Developer Forum, the Google iPhoneSDK group, and StackOverflow.
Step 5. Consider having it developed by a third party
If you are not interested in learning Objective-C or are not gifted with particular artistic veins, there are many freelancers and development teams who may be able to carry out different aspects of your project for you. Outsourcing a development environment is a complicated process, but it saves you a lot of headaches if you don't like programming. Make sure everyone involved signs a nondisclosure agreement and payment arrangements are well structured before any work begins.
oDesk and Elance are two of the most popular freelance services on the Internet, and both offer hundreds of developers and artists at all levels
Step 6. Create a developer account
To distribute applications on the App Store or to be able to distribute them to others for testing, you must register with an Apple Developer account. It costs $ 99 a year and you will need to provide your tax information and bank account details.
You can create your account from the iOS Dev Center website
Step 7. Download some trial applications
After signing up for a developer account, you will have access to all of Apple's development resources. They include several sample projects that can give you some very interesting insights into how app development works. Find an example similar to the type of application you want to create and use it to experiment with Xcode.
Part 2 of 5: Designing the App
Step 1. Define your idea
Even before opening Xcode for the first time, you should have your entire app and features well planned out. This should include a design document outlining all of the app's features, some sketches on the UI and flows between different screens, along with a basic idea of the types of systems you'll need to implement.
- As you develop the app, try to stick to your design document as much as possible. This will help keep you centered on the features you want.
- Try to draw at least one miniature sketch of each screen in your app.
Step 2. Determine your target
The recipients of your application will have a lot to do with its appearance and functionality. For example, a to-do list app will target a very different audience than a game. This will help you.
Step 3. Direct your app towards meeting a need
If it's a utility of some kind, it should either offer an innovative solution to a problem or solve it more brilliantly than previous attempts. If it's a game, it should have distinctive features that, at the very least, help you distinguish and attract a specific type of player.
Step 4. Consider the content in order to create a targeted user interface
For example, if the application deals with photography, you will need an interface that makes it easier to view and search for specific images.
Step 5. Optimize the interface design, which should never get in the way of the user
It means that the options must be clearly visible and that the user should never be put in a position to wonder what a button is for. If you choose to use icons, they should represent their function accurately. The navigation of the app must be smooth and natural.
User interface design (UI = User Interface) is an art form. You will probably have to revise it constantly in parallel with the evolution of your project
Part 3 of 5: Creating the App
Step 1. Create a new project in Xcode from the File menu
You have to select "Application" under "iOS" which is located on the left side of the window. In the templates section, choose "Blank Application".
- There are many templates available, all designed for different activities. Start with a blank template until you become proficient in the development process. You will find more complicated models when you understand how it all works.
- You will need to specify a Product Name, enter your company ID and assign a class prefix. If Apple hasn't given you the corporate identifier yet, enter com.example. As a class prefix, enter XYZ.
- From the Devices menu, select "iPhone".
Step 2. Create a Storyboard
This is the visual representation of all the application screens. The content of each screen is shown along with all transitions. The Storyboard tool will help you develop the flow of your app.
- Choose File → New → File.
- Under the iOS header, click on "User Interface".
- Select "Storyboard" and click "Next".
- From the Devices menu, select "iPhone" and then name the file "Main". Make sure it is saved in the same location as your project.
Step 3. Assign the Storyboard to your project
After creating it, you will need to assign it as the main interface of your application. When it starts, the Storyboard will be loaded. Without this pairing, nothing will happen when the app starts.
- Click on the project name in the navigation diagram on the left.
- In the main frame, find the "Goals" header. Select your project from the list of Goals.
- Find the Distribution Information section on the General tab.
- Enter Main.storyboard in the "Main Interface" text field.
Step 4. Add your first screen using a View Controller, which specifies how the content is displayed to the user
There are several preset controllers, including standard tables and views. You'll need to add a view controller to the storyboard as well, which will specify to the app how to show the content to the user.
- Select the "Main. Storyboard" file in the project navigation menu. You will see a blank canvas of the Interface Builder window.
- Search for the Object Library. It is located in the lower part of the right pane and can be selected by clicking on the button made in a small cube. A list of objects will be loaded which you can add to your canvas.
- Click and drag the "View Controller" object onto the canvas. Your first screen will appear.
- Your first "Scene" is complete. When the application is started, the controller will load the first screen.
Step 5. Add interface objects to your first screen
Once the view controller is set, you can populate the screen with the objects you will need for the interface, such as labels, text input fields and buttons. Such items can be found in the Object Library list within the view controller.
- Click and drag items from the list to add them to your screen.
- Most objects can be resized by clicking and dragging the boxes on the edge of the object. As they resize, guidelines appear on the screen to ensure that everything is aligned correctly.
Step 6. Customize the objects you add
You can adjust the properties of each object, thus managing to create an intuitive and customized interface. For example, you can add placeholder text to a text field so that it tells the user what to enter.
- Select the object you want to analyze and click on the "Attributes Inspector" button at the top of the right pane. The button looks like a shield.
- Customize the object to your liking. You can change text style, size and color, alignment, background image, placeholder text, border style, and more.
- The available options will change depending on the object you are customizing.
Step 7. Add more screenshots
As the project grows, you will likely need to add more screens to display all the content needed for the application to be useful. For example, if you are creating an application for a to-do list, you will need to make at least two screens: one to enter each item in the list and another to view the entire list.
- Screens can be added by clicking and dragging view controller objects onto empty parts of your canvas. If you can't find a free spot to release them, click the "zoom out" button until you find empty areas. Make sure you drop the view controller on the canvas and not on an existing screen.
- You can change the splash screen by selecting the view controller you want to start with from the project outline. Click the "Attribute Inspector" button and check the "Initial View Controller" box. For example, if you are creating a to-do list, the list must be the first thing the user sees when launching the application.
Step 8. Add a navigation bar
Now that you have two screens in your application, it's time to make the user move back and forth between them. You can do this through the use of a navigation controller, a specific view controller. A navigation bar will be added to the top of your application that will allow you to just move between screens.
- Your navigation controller should be placed in your home view so that it can control all subsequent screens.
- Select your initial view of the project structure.
- Click on Editor → Embed In → Navigation Controller
- You should see a gray navigation bar appear at the top of the screen where you added the controller.
Step 9. Add more features to the navigation bar
Once you've entered it, you can start adding navigation tools. This will allow the user to move back and forth between screens.
- Add a title to the navigation bar. Click on the navigation element under the view controller you assigned it to. Open the Attribute Inspector and type the title of the current screen in the appropriate Title field.
- Add a navigation button. Open the Object Library if it is not already open and find the "Toolbar Button" item. Click and drag it to the navigation bar. Typically, the buttons that move the application forward are placed on the right, while those that bring it back are placed on the left.
- Give the button a property. Buttons can be configured to have specific properties that allow them to easily adapt to the circumstance. For example, if you are creating a to-do list, you could put an "Add" button to create a new entry. Select the button and open the Attribute Inspector. Find the Identifier menu and choose "Add". The button will become a logo with a "+" symbol.
Step 10. Link the new button to an existing screen
In order for your button to work, you'll need to link it to another screen. Using the to-do list example, the button is placed at the top of the entire list and needs to be linked to the home screen. To do this, hold down the Control key and drag the button to the second screen.
- When you release the mouse button, the Transition Actions menu will appear with a list of options. Choose "Push" to use the transition with the push effect when moving between screens. You can also choose "Modal": the screen will open with an action completely independent of the sequence.
- If you use "Push", a navigation bar will be automatically added to your second screen and a "Back" button will be created. If you choose "Modal", you will need to manually enter a second navigation bar, as well as add the "Cancel" and "Done" buttons (always following our list; your button labels will change according to the needs of your application).
- The "Cancel" and "Done" buttons can be created in the same way as the "Add" button, just select the corresponding item from the menu in the Attribute Inspector.
Step 11. Add data processing capabilities
At this point, you've been able to create a basic navigable interface without the need for any coding. If you want to achieve any more specific functionality, such as data storage and user input handling, you'll have to get your hands dirty with programming. Coding is outside the scope of this guide, but there are many Objective-C tutorials available on the Internet.
By hiring a developer, you will be able to take advantage of the prototype of the navigable interface, because it will be much easier to explain what you need from a programming point of view
Part 4 of 5: Test the Application
Step 1. Launch the iOS simulator
Xcode comes with a built-in iOS simulator that allows you to test the application on different devices by simulating iOS. To start the simulator, choose "Simulator and Debug" from the drop-down menu at the top of the Xcode window and click on the device you wish to test.
Step 2. Build the application
Click on the "Build" button, which looks like a traditional play button, in order to build the application and run it. It may take a few minutes. You will be able to observe the progress in the toolbar. Once the build process is complete, the iOS simulator will launch and you can start attesting your app.
Step 3. Test the app on your iPhone
Before distributing your application for testing, you can test it on your own device (if you have one). First, connect your device to your computer via USB. If iTunes opens, close it. Select "Device and Debug" from the drop-down menu and then click the "Build" button. After a few seconds, the app on the iPhone should open. Test all features before closing it.
Step 4. Debug your application
If there are problems, you need to start understanding what happens and why. This is a very large topic and there are countless reasons why the application can crash. Open the debug console and read the error messages. Most of the time they are quite cryptic. If you don't understand the error, try doing an internet search. You will likely find a post on an Apple development forum to which an experienced developer will have kindly replied.
Debugging can be very time-consuming and tedious. Persevering will allow you to improve over time. You will learn to recognize mistakes, track them down quickly and even expect them on several occasions. A common mistake is to recall an object from memory more than once. Another is forgetting to allocate and initialize an object before trying to add or make assignments to it. With each application your errors will decrease significantly
Step 5. Check memory usage
The iPhone has a very limited amount of memory. Whenever you allocate memory to an item, when you're done, you need to release it and free up the occupied memory. There is an SDK tool for the iPhone which, among other things, allows you to view and analyze how much memory you are using.
- After selecting "Device and Debug", choose Run → Run with Performance Tool → Leak. This will open Tools and launch your application on your device. Go ahead and use the application as usual. At times, it will seem to you that the application crashes while analyzing memory usage. Any leaks will be highlighted with a red ear on a timeline line. The source of any leaks will be displayed at the bottom of the screen.
- By double clicking on the problem objects, you should access their code. By clicking on the small arrow in the "Addresses" column, you will be able to view the history of the loss. Sometimes, the point of detection does not necessarily coincide with that of the origin of the problem.
- If you are perplexed, try the exclusion process. Comment and / or carefully circumscribe some areas of your code and execute it. Sometimes, by narrowing down a larger area, you will get to find the line of code responsible. If you know where the error is, you can correct or rewrite it. Remember: using a search engine, you can always find direct links to Apple's internal forums or specific documentation for your problem.
Step 6. Distribute your application to be tested and checked by others
While testing your application in a simulated environment is a great way to ensure that it works and that the interface is adequate, nothing beats testing other external users. Just make sure you've fixed any major bugs before submitting your application for external testing. To distribute the app to your testers, you will need to create an Ad-Hoc certificate on the iOS Dev Center site.
- External testers can give you a lot of feedback that you wouldn't expect. It can be especially useful if you have a complex application.
- To authorize the tester's devices, you will need to obtain the UDID number of each device.
- Choose the device from the drop-down list and press the "Build" icon. In Finder, navigate to the project folder and look for the "Ad-Hoc-iphoneos" folder. Inside, there will be an application. Copy the "AdHoc.mobileprovision" certificate you received from the iOS Dev Center into the same folder. Select app and certificate and zip them. You can hand this archive to your external tester. You will need to create several for each Ad-Hoc certificate.
Part 5 of 5: Releasing the Project
Step 1. Create your Distribution
Select Device and Release from the drop-down menu. Press the "Build" icon. In the Finder, go to your project's build folder and look for the "Release-iphoneos" folder. Inside there will be an application. Pack it into an archive.
For new apps to pass Apple certification, they will need to be optimized for iOS8 and Retina displays
Step 2. Open iTunes Connect Control Panel
You can access it from the iOS Dev Center. If you have yet to complete the setup, you will find it indicated at the top of the page. Make sure all your banking and tax information has been entered correctly.
Step 3. Enter all application information
Click on "Manage applications" and select "Add new application". Fill in the application name, enter the SKU number and select the bundle ID. Select the application package from the drop-down menu.
- Fill out the form providing the application description, keywords, support site, category, contact email, copyright, etc.
- Fill out the forms relating to copyright and prices.
- Keep the images handy for iTunes. You will need a 512 x 512 vector icon and some snapshots of your application screens. Screenshots can be taken from the iPhone simulator by using ⌘ Command + ⇧ Shift + 4 and dragging the crosshair over the area. For the iPhone, they must be 320 x 480. They are a very important part of marketing your application, so you need to make sure they show the most interesting parts.
Step 4. Upload your application
Clicking "Ready to Upload Binary" will bring you back to a screen where you can download the Application Uploader. Download and press Done.
- Install the application upload tool and launch it. The first time you follow the program, you will be asked for your iTunes login information.
- The Application Uploader tool will check your iTunes Connect account and find all the applications you are ready to upload binary files for. They will appear in a drop-down menu. Select the one you want, choose the distribution archive created earlier and upload it. The uploader will check some things within the distribution and report an error if it finds something incorrect (for example, a version number, a missing icon,…). Hopefully, it will load the *.zip file and finish the process.
Step 5. Now all you have to do is wait for the review process
Apple will notify you after a few days or weeks by email if the application status changes to "In Review". Once this process is started, it is very fast. If it does not pass the initial test barrier, you will receive a rejection email from Apple explaining why and offering suggestions to fix the problem. If your app passes, Apple will write to you telling you that the app is ready for sale and will appear on the iTunes App Store.
Step 6. Promote your application
Now that it's available for purchase, it's time to start spreading the word. Use social networks, send press releases to sites that care about applications, create videos for YouTube and do whatever it takes to get people to talk about them.
You may want to send free copies to some bloggers, so they can write about your application on their website or review it on their YouTube channel. If you can hit the very popular ones, it could lead to numerous sales
Step 7. Check your sales
Download the free iTunes Connect Mobile app for iPhone. Log in every day to track revenues, markets and sales countries. This is the fun part! Apple will periodically send you emails with links to your latest sales figures. You can download them to archive them. Good luck!
Advice
- Try to be original and not to copy apps already on the App Store. Do a thorough search on the App Store to find out what's already available. Of course, if your idea is better, implement it.
- Always look for ways to improve your app.
- Try to test the app on as many i-Devices as you have on hand, even better if they have different versions of iOS installed.
- If you prefer printed guides, look for some iPhone development books on Amazon.co.uk.
Warnings
- Once you've managed to publish an app on the App Store, don't be intimidated by people leaving bad reviews. Some leave helpful feedback, while others just like to complain.
- Addictive, you may not be able to quit.
- It is not guaranteed that you will get a lot of downloads or a lot of sales - don't be discouraged.
- The iPhone SDK, as well as the devices, is constantly evolving. If an update becomes available while you're working on a project, be sure to read what's new before installing it. Unless Apple requires new apps to be developed with the latest version of the SDK, you may momentarily skip the update. If you decide to update, some methods you used may become obsolete and therefore, although it is difficult for them to produce more serious error messages than a warning, be careful.