An app extension allows you to fabricate custom functionality and content ahead your iOS app and make it accessible to users while they’re interacting with other apps or the system.
App extensions give users access to your apple app development functionality and content throughout iOS and OS X. For example, your app can now appear as a widget on current screen, offer photo filters within the Photos app, add new buttons in the Action sheet, or display a new system-wide custom keyboard. Use extensions to place the power of your app wherever your users require it most.
1. Action Extension
Action extensions permit users to transform content arising in a host app without leaving the app. You can, for example, edit images, change the text format and change the content itself, etc. At WWDC 2014, Apple revealed a demo of an Action extension that translated the text of a web page to another language without leaving Safari.
When you build a new action extension, Xcode creates a template which when used without modifying its configurations, will arise in every single action sheet by default. It won’t show any checking of the content types to decide whether or not it’s suitable for the host app.
You can make two types of action extensions: one with a user interface and one without a user interface. If you prefer the latter one, it will be restricted to Safari, but if you provide a user interface, then the extension can be made available to other apps that show that the extension supports the type of content to be transformed.
2. Audio Unit Extension
An Audio Unit app extension provides users a suitable way to build or modify audio in any iOS or macOS app that uses sound, including music production apps such as Logic Pro X or GarageBand.
The Audio Units extension framework is basically an enhanced approach to use audio apps like effects and virtual instruments within audio host apps, like Apple’s own GarageBand or other audio editing and merging apps. With the help of Audio Units, Apple let’s audio plug-ins show up as UI within another app, enhancing the workflow and making the experience much like what experts are used to on the Mac in apps like Logic Pro.
3. Broadcast Upload Extension & Broadcast UI Extension
ReplayKit was introduced in iOS 9 as an approach to give users a chance to record themselves using an app or game, then share it with friends. iOS 10 takes the entire process a step further by presenting live broadcasting of ReplayKit streams, and does so by developing on existing live streaming services: users install apps that support live streaming and ReplayKit lets you clasp into them.
So, let’s say you want to stream somebody’s game to a service like Twitch: you begin by creating a RPBroadcastActivityViewController to let the user select which streaming service they want to use. They will revert back a RPBroadcastController that can start, pause, and stop live broadcasts, and furthermore let you know whether broadcasting is currently happening through its isBroadcasting or not.
4. Call Directory Extension
Apps can build a Call Directory Extension to recognize and hinder incoming callers by their phone number.
Both recognizing and hindering of incoming calls is set up in the implementation of the beginRequest(with:) method of the CXCallDirectoryProvider subclass of Call Extension. This method is called only when the system launches the app extension.
When a phone accepts an incoming call, the system first advises the user’s contacts to locate a matching phone number. If no match is found, the system then advises your app’s Call Directory extension to locate a matching entry to recognize the phone number. This is beneficial for applications that keep up a contact list for a user that is detached from the system contacts, such as a social network, or for classifying incoming calls that may be initiated from inside the app, such as for customer service support or a delivery notification.
To provide recognizing information about incoming callers, you use the addIdentificationEntry(withNextSequentialPhoneNumber:label:) method in the implementation of beginRequest(with:).
5. Content Blocker Extension
In iOS, a Content Blocker extension personalizes the way Safari manages your content. The extension adapts your content by blocking loads, hiding elements and dismantle cookies from Safari requests.
Using a Content Blocker extension, you grant Safari with content-blocking rules that define how Safari treats content such as scripts, images, and pop-up windows. Your rules can cover Safari-downloaded content or keep Safari from requesting particular content from the server. By reducing the number of content Safari requests, your extension can decrease the amount of time required to load pages. When you obstruct content from loading, you decrease Safari’s memory usage and enhance Safari’s performance.
In addition to obstructing unwanted content, a Content Blocker extension protects privacy.
6. Custom Keyboard Extension
A keyboard extension switches the standard keyboard with a custom keyboard. Custom keyboards are enabled in the Settings app, under General > Keyboards. Once enabled, the keyboard is accessible amid text entry within any app, aside from when editing secure text fields and phone number fields. People can enable multiple custom keyboards, and shift between them at any time.
7. Document Provider Extension
The Document Provider extension permits an app to share its documents with other apps on a user’s device in a secure and timely manner. If you have ever used the Document Picker, you might have appreciated all the apps in the Locations section.
The Document Provider extension performs as the link between the files that your app handles and other apps on the user’s devices. It lets different apps import or open the files, downloading and uploading them from your server as required. Apps can also export or move their documents into your extension’s shared repository.
The Document Provider extension comprises of two separate parts: the Document Picker View Controller extension and the File Provider extension.
8. iMessages Extension
These app extensions permit developers to add new functionality directly to the Messages app in iOS 10. Users will soon be able to play games, exchange money, send videos, or make restaurant reservations all within the context of their existing iMessage conversations. Mobile App Developers can now build their own different types of apps, that vary from sticker packs to fully interactive interfaces which generates inline iMessage content.
iMessage apps work similarly as extensions. If you already have an app and need to provide iMessage functionality, you won’t require making a whole new app. You can just plug in the iMessage functionality and submit to the App Store. There’s likewise going to be a mini version of the App Store, particularly for iMessage apps, incorporated right into the Messages app. The user will be able to browse all apps compatible with iMessage and install them – right at the spot.
These app extensions are incredible features in iOS app development that apps should take advantage of. In this article we, as a mobile app developers, have emphasized some of the key extensions in app. And for further more app extensions, let’s get in touch with the upcoming article.
If you have any comments or questions, feel free to contact us on “[email protected]”.