App extensions increase your impact-ios8/os X v10.10 Application Extension Programming Guide

Source: Internet
Author: User
Tags notification center



When iOS8.0 and OS X v10.10 come, a whole new concept comes to our eyes: Application extensions. As the name implies, the application extension allows developers to extend the functionality of the application, and its fundamental role is to enable users to quickly and easily understand the application's information when using other applications through application extensions. You can develop an application extension to perform certain tasks that can be performed in various situations when the user uses the extension. For example, you've developed a sharing app extension that allows users to quickly share what's currently viewed on your community site. For example, you have developed a real-time display of the current score of the game extension, then the user can be in the notification center of the day notice to see the game score. You can even develop a custom keyboard that allows users to replace the system's own keyboard.

Types of application Extensions

iOS and OS X define several types of application extensions, each of which corresponds to a display area in the system, such as sharing, notification hubs, keyboards, and so on. We make these areas an extension point. When you develop an application extension for an extension point, there is a corresponding API and the policy to follow. It is also important to note that when you develop application extensions for an extension point, the functionality of the app extension must conform to the features of that extension point.

Table 1-1 lists the extensibility points in iOS and OS X and lists examples of applications that correspond to extension points.

Extension points Application Extension Example
Today's notifications (iOS and OS X) Quickly view or process tasks in the Notification Center's Today notification. (Application extensions in this extension point are called widgets)
Share (iOS and OS X) Share Web content or other content with others.
Action (iOS and OS X) Process or view information in other apps.
Photo Editing (IOS) Edit a photo or video in the Photos app.
Finder (OS X) The file synchronization information is displayed directly in the Finder, and so on.
Text Management (IOS) Provides a text library for viewing and managing files.
Custom keyboard (IOS) Used to replace the keyboard that comes with the system.

Because the system defines extension-specific areas, when you develop an application extension, its functionality applies to all of these extension points listed. For example, if you want to develop an app extension that shares information, you can only choose to share extension points, not the today's notifications or action extension points.

Important: The application extensions you develop can only be satisfied with one extension point, and you cannot develop a generic application extension to meet all the extensibility points.

Xcode and the App Store help you create and submit app extensions

App extensions are different from apps, although you need to develop app extensions based on apps, but each app extension is a binary file that runs independently of your app.

When you want to create an app extension, you need to create a new target in your project. As with other target, the extension target packages the setup information and related files under the products file to generate a package with the extension. Appex. You can create multiple extension target in your app project (an application can contain one or more app extensions, which is called calling an extension application).

The best entry point for developing an application extension is to develop using an extension template for all the extensibility points on all the platforms that Xcode provides. Each template contains the specific implementation files and related settings for the extension point, and generates a standalone binary file to add to your application.

Note: In iOS, apps that contain extensions must provide functionality outside of an extension. Without this hard-to-use requirement in OS X, an app that contains extensions does not require an additional feature to be provided. www.cgzhw.com Game Programming Network is a very good technical site.

When you submit an app that contains extensions to the App Store, users simply download and install your app, and your app extensions are installed automatically.

When app extensions are installed, users must first open them. Typically, a user can use a corresponding app extension based on the task situation currently being handled. For example, if your extension has the "Today" notification enabled, the user can edit the "Today" view in the Notification center to add your extension. In other cases, users can use "Settings" in IOS or "System Preferences" in OS X to enable and manage extensions.

Users experience different application extensions in different situations

While the capabilities of each type of application extension are different, they have a common denominator in user experience and how they operate. If you're going to develop an app extension, it's important to understand what the user's favorite way of experiencing is in different extensibility points. The highest level of application expansion is speed, fluency, focus and a single task.

Usually the user opens the app extension through an interface provided by the system. For example, if a user wants to use a share extension, they need to choose to open it through the system-provided share button in the application. An app extension must provide an icon for the user to select and identify, and typically, the app extension icon is the same as the application icon.

While most application extensions provide some custom user interfaces, the general user will not see your custom user interface unless they enter the application extension. When the user enters the extension, your custom interface can bring the user's line of sight and mind into the new context. Because users can identify the extensions that you develop in the app, they will favor your extensions when your extensions are unique or hit the user's inner needs. When the user realizes that the extension is actually a standalone entity, they can choose to remove or deactivate an extension that is not experienced or poorly functioning.

To make the user smooth transition to your application extension, you need to weigh the custom interface with the style of the extensibility point interface. For example, the best way is to make your notification extension look like a native widget in the notification center, or, for example, a photo editing extension, you should fully follow the photos application interface in iOS to design an extended interface.

Note: Even if your application extension does not have a custom user interface (excluding icons), the user still knows that the extension is from a different app than the current app, as it can be determined by activating the extension or by extending the functionality.

App extensions increase your impact-ios8/os X v10.10 Application Extension Programming Guide

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.