Apple has always been introducing innovative versions for its operating system iOS. The latest to join this list is iOS 8. Although this iOS version is equipped with features that make room for creation of brilliant applications, recently Apple has announced app extensions which have added a tint of exclusivity to the operating system. These extensions have come as a sweet surprise for app developers who’ve always wanted to extend the functionality and content of a single app beyond boundaries. Keep on reading to know more about the app extensions that have been released for the convenience of iOS 8 users worldwide.
2 Major fixes allowed by iOS8 App extensions
Unnecessary duplication of data between apps created by the Open in system and the unavailability of alternative keyboards to Apple are two major limitations of iOS that are being care taken of by the innovative app extensions.
An Overview of App Extension Life Cycle
An app extension is basically a specialized binary that is delivered through a containing app. Thus, an device containing an app is all that is required for effectively providing add-on functionality to the extension. In contrast to this, with Mac OS X, any such requirement of an iOS containing app is banished.
App extension life cycle is totally unrelated to the its respective containing app and comprises of the following 4 stages:
- Users select an app extension
- System launches the chosen app extension
- The chosen app extension runs
- System kills the app extension under focus
Here’s a look at the extensions launched for the iOS8:
[icons icon=”check” color=”#0a0a0a” size=”10″] Share– This is an extension that enables you to share content with other apps and numerous sharing websites.
[icons icon=”check” color=”#0a0a0a” size=”10″] Today– This is a widget that lets you receive a quick update regarding the tasks done in a single day. You can even perform a quick task in the Today view of the Notification Center.
[icons icon=”check” color=”#0a0a0a” size=”10″] Document Provider– This is an iOS 8 extension that provides access to the file repository and allows you to manage it in a flawless way.
[icons icon=”check” color=”#0a0a0a” size=”10″] Action– This is an extension that allows you to view and even manipulate content available within the context of another iOS app.
[icons icon=”check” color=”#0a0a0a” size=”10″] Photo Editing– This is yet another interesting iOS 8 extension that allows you to edit a photo or video within the iOS 8 Photo app.
[icons icon=”check” color=”#0a0a0a” size=”10″] Custom Keyboard– This is an extension which when installed replaces the traditional iOS system keyboard with a custom keyboard.
[icons icon=”check” color=”#0a0a0a” size=”10″] Finder– Especially developed for the OS X users, Finder allows you to present information about the file sync states.
Choosing an appropriate extension is crucial
Since each app extension point is associated with specific APIs and usage policies, it becomes quite essential for the developers to choose an appropriate extension point for the functionality they intend to provide via their iOS app. For example, a keyboard extension by default has no network access and hence cannot share a container with the respective containing app. This is a major limitation and can be easily lifted by configuring the extension properly. Moreover, it also becomes necessary for the developer to abide by the networked keyboard guidelines that are available in the App Store Review Guidelines as well as the iOS Developer Program License Agreement.
Running an app extension in a restricted sandbox is highly beneficial
It is interesting to note that each iOS app resides in its own sandbox. As one of the major cornerstones of Apple’s security strategy, sandbox plays a vital role in limiting the app’s access to files, network resources, preferences, hardware etc. In other words, the sole goal of sandbox is to limit the possible damage that a compromised app can cause to the entire system. By making the app extension run in a highly restricted sandbox, it becomes convenient to mark the unused APIs with an unavailability macro such as: NS_EXTENSION_UNAVAILABLE. This will cause a failure at the link time.
All the newly introduced app extensions have created a buzz among iOS developers. These extensions have created a visible impact on the iOS 8 operating system, offering more features and functions that can aid in developing plenty of cool stuff for the iPhone users.
Talking about security, the above mentioned app extension limitations ensure that your iOS app is protected against any attack from hackers or viruses. All in all, if you’re inclined on enhancing the security and features of your iOS app then choosing from the explained collection of app extensions is what you can do to achieve faster results.
Hi, my name is addison cohen. I am a programmer and tech savvy professional. Being consistence with my domain, I worked with one a custom iOS app development company. I can be one the professional iOS programmers for hire if you are looking for any assistance.