As we have already referred iOS App Extensions in the previous article, let’s check out the rest of the App Extensions below.
1. Intents Extension
Cooperation with Sirikit occurs through your Intents extension, which is an app extension that you convey inside your iOS app bundle. You should already have an iOS app before you build an Intents extension. The Intents extension handles most communications with Sirikit, yet your iOS app needs to know about those communications and in some cases may have an active role in making them happen.
When adding an Intents extension to your iOS app, you must do the following:
2. Intents UI Extension
When you handle an intent, Siri and Maps often show the details from the response object your Intents extension produced in a standard interface. If you need to add your own custom content to the standard interface, you should give an Intents UI extension.
An Intents UI extension does not supplant the Intents extension that you use to manage intents. It is a different app extension that lets you personalize how your response to an intent is presented to the user. You can utilize a custom interface to demonstrate additional details or to consolidate your app’s branding which can provide a more regular experience for the user.
You can provide an Intents UI extension if you are holding intents in the following domains:
3. Notification Content & Notification Service Extension
i. Notification Service Extension
A Notification Service Extension basically captures definite remote notifications and enables you to deal with the contents of the payload, including downloading and representing remote media attachments, before displaying the notification to the user.
Please note that the URLSession downloads the media to short storage and affixes a .tmp file extension, which we need to eliminate so that the application can interpret the file type and represent it.
ii. Notification Content Extension
The UNNotificationContentExtension decorum gives the entry point for a Notification Content app extension, which illustrates a custom interface for your app’s notifications. You affirm this protocol in the custom UIViewController subclass that you use to present your interface. You create this sort of extension to enhance the way your notifications are presented, possibly by combining custom colors and branding or by incorporating media and other dynamic content into your notification interface. These are basically used to draw your own UI to display when your application receives certain push notifications.
4. Photo Editing Extension
A Photo Editing extension gives users a chance to edit a photo or video within the Photos app. After users verify the changes they make in a Photo Editing extension, the adapted content is accessible in Photos. Photos constantly keep the actual version of the content, too, so that users can revert the changes they make in an extension.
When a user picks a Photo Editing extension, Photos asks the extension if it can read the adapted data. If the app extension supports the adapted data, Photos provides the actual version of the asset as input to the editing session. After the extension reads the adapted data and reiterates the past edits, it can enable users to change or revert past edits or add new edits.
For example, if the adapted data implies filters that are applied to a photo, the extension applies filters to the actual asset and can let users change filter parameters, add new filters, or remove filters.
5. Share Extension
Share extensions that are introduced in iOS 8, give users an simple and convenient way to yield content with other entities, such as social sharing websites or upload services. With share extensions, users will now be able to bestow content to your service direct from within the app they are managing, be it Safari, Photos or other apps. This isn’t restricted to system applications. Any custom application that presents an instance of the UIActivityViewController class will have the capacity to see your sharing extension if you assembled your extension so that it can handle the file type provided by that application.
6. Shared Links Extension
Shared Links Extensions appeared with iOS 9 permits our app to embed content into the users’ Shared Links section of Safari on iOS or OS X.
iOS will call beginRequestWithExtensionContext(context:) on our extension and that will be our signal to run whatever code we need to load in the content we’d like to show in Shared Links, then pay it in the form of an array of NSExtensionItems.
7. Spotlight Index Extension
The Core Spotlight framework makes the data of an app accessible on the Spotlight, and consequently, bring some good results regarding an app along with any other results that the system returns. That’s quite impressive and innovative, as for the first time users can spot data for custom apps, not simply Apple’s, and interact with them. By saying that users can interact with the results associated with a custom app, it implies that not only the app gets automatically propelled when such a result record gets tapped, but developers are also given the power to manage users to particular view controllers that are most relevant and suitable for the data that were chosen on Spotlight.
From the developer’s point of view, coordinating the Core Spotlight framework and using the provided APIs doesn’t comprise of a difficult process. The “heart” of that process lies to the fact that developers have to “ask” iOS to index their app’s data, which must be described in a particular way prior to that.
By using the Core Spotlight framework it’s possible to make the data of any application searchable through the Spotlight. The key to doing that is to ask precisely from the Core Spotlight API to list our data so it can be found on searches executed by the user. But neither our app nor the CS API chooses what kind of data this is going to be. It’s our duty to prepare that data and provide it to the API in a particular form.
8. Sticker Pack Extension
Apple gives an approach to representing people in generous ways by providing stickers that can be used within their conversations on iMessage. Users can adapt sticker sizes, touch to send stickers in a thread, or peel and place them on top of bubbles, other stickers, and photos. Stickers require no coding to build. With just couple of steps in Xcode, you can transform your images into a sticker pack that’s ready to submit to the new App Store for iMessage.
It’s very simple to make sticker packs for the Messages app on iOS 10 using just a Mac, Apple ID, sticker images. All images are displayed to the end-user in a grid-based system on the device, with Apple also taking the opportunity in the iOS Guidelines to make some suggestions on how to best appeal device owners, including each image under 500KB in size.
9. Today Extension
Today Extensions is also known as Widgets. This enables you to manifest information in the Notification Center, which can be an awesome approach to give immediate and up-to-date information that the user is interested in.
Extensions created for the today’s extension point, the so-called widgets, are meant to provide simple and quick access to information. Widgets link to the Notification Center framework. It’s essential that you design your widget with an easy and focused user interface, because too much interaction can be a problem. Also, note that you don’t have access to a keyboard.
Widgets are expected to perform well and keep their content updated. Performance is a big point to consider. Your widget needs to be set rapidly and utilize resources wisely. Here, take a note that the system terminates widgets that use too much memory.
These app extensions are incredible features in top iOS app development that apps should take advantage of. In this article we, as a mobile app developers, have looked at each Extension in app. In the coming articles we will look at the development of extensions available for iOS, so stay tuned.
If you have any comments or questions, feel free to contact us on “[email protected]”.