App Extensions

App Extensions

App extensions give users access to your app’s functionality and content throughout iOS and macOS. For example, your app can now appear as a widget on the Today screen, add new buttons in the Action sheet, offer photo filters within the Photos app, or display a new system-wide custom keyboard. Use extensions to place the power of your app wherever your users need it most.

Types of App Extensions

Share

By providing more sharing options, iOS and OS X enable your app to share photos, videos, websites, and other content with users on social networks and other sharing services.

Photo Editing

Embed your filters and editing tools directly into the Photos or Camera app, so users can easily apply your effects to images and videos.

File Provider

You can now provide a document storage location that can be accessed by other apps. Apps that use a document picker view controller can open files managed by the storage provider or move files into the storage provider.

Document Provider

If you offer remote storage of a user’s iOS documents, you can create an app extension that lets users directly upload and download documents in any compatible app.

Audio

With Audio Unit Extensions, you can provide audio effects, sound generators, and musical instruments that can be used by Audio Unit host apps and distributed via the App Store.

Today

Your apps can now display widgets in the Today view of Notification Center, providing quick updates or enabling brief tasks — for example, posting updates on package deliveries, the latest surf reports, or breaking news stories.

Custom Keyboard

With iOS, you can provide custom keyboards with different input methods and layouts for users to install and use systemwide.

Actions

Create your own custom action buttons in the Action sheet to let users watermark documents, add something to a wish list, translate text to a different language, and more.

Finder Sync

Badge local OS X folders to let users know the status of items that are remotely synced. You can also implement contextual menus to let users directly manage their synced content.