To develop iOS 8 apps, you will need Xcode 6. 0. 1 and the iOS 8 SDK, both of which are available from Apple. The iOS 8 SDK contains a significant number of new APIs that allow you to create all kinds of new app experiences, including iCloud integration and Touch ID. To develop iOS 10 apps, you’ll need Xcode 8 and the iOS 10 SDK, also available from Apple. There are significant changes to the Swift language and the SDK in this version of Xcode that you’ll want to be aware of, but the good news is that there are to be no more “code breaking” changes to the Swift language after this version.

A newer option is to create your app using the Swift language, the follow-on to Objective-C. Swift has a much friendlier syntax and a more modern feel. While it’s possible to build a basic app without knowing Objective-C, you cannot perform any sort of advanced function without coding it yourself. Without Objective-C, all you can do is move back and forth between screens. There are a variety of tutorials available online, as well as a wealth of information to be found in various books about Objective-C or Swift. If iPhone app development is something you want to take seriously, you’ll be well-served by having some resources handy. Some of the more popular online Objective-C and Swift communities include the Apple Developer Forums, the iPhoneSDK Google Group, and StackOverflow.

Upwork (previously oDesk and Elance) is the most popular freelancing service on the Internet that has hundreds of developers and artists of all skill levels.

You can create your account at the iOS Dev Center website.

Try to stick to your design document as much as possible while you are developing your app. This will help keep you focused on the features you want. Try to draw at least one thumbnail sketch for each screen in your app.

UI design is as much an art form as it is a science. You will likely be revising your design constantly as your project evolves.

There are a variety of templates available, all designed for different tasks. Start with a blank template until you get more comfortable with the development process. You can try one of the more complicated templates once you’re familiar with how everything works. You will need to provide a Product Name, your company identifier, and the class prefix. If you don’t have a company identifier from Apple yet, enter com. example. For the class prefix, enter XYZ. Select “iPhone” from the Devices menu.

Click File → New → File. Under the iOS heading, click “User Interface”. Select Storyboard, and click Next. Select iPhone from the Devices menu, and then name the file “Main”. Make sure that it is saved in the same location as your project.

Click your project name in the left navigation tree. Find the Targets heading in the main frame. Select your project from the Targets list. Find the Deployment Info section in the General tab. Enter Main. storyboard into the “Main Interface” text field.

Select your “Main. storyboard” file in the project navigation menu. You will see a blank canvas appear in the Interface Builder window. Find the Object Library. This is located at the bottom of the right frame, and can be selected by clicking the little cube button. This will load a list of objects that can be added to your canvas. Click and drag the “View Controller” object onto the canvas. Your first screen will appear on the canvas. Your first “Scene” is complete. When the app is started, the view controller will load your first screen.

Click and drag objects 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. When resizing, guidelines will appear on the screen so that you can ensure everything lines up correctly.

Select the object you want to customize and click the “Attributes Inspector” button at the top of the right frame. The button looks kind of like a shield. Customize the object to your liking. You can change font style, font size, text color, alignment, background images, placeholder text, border style, and much more. The available options will change depending on the object you are customizing.

More screens are added by dragging and dropping view controller objects onto blanks parts of your canvas. If you can’t find a blank spot to drop it, click the “zoom out” button until you find empty areas. Make sure to drop the view controller onto the canvas and not onto an existing screen. You can change the initial screen by selecting the view controller you want to lead with from the project outline. Click the Attribute Inspector button and check the “Is Initial View Controller” box. For example, if you are making a to-do list, you’ll want the actual list to be the first thing the user sees when the app is launched.

Your navigation controller should be added to your initial view so that it can control all subsequent screens. Select your initial view in the project outline. Click Editor → Embed In → Navigation Controller. You should see a gray navigation bar appear at the top of the screen you added the controller to.

Add a title to the navigation bar. Click the Navigation Item underneath the view controller you assigned it to. Open the Attribute Inspector and type the title of the current screen in the Title field. Add a navigation button. Open the Objects library if its not already open and find the Bar Button Item. Click and drag it to the navigation bar. Typically, buttons that move you “forward” in the app are placed to the right, and buttons that move you “back” are placed to the left. Give the button a property. Buttons can be configured to have specific properties that make them easy to adapt to the circumstance. For example, if you are creating a to-do list, you’ll want 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 change to a “+” logo.

When you release the mouse button, the Action Segue menu will appear with a list of options. Choose “Push” to use the push transition when moving between screens. You can also choose “Modal”, which will open the screen as a self-contained action as opposed to a sequence. If you use Push, a navigation bar will be added automatically to your second screen and a “back” button will be automatically created. If you choose modal, you will need to manually insert a second navigation bar as well as add a “Cancel” and “Done” button (for a to-do list; the labels of your buttons will change depending on the needs of your app). “Cancel” and “Done” buttons can be created the same way that you created the “Add” button. Simply select “Cancel” or “Done” from the Identifier menu in the Attribute Inspector.

You can use your navigable interface prototype to help you hire a developer. Having a working interface will make it much easier to explain what you need on the coding side of things.

Debugging can be a very time consuming and tedious time for you. If you don’t give up and persevere, in time you will get better at it. You will start to recognize the errors, track them down quickly, and even expect them on occasions. One common mistake is releasing an object from memory more than once. Another is forgetting to allocate memory and initialize an object before trying to add or assign to it. With each app your errors will become fewer and fewer.

With Device and Debug selected as before, choose Run → Run with Performance Tool → Leaks. This will launch Instruments and start the app on your device. Go ahead and use the app as normal. It will seem to freeze periodically as Instruments records and analyzes your memory usage. Any leaks will result in a red spike in the Leaks timeline. The source of the leaks will be displayed in the lower half of the screen. Double clicking on the leaked objects will attempt to take you to the responsible code or clicking on the little arrow in the address column will show you the leak history. Sometimes where the leak is detected is not necessarily where it originated from. If you get really stumped, try by process of elimination. Comment out and/or carefully bypass areas of your code and run it. Sometimes you can narrow down the general area and then eventually home in on the responsible line. When you know where it is, you can fix or rewrite it. Remember, using Google can often provide you with the quickest direct links to internal Apple forums or documentation that deal with your issue.

External testers can provide a lot of feedback that you wouldn’t expect. This can be especially useful if you have a complex app. In order to authorize tester’s devices, you will need each device’s UDID number. Choose Device from the drop down list and press the “Build” icon. In the Finder, navigate to your project’s folder and look for the “Ad-Hoc-iphoneos” folder. Inside there will be an app. Copy your “AdHoc. mobileprovision” certificate you got from the iOS Dev Center into the same folder. Select the app and the certificate and zip them up. This archive can be given to your external tester. You will need to create a separate archive for each Ad-Hoc certificate. [5] X Research source

In order for new apps to pass Apple certification, they will need to be optimized for iOS 8 and the Retina display.

Fill out the forms providing your app description, keywords, support site, category, contact email, copyright etc. Fill out the Rights and Pricing forms. Have your iTunes artwork ready. You will need a large 512x512 vector icon, as well as some screenshots of your app. Screenshots can be grabbed from the iPhone simulator using Command + Shift + 4 and dragging the cross-hair over the area. Make sure they are 320x480 for iPhone. Screenshots are a very important part of marketing your app, so make sure that they show the most important parts.

Install the Application Uploader tool and launch it. The first time you run the program, it will ask for your iTunes login information. The Application Uploader tool will check your iTunes Connect account and find any apps you are ready to upload binaries for. They will be displayed in the drop-down menu. Select the one you want, choose the Distribution zip you created earlier and upload it. The uploader will check some internal stuff within the bundle and will return an error if it finds anything incorrect, such as an incorrect version number, missing icon etc. If everything is fine, it will upload the zip and finish.

You can send free copies to reviewers, who will then write about your app on their website or review it on their YouTube channel. If you are able to get it in the hands of popular reviewers, this can lead to a lot of sales.