These are exciting times for professional developers who are into creating apps for the iOS platform. The iOS 9 platform has been launched, along with Swift 2 and, of course, Xcode 7. If you wish to make apps for Apple Watch – there’s news for you too, for the watchOS 2 platform is already gaining in popularity among developers worldwide. It would be a folly to assume that simply jumping on the iOS development bandwagon would generate hefty profits though – for there are well over 272000 iPhone app developers worldwide – and the competition is, and will remain, fierce. Here are a few useful tips that would make coding for iOS 9 apps that much easier:
- Declare Constraints in the new way – The new Apple mobile platform has made declaring constraints much simpler – thanks to the developer-friendly ‘NSLayoutAnchor’ API. For the X and the Y axes, there are different subclasses in the new API, which also optimizes the generics present in Objective-C and Swift programming languages. For ensuring the validity of the constraints, the built-in type checkers of the API are used (the checking process is static).With the lack of warnings, debugging was a lot more complicated earlier – and iOS 9 is a welcome relief from all that.
- Do not forget 3D Touch – If you do, you will virtually be passing up a chance to add that additional touch of realism and excitement to your 3D gaming apps. 3D Touch is one of the most interesting new features in the newly-released iPhone 6S – and it opens up the opportunity for mobile app developers to customize their applications in a smarter, more user-friendly, and engaging manner. Integrating this feature in apps is fairly easy, and 3D Touch can (in fact, should!) be used for sketching or drawing-based apps too.
- Take advantage of the new multitasking features – This is particularly important if you are planning to make apps for the iPad Pro (which, incidentally, arrives in November). You need to make sure of two things: firstly, find out whether your app remains properly visible in split-screen view. Also, users should be able to minimize your app (particularly important for, say, music playing apps) without any hitch. Split-screen multitasking will enhance app-using experience for iPad owners – your apps have to be tailormade for such usage.
- Be aware of the App Transport Security requirements – App Transport Security, or ATS, is yet another new feature that the iOS 9 platform has come with. A common mistake that many iPhone app developers can make is disabling ATS for all domains. This might seem to be the way to go if you are working on an app that is supposed to load random URLs – but keep in mind that all iOS apps are currently required to be HTTPS. It would be advisable to first set the value of ‘NSAllowsArbitrayLoads’ to YES, and then, activate ATS for certain selected domains. Spend some time on learning how to handle the ‘NSExceptionsDomains’ key, and you will be able to do this selective activation of App Transport Security with ease.
- Make your apps proactive – The new iPhones have the Proactive feature, so why not make your apps ‘learn’ from user-behaviour as well? Experts from the field of iPhone app development highlight the importance of tracking and monitoring app analytics, understanding the insights, and creating apps that are more ‘responsive’ – that ‘know’ what a particular user’s preferences are. It’s all about providing an immersive, intelligent user-experience.
- Factor in iOS 9’s searchability – The metadata in iOS 9 allows for enhanced search features, and offers deep linking options as well. For applications with plenty of searchable content, developers need to work with the innovative Core Spotlight framework. To make sure that your new mobile application remains fully compatible with Proactive and Handoff systems, integrating the ‘NSUserActivity’ support is an absolute must. On iOS 9 devices, apps are discoverable in Spotlight search – and if your app has search-compatible features, it might get automatically suggested to new users.
- And then, there’s watchOS 2 – Okay, let’s take a breather from iOS 9, and turn our attentions to WatchKit app development. The new watchOS 2 platform allows Apple developers to create apps, whose main logic resides within Apple Watch. Do some research on the all-new ‘Complications’ feature of the smartwatch (which will be probably of more importance to developers than ‘Glances’ or general ‘Notifications’). A lot more can be done with watchOS 2 than it was ever possible with the old WatchKit extension. Learn how to use Watch Connectivity resource, and start making better Watch apps!
- Move away from iOS 7 (gradually though) – iOS 8 has overcome its initial hiccups, and currently has an adoption rate of around 42%. More remarkably, iOS 9 is already present on over 50% devices. The focus of iPhone app developers has to be on making apps for these two platforms – and gradually drop the support for iOS 7 (and older) versions of the platform. Of course, there are popular open source libraries like ‘TZStackView’ and ‘PSTAlertController’ – which you can use for backporting your apps for the time being. You will ultimately have to start using ‘UIStackView’ and ‘UIAlertController’, for layouts and presenting action sheets with view controllers respectively. The former is only for the iOS 9 platform, while the latter works on iOS 8 and iOS 9.
- Swift is the ‘next big’ programming language – That is, if it isn’t already. The recently released Swift 2 comes with a wide range of coder-friendly additions. The ‘try/catch’ method of programming that Swift 2 supports ensures that the error-finding process is exhaustive. The ‘guard’ keyword, on the other hand, does away with the need for the manual unwrapping of variables (which is often necessary when coders need to exit variables whose values are nil). The ‘defer’ keyword is another helpful addition, while the revamped measuring strings make things easier, particularly for new iOS app developers.
- Don’t make your app a battery hog – This one is pretty much a no-brainer – but it is worth making a separate mention about this in the context of iOS 9 app development. A high point of Apple’s much-awaited mobile platform is its ‘low power mode’ – that allows users to squeeze out that bit more battery juice from their iDevices. During the mobile app testing phase, make sure that your application(s) do not cause excessive battery drain. Smartphone users are, understandably, concerned about the battery performance of their handsets, and they are certain to stay away from battery-killing software.
- Option of creating ‘view-like’ objects – Among the several new classes available to developers making apps for iOS 9 platform, ‘NSLayoutGuide’ and ‘UILayout Guide’ are extremely important. With these, you can entirely do away with the requirement of viewing screens extraneously. The Auto Layout constraint solver gets new ‘view-like’ objects – and working with the two classes together is a much simpler exercise than having to make empty views and then declaring constraints.
- Use the Storyboard Reference – If you have been making apps for iPhone for any significant amount of time, you are probably already aware of the messy merge conflicts that often crop up during storyboarding. The new iOS version offers a nice alternative to the old cross-storyboard technique of dividing the app user-interface (UI) into small storyboards. The ‘Storyboard Reference’ method, present in Xcode 7 and iOS 9, facilitates the merging of files, while retaining a single-storyboard navigation system. You can even remove some redundant code, in case you are working with several storyboards.
FINALLY, iOS 9 is out, Xcode 7 is already being used by the iPhone app developed community worldwide, there is considerable buzz about CloudKit – but one rule of thumb remains same. While submitting your app at the Apple Store, use crisp, detailed screenshots (that provide a clear idea of the nature/purpose of the app), and describe the application properly. Be careful while choosing the name of the app as well. What you might think to be unique can already have been used by other developers!
Working with the new Xcode version, with Swift 2, for the iOS 9 and watchOS 2 platforms is certainly a challenge every Apple developer worth his/her salt is looking forward to. Follow the above tips, and start churning out nice, user-friendly, successful apps.