Is Your App Ready For iOS 9?
iOS 9 came out about a month ago and is experiencing the fastest adoption rate ever for iOS. When users upgrade, they expect the apps they interact with to be able to use the latest-and-greatest capabilities. There are many new features in iOS 9 that you can take advantage of, but this post will cover the most popular and important ones in this release.
iOS 9 Compatibility
Even if you don’t plan to add iOS 9 features to your app straight away, you should rebuild your apps with the latest version of Xamarin. If you already have an app in the store that is targeting iOS 8 or earlier and have not yet rebuilt your app with Xcode 7 and Xamarin.iOS 9, this is the first thing you should do in order to support iOS 9.
Multitasking for iPad
iOS 9 offers new multitasking abilities on iPad with the introduction of Slide Over, Split View (iPad Air 2, iPad Mini 4, and iPad Pro only) and Picture in Picture.
In order to support multitasking for iPad, you only need to do the following:
- Build against iOS 9 (or higher).
- Use a storyboard (or .xib) file for your launch screen.
- Use a storyboard with Auto Layout and Size Classes to build your UIs.
- Support all four device orientations: Portrait, Upside-down Portrait, Landscape Left, and Landscape Right.
This is one of many moves Apple has made that makes it clear that they wish for developers to use Storyboards with Auto Layout rather than building views in a code-behind file. You’ll likely want to keep this in mind when building iOS apps. Of course, if your application needs to take up the entire screen because it’s a game, camera app, etc. there is a way to disable multitasking in your Info.plist.
App Transport Security
App Transport Security (ATS) enforces secure connections between internet resources and your app, either directly through your app or a library that it is consuming. In apps built for iOS 9 or greater, all connections using NSUrlConnection, CFUrl, or NSUrlSession will be subject to ATS security requirements and will fail with an exception if they don’t meet the requirements.
If you are in a hurry to get your iOS 9 app into the App Store and do not have time to ensure all of your connections are secure, you can opt-out of ATS by adding NSExcpetionDomans to your Info.plist file. It will look like this:
NSAppTransportSecurity NSExceptionDomains www.the-domain-name.com NSExceptionMinimumTLSVersion TLSv1.0 NSExceptionRequiresForwardSecrecy NSExceptionAllowsInsecureHTTPLoads NSIncludesSubdomains
For more information on opting out of ATS, visit the Xamarin Developer Center.
New to the iPhone 6S and 6S Plus, 3D Touch adds three different pressure-sensitive gestures to your iOS apps. Adding Pressure Sensitivity, Peek and Pop, and/or Quick Actions to your iOS 9 app will allow your users to interact with your app like never before. 3D Touch is not required for iOS 9, but users with the newest hardware will be expecting 3D touch in their apps, so you should consider adding it to your Xamarin app in order to improve your users’ experience and ensure your app stands out against competitors.
The new App Search APIs provide a few different ways for you to index information that lies within your application. You can index information privately for your user, allowing them to search spotlight for information in your application. You can also index your application’s content publicly on Apple’s public search API, which will allow for your application to be suggested to users who don’t have it installed. For example, if your app is for 7-Minute Workouts and a user is searching for that in Spotlight (or asks Siri) then your app may come up as a suggestion for him or her.
What content should you be indexing? Apple provides the following suggestions for that question:
- Any content viewed, created, or curated by the user from within your app.
- Navigation points and features within the app.
- Things like new messages, content or other types of items displayed by your app that have recently been downloaded to the device.
The easier it is for users to find what they are looking for, the more likely it is that they use your application, so be sure to think about how App Search could benefit your app.
To help make it as easy as possible for you to bring iOS 9 support to your app today, check out our free Xamarin University lightning lecture on updating your apps for iOS 9! For a full, detailed list of new features available on iOS 9, take a look at Introduction to iOS 9. Learn by doing? We also have plenty of iOS 9 samples for you to check out to see exactly how to implement some of the awesome iOS 9 features covered above. Adding iOS 9 capabilities to your Xamarin.Forms apps is easy as well! Craig Dunn has written a blog post detailing how to “iOS 9-ify” your Xamarin.Forms app.