iOS 9 and What It Means for App Developers
While for consumers iOS 9 represents evolution more than revolution, the system brings some significant changes. Most of these are new features that you can use to enhance an app, but some changes are mandatory for all apps.
iOS 9 adds a new set of benchmarks called App Transport Security, which all apps must meet to fully support the system. Among the key requirements are using SSL connections only. Apple says all new apps should do this from the start, while existing apps should use a secure connection wherever possible, with developers immediately making plans to implement 100 percent secure connections. Failing to do so could lead to failed connections that harm ad revenues. Any new app submitted from next year on must support IPv6.
All iPads running iOS 9 now have the ability to display two apps at once in a Slide Over and Picture in Picture mode, while the iPad Air 2 also supports a Split View mode. This is an automatic feature, so app developers don't need to explicitly support it. However, Apple recommends two points to make sure your app performs well in such modes: using memory efficiently (if the iPad is overloaded in a dual view, it will quit the app using more memory) and using Apple's Interface Builder Preview to check the app looks good in the various views.
iOS 9 adds a 3D Touch control, which lets users apply varying levels of pressure, both on home screen icons and within the app, to give a range of different input commands. It's up to you whether and how you take advantage of it, and Apple provides several APIs to make the most of the feature.
The system now has a feature by which the main iOS Search tool (in Safari and Spotlight) can search within apps. It's relatively simple to change your app to make it searchable, and Apple has a special programming guide. One key point is marking up which searchable data within your app should remain solely on the device to maintain user privacy.
A new GameplayKit completely overhauls what's possible in a 40iOS game, including support for randomization tools and artificial intelligence for "player vs. machine" games.
This is a new feature that lets you mark up the code of your app to distinguish between essential components and those that offer additional, non-core benefits. This lets users on limited data connections start using the app after a minimal download and then complete full installation later.