IOS9 Official documents

Source: Internet
Author: User
Tags deprecated home screen uikit spritekit

IOS9 has been released for some time, I also recently upgraded the Xcdoe 7.0 official version, after the upgrade only to find a lot of wonderful changes, so look at some of the official documents explained, by the way a number of translations, and share with you (reproduced please specify the source).

ipad Multi-tasking enhancements

IOS9 has enhanced multitasking for ipad users such as sliding (Slide over), Split view, and picture-in-pictures. This slide-over feature allows users to select a minor app and quickly interact with it. The Split view feature allows users to open two apps side-by-step. The PIP feature (also known as PIP) allows the user to watch a video of a window floating above the app on other screens.

you have no way to help users decide when they want to display two apps at the same time on the screen, because it's all user behavior that you can't control. Nonetheless, there are a few things we need to do to make sure that the user has a perfect multi-tasking experience.

1. It is very important that your app must make reasonable use of the system resources so that he can effectively run an app while still running another app with normal. Depending on the memory pressure, the system pre-exits the app that consumes the most memory. For some questions about applying energy, see the iOS App Energy consumption guide.

2. If you are not ready to embrace the changes that iOS 9 brings, be sure to use sizeclasses to make your app look good in Split-screen view.

To learn more about how your app should respond to users ' split views and swipe, refer to ipad multitasking enhancements.

As with split view, swipe, the user controls whether they are looking at the video while starting another application to run in a PIP form. If video playback is not the primary feature of your application, then please support PIP.

When the user chooses Pip, use the Avkit or AV Foundation API. Media Player frames defined in the video playback class that do not support PIP will be deprecated in iOS9. To learn how to prepare an app for PIP video playback, see the PIP Quick Guide.

3D Touch

3D Touch brings more interactive dimensions to the user. On a supported 3D touch device, users can press the app icon from the home screen to quickly select app-specific actions. In an application, one can use the press action to get a preview of a project, open the item in a separate view, and respond to the action.

IOS9 provides the following 3D touch APIs:

1. The Home Screen Quick Response API provides an add shortcut to your application icon, predicts user behavior and provides faster human-computer interaction (see Uiapplicationshortcut * API, e.g. Uiapplicationshortcutitem).

2. The Peek and pop APIs in Uikit make it easy to get extra content in your app (see uiviewcontrollerpreviewing, Uiviewcontrollerpreviewingdelegate and the new method in Uiviewcontroller). Use the Peek Quick Response API to provide a press-enabled replacement application Touch-and-hold method (see Uipreview * APIs such as uipreviewaction and Uipreviewactionitem).

3. Web view Peek and pop API, you can enable the preview information for HTML links (see Wkwebview).

4. The Force property in Uitouch allows you to add custom force-based to your app's user interactions.

No matter which APIs you use, your app must check the availability of 3D touch at runtime. To learn more about supporting 3D touch, see Using 3D touch on your iphone. For examples of using 3D Touch APIs in your application, See the Uiviewcontroller previewing API used in Uiapplicationshortcutitem and viewcontrollerpreviews in Applicationshortcuts.

Search

Search gives users a better way to access your app's internal information in iOS 9, even if it's not installed (installed). When your content is searchable, users can access the activity (activities) and its depth content (contents deep) through Spotlight,safari,siri in your app. Use the relevant API of the search to determine the content index (Indexed), that is, what information is displayed in the search results, and the user gets redirected results from your app or website.

Consolidating your search in iOS 9 is simple: you don't need any prior experience when performing a search, and most developers find that it takes only a few hours to make their content universally searchable. To find out how to make your app and website content searchable, see the App Search Programming Guide.

privacy is an important feature when using search in iOS 9. Giving users the best search experience while protecting their privacy data, IOS 9 provides the following available indexes:

1. Private device index (A private On-device index). Each device contains a private index that is not shared or synchronized with Apple devices. When you create a project that can be indexed on the user's device, it is guaranteed that only that user can view the search results.

2. Apple's server-side index (Apple ' s server-side index). The server-side index stores only the public data that you have properly identified on the site.

IOS 9 provides the following APIs to help you search for content:

1. The Nsuseractivity class includes new methods and properties that help you build active content that users perform such as project indexing, such as accessing a navigation point or creating and viewing content. Almost every app can use the nsuseractivity API to provide useful content to the user.

2. The Core Spotlight Framework (corespotlight.framework) provides APIs that can help you add specific content of your app to the index on your device and enable deep links to your app. To learn more about the core Spotlight framework API, see Core Spotlight Framework reference.

3. Web markup can make your related Web content searchable and help you enrich your users ' search experience. To learn how to mark your website, see tag page content.

In addition, the Smart app Banners provides users with an easy way to link directly to your app (learn how to use the Smart app Banners, see app and smart App Banners).

4. Universal Link (Universal links) allows you to replace the custom URL scheme with a standard HTTP or HTTPS link. Universal links apply to all users: if the user has installed your app, the link takes them directly to your app, and if they don't have your app installed, the link will open your site in Safari. To learn more about universal links, see General links.

Game

IOS 9 includes some technical improvements that make it easier to implement your game graphics and audio features. Take advantage of high-level frameworks that are easy to develop, or leverage the performance of your GPU with new underlying enhancements.

Gameplaykit

the Gameplaykit Framework (gameplaykit.framework) provides the basic technology for building games. Use the gameplaykit mechanism to develop a game and work with any advanced graphics engine, such as Scenekit or Spritekit, to build a complete game. The framework provides building blocks for creating a modular architecture of the game, which includes:

1. Random Tools (randomization tool) are used to add an unpredictable game that does not affect debugging.

2. The Entity-component (Entity-componen) architecture is designed for better game code reuse.

3. State machines can avoid complex program code in the game system.

Gameplaykit also includes standard implementations of common game algorithms, so you can spend less time reading official documents and spending more time researching your game mechanics than wasting time on other repetitive tasks. The implementation list of several standard algorithms in Gameplaykit is as follows.

1. Turn-based AI fights the upper and lower limits of the game (Minmax).

2. Proxy simulation (agent simulation), let you describe the high-level objectives of the conditional motion behavior to automatically follow.

3. The rule system is used to build the logic, fuzzy inference, and spontaneous behavior of the data-driven (Data-driven) game.

To learn more about Gameplaykit, see the Gameplaykit Programming Guide and Gameplaykit framework reference, as well as the Gameplaykit sample code:

1. fourinarow:using The Gameplaykit Minmax strategist for opponent AI.

2. Agentscatalog:using the Agents System in Gameplaykit.

3. Demobots:building a cross Platform Game with SpriteKit and Gameplaykit.

Model I/O

The model I/O Framework (modelio.framework) provides a system-level 3D Model assets and related resources. You can use this framework to handle several types of tasks, such as:

1. Import the mesh data, material description (Material descriptions), lighting (Lighting), and camera setting (camera Setting) and other scene information from the file formats used by popular editing software and game engines.

2. Processing or producing such data, for example, baking (Bake) lighting information into a mesh, or creating a texture of the program sky.

3. Render the Metalkit,glkit,scenekit API, which effectively loads the asset data into the GPU's buffer.

4. Export processed or generated asset data in any file format.

To learn more about model I/O, see model I/O framework reference.

Metalkit

The Metalkit Framework (metalkit.framework) provides a set of practical methods and classes that reduce the work required to create metal apps. Metalkit provides three key areas of development support:

1. Texture loading helps your app to easily and asynchronously load textures from various sources. Supports common file formats such as PNG and JPEG, as well as specific texture formats such as KTX and PVR.

2. Model processing provides metal-specific functionality that can easily be interfaced with model I/O resources. Use these highly optimized features and objects to efficiently transfer data between the model I/O grid and the metal buffer.

3. View management provides the implementation of the metal view standard, which significantly reduces the amount of code required to create a graphical rendering app.

To learn more about the Metalkit API, see the Metalkit Framework reference, more basic information about Metal, see Metal Programming Guide, Metal Framework reference, Metal coloring Guide

Metal Performance Shader

The Metal Performance Shaders Framework (METALPERFORMANCESHADERS.FRAMEWORK) provides highly optimized compute and graphics shaders that are easily and efficiently integrated into your Metal app. These data parallel shaders (Data-parallel Shaders) have been specifically tuned to take advantage of the unique hardware advantages of each metal supported iOS GPU.

With the metal performance shader class, you can achieve the best performance for all supported hardware without having to update your shader code for a specific iOS GPU. Metalperformanceshader objects are perfectly integrated into your metal app and can use metal resource objects such as buffers and textures.

The common metal Performance Shaders framework includes:

1. Gaussian blur (Gaussian Blur)--mpsimagegaussianblur.

2. Image histogram (images histogram)--mpsimagehistogram.

3. Sobel Edge Detection (Sobel edge detection)--mpsimagesobel.

Metal new Features

The Metal framework (metal.framework) adds new features that make your graphics rendering apps look great and have higher performance. These features include:

1. Improved metal coloring language and metal standard library.

2. Compute shaders can now write a wider range of pixel formats.

3. Add private and deep template textures to match OS X.

4. Add depth clamping and independent front and back template reference values to improve shadow quality.

SceneKit new Features

The new features of the SceneKit Framework (scenekit.framework) in iOS9 include:

1. Support for metal rendering. See the Scnview and Scnscenerenderer classes for metal high-performance rendering on supported devices.

2. New scene editor in Xcode. Build games and interactive 3D apps in less code and less time under the Xcode New scene editor (for example code download fox:building a SceneKit game with the Xcode Scene editor).

3. Locate the audio. See the Scnaudioplayer and Scnnode classes, which automatically track the audience position in the scene to increase the audio effect of the space.

For more details and new features, see the Scenekit Framework reference.

SpriteKit new Features

The new features of the SpriteKit Framework (spritekit.framework) in iOS9 include:

Support for 1.Metal rendering. Metal rendering is automatically used in support of metal devices, even if you use a custom OpenGL es shader.

2. Improve the scene editor and add a new action editor to Xcode. Build games and interactive 2D apps in less code and less time (related sample code download demobots:building a cross Platform game with SpriteKit and Gameplaykit).

3. Camera nodes (that is, Skcameranode objects) make it easier to create scrolling games. Simply place the camera node into your scene and set the camera's properties.

4. Locate the audio. Learn how to add spatial audio effects and automatically track the location of listeners in your scene, see the Skaudionode class reference.

For more details and new features, see the Spritekit Framework reference.

App Slimming (app thinning)

Apps that help you develop different platforms provide an optimized automated installation. Application slimming includes the following:

1. Slicing. Include the asset catalog and tag a platform with a tag that allows the App store to install only.

2. Load resources on Demand (On-demand Resource). The host allows additional content to be stored in the itunes App Store app to get the required resources using asynchronous download and installation. Learn more about this technology and see the on-demand resource guide.

3. Bitcode. When we submit a program to the App Store, Xcode compiles the program into an intermediate representation (Bitcode). The App Store then compiles the botcode into an executable 64-bit or 32-bit program.

To learn more about app slimming, see app Slimming (IOS, WatchOS).

Supports right-to-left (RTL) languages

iOS 9 brings full support from right-to-left languages, which makes it easier for you to provide a flipped user interface. For example:

1. Standard Uikit controls are automatically flipped to the right-to-left context.

The 2.UIView definition Semantic content property allows you to specify how a particular view should appear in a right-to-left context.

3.UIImage adds the Imageflippedforrighttoleftlayoutdirection method, which makes it easy to flip the image programmatically at the appropriate time.

To learn more about the user interface for flipping, see support for right-to-left (RTL) languages.

Application Secure Transfer (ATS)

Enforcing the use of application secure Transport (ATS) is a best practice for secure connections between applications and the backend. ATS prevents accidental leaks, provides safe default behavior, and is easily accepted. This is also enabled by default in iOS 9 and Os X v10.11. Whether you are creating a new app or are updating an existing app, you should use ATS as soon as possible.

If you are developing a new application, you should consider using only a more secure HTTPS protocol. If you have an existing app, from now on you should use the HTTPS protocol as much as possible and make a migration plan for the rest of the application as soon as possible. Additionally, communication through the Advanced API requires the use of TLS 1.2 with forward secrecy (forward secrecy). If you do not do this, you will get an error. If your application needs to request an insecure domain name, you must specify the domain name in the Info.plist file.

Extension Point (Extension Points)

IOS 9 introduces some new extensibility points (an extension point that defines the usage rules and provides APIs to use when you create an application extension area). The specific approach is:

Network extension point:

1. Use the packet tunnel provider (Packet tunnel Provider) extension point to implement a client-customized VPN tunneling protocol.

2. Use this application Proxy provider (app proxy Provider) extension point to implement a custom client-side transparent network proxy protocol.

3. Use filter data Provider and filter control provider (filter Provider) extension points for dynamic, device-built network content filtering.

The extension points for each network require a special license from Apple.

Safari Extension Points

1. Use the shared link extension point to enable users to see the contents of the link in safari sharing.

2. Use the content block extension point to the Safari block list, which describes what you want the user to block on the Web page.

index maintenance Extension points to support the indexing of app data without launching the app.

Audio Unit extension points let your app provide instruments, sound effects, sound generators, these more used in like Garageband,logic, as well as other audio Units apps. The extension point also brings a complete audio plugin model for IOS , allowing you to sell your own audio Units on the App Store .

Like learn more about creating application extensions, see the App Extensions Programming Guide.

Contacts (Contacts) and contact interface (Contacts UI)

IOS 9 introduces the contact and contact UI Framework (Contacts.framework and Contactsui.framework), which provides a modern, object-oriented alternative address book and Address Book UI Framework For more information, see the Contacts Framework reference and the Contactsui framework reference.

Watch Connection

the Watch Connectivity Framework (watchconnectivity.framework) provides two-way communication between the iphone and paired Apple Watch. This framework is used for coordinating activities between your iOS app and the corresponding watch app. The framework supports Instant messaging (immediate messaging) of apps running, backstage, and other situations. For more information, see Watch Connectivity Framework reference .

Keychain (Keychain)

The keychain (Keychain) provides additional project protection options and a new secure enclave encryption key. The specific approach is:

1. New Access Control list constraints, allow creation of constraints only Touch ID or only password.

2. The new Touch ID is not valid for Keychain item constraints when the fingerprint is added or deleted.

3. Support app-provided Entropy Key Chain entry encrypt the option to use the app password access control list.

4. Supports the authentication context, which allows you to call the authentication Secitem Calls separately.

5. Support key generation and use of the Ksecattrtokenidsecureenclave attribute in secure enclave. It is important to note that obtaining these keys can be controlled by all the restrictions that are supported by the access control list.

Swift Enhancements

To learn more about the new features of Swift, see Swift Language.

Additional framework Changes

In addition to the big changes mentioned above, IOS 9 includes many other improvements.

AV Foundation Framework

the AV Foundation Framework (avfoundation.framework) adds a new Avspeechsynthesisvoice API, which enables you to identify the specified sound, rather than by language. You can also use the name and quality properties to get voice information.

Avkit Framework

The Avkit Framework (avkit.framework) introduces Avpictureinpicturecontroller and Avplayerviewcontroller classes, which helps you take part in PIP. For more information on PIP, see ipad Multi-tasking enhancements ahead.

CloudKit Framework

If you have a Cloudkit app, you can use the Cloudkit Web service or the Cloudkit JS JavaScript Library to provide users with the same data as a Web interface to access your app. You must have a database that has been created using the Web interface to implement fetch, create, update, and delete records (delete Records), Region (Zones), and subscription (subscriptions). For more information, see CloudKit JS Reference, CloudKit Web Services, CloudKit introduction.

Foundation Framework

the Foundation Framework (foundation.framework) includes the following enhancements:

1. API for an nsbundle resource that loads on demand (On-demand).

2. String files support context-sensitive (context-dependent) variable-width strings.

3. Nsprocessinfo API for power and thermal management.

HealthKit Framework

The HealthKit Framework (healthkit.framework) includes the following enhancements:

1. The new tracking areas supports areas such as reproductive health and ultraviolet radiation. Learn the new constant description feature (Describe characteristics), quantity (quantities), and other items, see HealthKit constant reference.

2. Support for new Bulk Delete (bulk-deleting) entries with tracking delete entries. For more information, please refer to Hkdeletedobject, Hkanchoredobjectquery, deleteobjects:withcompletion in the Hkhealthstore class:, DeleteObjectsOfType:predicate:withCompletion: And DeleteObjectsOfType:predicate:withCompletion: Method.

Local Authentication Framework

The Local authentication Framework (localauthentication.framework) includes the following enhancements:

1. Get the current set of registered fingerprints, when the finger is registered or deleted, the application can change the behavior.

2. Support for canceling user prompts from code.

3. Supports evaluation of the Keychain access control list and the authentication context used in the Keychain invocation (authentication context).

4. Support for reusable Touch ID matching. A previous phone unlock match can be used Evaluateaccesscontrol: and evaluatePolicy:localizedReason:reply: Method.

Mapkit Framework

The Mapkit Framework (mapkit.framework) includes some additions that can help you provide a richer user experience. The specific approach is:

1. Mapkit supports bus queries and displays bus lines on map.

2. The map view supports 3D flyover mode.

3. Annotations (Annotations) can be fully customized.

4. Search for the appropriate time zone that Mapkit and Clgeocoder results can provide.

Passkit Framework

The Passkit Framework (passkit.framework) includes a number of supplements to enhance Apple Pay by:

1. In iOS 9, Apple pay supports querying for storage debit cards (store Debit) and credit Cards. For more information, refer to " Payment Networks" in the Pkpaymentrequest class reference.

2. Card issuers and payment networks can add cards directly to Apple Pay in their app. For more information, refer to the Pkaddpaymentpassviewcontroller class reference.

Safari Services Framework

The Safari Services Framework (safariservices.framework) includes the following enhancements.

Fsafariviewcontroller can be used to display Web content in your app. It shares cookies and other website data with Safari, and has many of the great features of the Safari browser, such as Safari AutoFill (AutoFill) and Safari Reader (reader). Unlike the Safari browser, the Sfsafariviewcontroller UI is designed to display a page with the Finish button allowing the user to go back to the app.

If your app simply displays Web content, but does not customize the content, consider replacing your wkwebview or browser-based UIWebView with Sfsafariviewcontroller.

UIKit Framework

The UIKit Framework (uikit.framework) includes many enhancements, such as:

1. The Uistackview class helps you manage a set of sub-views (subviews) on the stack, which can be arranged horizontally or vertically.

2. Layout anchors (layouts anchors) (such as Leadinganchor and Widthanchor) in the new UIView, as well as Nslayoutanchor and nslayoutdimension, all of which make layout easier.

3. The new layout guide helps you to use a readable content edge (Margins) and definition (Define) in the content that should be drawn in a view. For more information, see Uilayoutguide.

4. The new Uiapplicationdelegate method can be used to open a document and modify it instead of using a copy of the document. Supports the Open-in-place feature, and also adds a field with a key of lssupportsopeningdocumentsinplace and a Yes value to the Info.plist file in the app.

5. Uitextinputassistantitem class to help you lay out button groups (bar button Groups) in the accelerator Bar (shortcuts bar).

6. Enhance touch events, such as the ability to get an intermediate touch (intermediate touches) and touch prediction that may occur after the last refresh display.

7. Enhance Uikit dynamics, such as support for irregular collision boundaries, as well as new Uifieldbehavior classes, support different customizable field types, and attach attachment types in Uiattachmentbehavior.

8. Uiusernotificationaction new feature that allows you to enter text in user notifications.

9. The new Nsdataasset class makes it easy to get content adjusted to fit your device's memory and graphics processing capabilities.

10. All standard Uikit controls Flip support right-to-left languages. In addition, navigation (Navigation), gestures (gestures), collection view (Collection views) and table cell layouts (table cells Layouts) can also be flipped accordingly.

Deprecated APIs

The following APIs will be deprecated:

1. Address Book and Address Book UI Framework (frameworks) will use the contact (Contacts) and Contact UI Framework (Contacts UI frameworks) instead.

2. Nsurlconnection in the foundation framework will be replaced with nsurlsession.

For a complete, proprietary API deprecation list, see IOS 9.0 API diffs.

This paper is mainly based on the official document of Apple iOS9 Reference translation, detailed reference

1.IOS9 Release Notes;

2.iOS 8.3 with IOS 9.0 API changes;

3.iOS device compatibility Reference.



Wen/job_yang (author of Jane's book)
Original link: http://www.jianshu.com/p/2d457c7f5729
Copyright belongs to the author, please contact the author to obtain authorization, and Mark "book author".

IOS9 Official documents

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.