Sneak Peak of iOS 10

What’s New in iOS 10

In August 2016, Apple came out with the iOS 10 version at the Worldwide Developers Conference and since then, the popularity of iOS 10 is on the rise.

The iOS 10 updates need to be integrated with your existing  and upcoming apps. I have  summarized the key updates, so that iOS users can get started with these right away.

Setup:

  • One needs Xcode 8 to build apps using iOS 10
  • Working with iOS 10 requires you to code using Swift 3 unless you specifically request Swift 2.3

 Features:

iMessage

  • First among the new iOS 10 features is updates to iMessage. With the Messages framework, you can build a standalone iMessage app, or an extension to an iOS app that lets users interact with your iOS app without leaving Messages.
  • For example, using iMessage, users can easily create and share content, add stickers, make payments and more, without leaving their conversations.
  • Furthermore, similar to Maps extensions, you can provide a custom user interface inside Messages by using theMSMessagesAppViewController
  • For Creation of interactive messages – i.e., messages that live inside a session that’s shared across multiple users, it can be updated as a group. Using MSSessionand MSMessage, users can collaborate to modify the same message multiple times.
  • MSMessagehas built-in support for expiring messages: just set shouldExpire to true to have the message deleted after a short while.
  • One feature you will particularly love is the new Xcode 8 Simulator, which has a developer mode. It lets you see both sides of the conversation, which makes debugging easier.

Animations

  • Although this feature was introduced in iOS 8, creating animations was a complex procedure.
  • The iOS 10 version has revamped it, making the process simpler and easier.
  • You now have much more minute control over animations, including the ability to pause, resume, stop, and work through animations for any of the following properties – positions, alpha, transform, and more.
  • All you need is the UIViewPropertyAnimatorclass, which lets you create reusable animations and trigger them whenever needed.
  • The animator acts directly on the views you specify. It can perform operations like startAnimation(), pauseAnimation(), fractionCompleteand more.

Speech Recognition

  • When it comes to iOS, people think speech recognition only in terms of Siri, however in iOS 10, speech recognition is much more than Siri.
  • iOS 10 has introduced a new Speech framework, which is an API for speech recognition. This is the same underlying technology used in Siri and Dictation.
  • There are four steps to adopt speech recognition in your app.
  • First– Provide a usage description using NSSpeechRecognitionUsageDescription in your app’s info.plist describing how you intend to use speech transcription.
  • Second– Request authorization using the SFSpeechRecognizerSpeech function. Recognition requires transmission of user’s audio over the Internet as the recognition doesn’t happen locally, but on apple’s servers. Therefore, it is mandatory to get the user’s authorization.
  • Third– Start speech recognition. Audio for the API can be provided from either pre-recorded files or a live source (like a microphone). SFSpeechURLRecognitionRequest lets you request transcription of an audio file at the mentioned URL. To recognize audio from a microphone we need to use AVAudioEngine to get a stream of audio buffers.
  • Fourth– Return the result – transcript ready for display or processing using SFTranscription.

Notifications

  • The rich notifications feature introduced in iOS 10 is a huge update for developers. It affects both Push and Local notifications.
  • You can now send rich media in a push notification, including images, GIFs, audio, and video clips. Including media in your push notification can increase the open rate and drive more engagement to your app.
  • With this new feature, users can take immediate actions without directly opening the app. Notification Actions empower the developer to deliver a push notifications experience tailored for their app. For example,with an events app, you could accept a calendar invite within the notification.
  • There are two new frameworks that allow developers to leverage more interactive and robust system notifications. This has also made it possible to have a unified API across iOS, watchOS and tvOS.
  • frameworkgives developers more control over the timing of their local notifications, which can now be displayed according to various time and location parameters. It gives you power to cancel the notifications before they are displayed and changed to an extent that they are no longer relevant.
  • For example, instead of 15 different notifications about cricket/baseball scores, just one notification that says, “Hey, since the last time you’ve looked at your phone, this is how the score has changed.”
  • iOS 10 also introduces framework, which, as you may have guessed, allows some basic controls over how your app’s notifications look and react to user input. As it is Apple, do not expect complete control; however, you can  build an app extension that can communicate with incoming notifications. This allows your app to serve up live content or visual displays directly within the notification.

SiriKit

  • Siri unlocks a new dimension of functionality in iOS 10, i.e.allowing third-party apps to integrate inline into the Siri voice assistant experience. In simple terms, SiriKit is Siri + Apps. It enables your iOS 10 apps to work with Siri, so users can get things done with your content and services using just their voice.
  • For iOS 10, the Siri API will only work with six kinds of applications: ride booking (think Uber), messaging, Photo Search (find photos and videos in a particular app), payments (‘Send $100 to John with PayTM’), VoIP Calling (say Skype) and Workouts (for starting health and fitness activities).
  • Following are the major steps involved in setting up Siri support for your application:
  • Speech, which is when your user is giving the app a command.
  • Intent, which interprets the command speech and matches it up with something that the application can do.
  • Intents come in two forms: graphical and non-graphical.
  • The non-graphical intents are useful when you want to hook right into Apple Maps – you do the processing, but you want Maps to display the results.
  • Graphical intents are called Intents UI Extensions, and let you extend the UI for Siri or Maps with your own interface design.
  • Action, which is when your app actually does the thing specified in your Intent
  • Response, where the user is asked to confirm that the command has been interpreted correctly and whether they’re sure they’d like to perform the specified action.

ReplayKit

  • Apple introduced ReplayKit with iOS 9, allowing apps to offer users the ability to record and share gameplay or screencast videos directly from within the app.
  • With iOS 10, Apple is introducing ReplayKit Streaming, allowing users to also live stream video of their iPhone screen .
  • ReplayKit provides the RPScreenRecorderclass to get user permission for recording and notifying Replay Daemon to start writing app’s data to a movie file. RPpreviewViewController class gives the users an interface where they can preview, edit and share the video that they created.

Xcode Improvements and minor tweaks

  • Xcode 8 includes everything you need to create amazing apps for iPhone, iPad, Mac, Apple Watch, and Apple TV. This radically faster version of the IDE features new editor extensions that you can use to completely customize your coding experience.
  • New runtime issues alert you to hidden bugs by pointing out memory leaks, and a new Memory Debugger dives deep into your object graph. Swift 3 includes more natural and consistent API naming, which you can experiment with in the new Swift Playgrounds app for iPad.
  • Xcode has come up with few welcome improvements. It gives an ability to use both Swift 2.3 and 3.0 at the same time. This means developers can upgrade to iOS 10 but also keep existing Swift code, and migrate to Swift 3.0 only when ready.
  • Xcode 8 gives developers the ability to preview devices with ease. Instead of thinking about design layout in an abstract way, they can now test the code on actual device sizes. Working with image literals is thus easier. All developers need to do is add the images to the project assets and they are immediately available as code. For instance if you have an image name welcome.png you can write like image = welcome. The welcome will also have a thumbnail so that developers know it is working.

We’re confident that the new iOS 10 feature insights will help you optimize your products to the newest operating system.

 Nitor’s Mobility expertise:

  • Our Mobility practice helps you make the right choice of platform (point vs. mobile enterprise application platform), hardware, software, and applications.
  • Our team guides you on accelerating the return on mobility investments and managing upfront capital expenditure, while reducing the operational expenses of licensing, upgrade and support. Nitor develops native, web and hybrid mobile applications across platforms.
  • Our applications that have gained mass acceptance include mobile analytics and reporting apps, store locators, financial advisory services, and business process apps with a line of business integration.

See more at: http://www.nitorinfotech.com/isv-services/enterprise-mobility-solutions/