Really Simple Guide to Apple iOS App DevelopmentUnderstanding the development process for developing Apple iOS Applications
When you are starting to look at Apple iOS App development, you will be used to using an array of Apps on a daily basis on your iPhone or iPad or Apple TV or Apple Watch. Whether this is the popular Apps such as Facebook, Sky News, BBC News, Trip Advisor, IMDB or another of your favourite apps available. What you may not be aware of is the amount of work required to build mobile apps for Apple devices so they work as seamlessly as you experience with these well-known branded Apps you use on a daily basis. Below is an outline of the various aspects, considerations, guidelines and requirements for developing iOS Apps for iPhones and more – All explained in a non-technical way which should help you to understand the work involved.
Choose Your Language
iOS Apps can be built using a several languages, primarily Objective C, Swift 1, Swift 2 or Swift 3. Without getting too technical, think of these as English, Spanish and Portuguese respectively. Spanish and Portuguese are similar, but significantly different.
Why is it important to get this selection right? It comes down to how future proof you want your iOS mobile application to be. As of recent times, Apple are recommending to go down the Swift route which they appear to be focusing on for the near future. So if your mobile application is being built from scratch in Objective C, then it’s likely that it is being built in soon-to-be obsolete technology.
When using any popular platform, you have no choice but to abide by their guidelines, also known as strict rules and restrictions. Apple has some of the strictest guidelines when it comes to mobile applications which can sometimes, shall we say, be a challenge to work with.
Once your iOS App is ready for submission to the Apple App Store, your app must comply with this seemingly endless list of ‘Guidelines’ as part of the App Store Review Guidelines– They aren’t guidelines, they are rules, they must be followed, no exceptions.
Before you get to this point for submitting your app though, it is recommended that your app also follows strict guidelines about how the app is actually designed. This is Apple’s iOS Human Interface Guidelines which cover topics including how people should interact with your app, the features available and how to use, the visual design, graphics that you can use, user interface bars/views/controls, extensions, technologies and even more. And likewise, there are even more guidelines depending on the device your app is going to work on, such as for OS X, watchOS and tvOS.
All in all – it’s a rather complex set of rules which need to be adhered to throughout every aspect of your iOS app to be sure to sail through Apple’s review process.
As with all technologies, Apple are continually updating their core software running on devices, the iOS Version. Think of this like your Windows 95, 98, 2000, ME, XP, Vista, 7, 8, 10, etc. Just like the software running on your personal computer, if you tried to install software designed for Windows 95 on a machine running Windows 10, it’s probably not going to work. The same is true when your app becomes obsolete if it isn’t updated.
What this means for your iOS App is that you need to keep your mobile app up to date at all times. When Apple release a new version of iOS, if this introduces new technology or removes older technology, it is likely that this will impact your mobile app in some way. Either by causing a few glitches or even completely making the app crash for all users and become unusable.
iOS apps require a continual investment to keep them up to date for your users. Particularly when your users are likely running a variety of iOS versions for those who haven’t updated to the latest version yet.
iOS App Submissions
Once you have completed your iOS mobile app and it’s time to release it to the world, firstly you are going to want to test this with your internal team before deploying this to the world to make sure any final bugs have been identified and fixed first.
To test your iOS app with your internal team, you can do this via the iTunes Connect interface which allows you to collaborate with internal teams simply, kind of. Anyone who is added to your organisation’s iTunes Connect account must be within your organisation, i.e. no 3rd party as they will be able to access your iTunes connect content as an organisation. This is not ideal due to the hardware, software and user role requirements when submitting iOS apps to the App Store, basically, Apple don’t make the process simple. Any Apps that are created need to submitted to Apple using a whole host of technical requirements and details which need to be done by an iOS developer. This is a developer who has the correct hardware & software setup on their machine which we’ll come on to in a minute. In summary, this entire process restricts who can and can’t submit Apps to the Apple App Store which isn’t very flexible unfortunately and means that for you as a client, it’s not straight forward for you to do this, virtually impossible unless you have a highly skilled technical team internally with the right hardware and software setup.
Back to testing though. When a 3rd party like ourselves builds an iOS for you, for us to share this with you to test via Apple’s official TestFlight software, this requires a review process by Apple. This is utter overkill, although is required unless using 3rd party systems which often aren’t quite as reliable. This means that Apple need to manually review the code within the App for quality before this is available to testers such as yourself as a client. And to add more time to this process, this approval process for the Test app can take from a few days to a week or so which can really delay a project. As a tester testing the app, you need to have the App TestFlight installed on your iOS device to then install the application to test.
Once everything is ready to push live to the world, you guessed it, another App review process from Apple which can take between a few days to a few weeks for them to complete.
This is really important to understand as you’re probably used to being able to change content on your website by just logging in and tweaking the text. In comparison to Apple, if you wanted to correct a spelling mistake within your App, then you’d need to go through the entire review process which could actually take up to a couple of weeks to push this live.
Hardware & Software Requirements
In typical Apple style, to develop Apps for iOS you require a fair amount of kit to develop iOS apps, all of which is Apple kit you’d probably not be surprised to hear. That means that if you’re a Windows user, then you need to purchase a bunch of Apple kit to be able to develop for iOS. At minimum you need a high performance Apple computer such as a MacBook Pro along with an iPhone too. Both devices need to be registered under your Apple Developer Account, which also requires a £79 / year membership fee to be part of. And all of this is required before you even begin to write one line of code!
Web Server Technology
Most good mobile apps today require a solid web server infrastructure in the background which power them. Due to space limitations on user’s devices and the dynamic content of most apps, the majority of data within apps is pulled directly from a web server or website in the background.
What this means is that your web server and your website technology needs to be able to cope with this level of functionality and speed. If your website is using outdated technology in any form, this is going to cause problems within your mobile app. Likewise, if you are paying peanuts for your web hosting technologies, this is going to impact your mobile application in the form of being dog slow for your users. For certain functionality within your iOS app, you may even require to build an entire server side management application to manage the content within your app itself. Not a small task.
Now we’ve finally got through the requirements, guidelines and setup required for iOS development, you can easily see how complex this actually is and hence why nothing is simple when it comes to developing apps for Apple.
Now we come onto actually developing iOS apps. Suffice to say that there are many options here to develop mobile apps, many good ways and also many bad ways. This is too complex to go into within this guide. If your app is built poorly, then this is going to have long term impacts in terms of what you can and cannot do within your app in terms of improvements. Make sure you are using a reputable agency to build your iOS mobile app to be sure that your app has been built to scale. All iOS development needs to be completed within Apple’s software Xcode which again has many versions which can conflict with many aspects depending on different versions running etc.
Notifications, Sensors and More
Beyond basic functionality, you may be looking for something more interesting such as pushing notifications to your app through the Apple Push Notification Service, again a requirement to do this, or even pulling data from the sensors on your device. This is where things get complex as not all devices have everything, which means that it is essential to use Progressive Enhancement development methods and lots of error checking throughout as you can never assume that something is going to be available that you are expecting. Which all means more work involved to check for everything.
Reporting, Analytics, In-App Indexing & Promoting
Once your iOS is live, you want to be sure that you can report on the usage accurately. While there are valuable statistics available for the number of people who are using your App within iTunes Connect, this data is quite limited. It is always best to set up and install Google Analytics / Firebase within your iOS app to provide a suite of data how your app is being used. This along with crash reporting software both within iTunes Connect and external systems such as Crashlytics / Fabric to gather as much information as possible.
Beyond this, you may want to encourage users searching for relevant content on Google to install your mobile app on their device and connect this with your website too through in-app indexing technologies. Then how about promoting your iOS app through Google Pay per Click Ads to increase downloads. Lots and lots of options at this stage to build on the solid foundations you have in place. Without these solid foundations, you can pretty much forget about any of this as it just isn’t going to happen.
All in all, iOS App development is quite a minefield and touches on many aspects of your business, website and web server technologies and more. It is extremely important to be using a reputable agency to build your iOS app to ensure that this is built correctly. Keep in mind throughout the process that the level of functionality that you see and use on the popular brands is often an enormous amount of work involved to implement something which may seem rather simple when you use this yourself, to the point where they likely have teams of people employed full time to be able to deliver this level of functionality. Developing iOS apps requires a very thoughtful process to ensure things go as smoothly as possible at all stages while working within extremely restrictive guidelines. Most important, be patient, the process can be much longer than you expect so plan for delays caused by the process everything has to go through.
Get in touch if you require support with bringing your brand to life through iOS App development.