Apple/iOS/7

Un article de Agora2ia.

< Apple | iOS(Redirigé depuis Langages/Apple/iOS/7)


Sommaire

Sources


New features

iBeacon

UI Redesign

The iOS 7 user interface has been completely redesigned. Throughout the system, a sharpened focus on functionality and on the user’s content informs every aspect of design. Translucency, refined visual touches, and fluid, realistic motion impart clarity, depth, and vitality to the user experience. Whether you are creating a new app or updating an existing one, keep these qualities in mind as you work on the design.

For guidance on how to design apps that take full advantage of the new look in iOS 7, see iOS 7 Design Resources.


Dynamic Behaviors for Views

Apps can now specify dynamic behaviors for UIView objects and for other objects that conform to the UIDynamicItem protocol. (Objects that conform to this protocol are called dynamic items.) Dynamic behaviors offer a way to improve the user experience of your app by incorporating real-world behavior and characteristics, such as gravity, into your app’s animations.

For information about the behaviors you can apply, see UIKit Framework Reference.


TextKit

Text Kit is a full-featured set of UIKit classes for managing text and fine typography. Text Kit can lay out styled text into paragraphs, columns, and pages; it easily flows text around arbitrary regions such as graphics; and it manages multiple fonts. Text Kit is integrated with all UIKit text-based controls to enable apps to create, edit, display, and store text more easily—and with less code than was previously possible in iOS.

For more information about Text Kit, see Text Programming Guide for iOS.


64-Bit Support

Apps can now be compiled for the 64-bit runtime. All system libraries and frameworks are 64-bit ready, meaning that they can be used in both 32-bit and 64-bit apps. When compiled for the 64-bit runtime, apps may run faster because of the availability of extra processor resources in 64-bit mode.

iOS uses the same LP64 model that is used by OS X and other 64-bit UNIX systems, which means fewer problems when porting code. For information about the iOS 64-bit runtime and how to write 64-bit apps, see 64-Bit Transition Guide for Cocoa Touch.


Multitasking Enhancements

iOS 7 supports two new background execution modes for apps:

  • Apps that regularly update their content by contacting a server can register with the system and be launched periodically to retrieve that content in the background. To register, include the UIBackgroundModes key with the fetch value in your app’s Info.plist file. Then, when your app is launched, call the setMinimumBackgroundFetchInterval: method to determine how often it receives update messages. Finally, you must also implement the application:performFetchWithCompletionHandler: method in your app delegate.
  • Apps that use push notifications to notify the user that new content is available can fetch the content in the background. To support this mode, include the UIBackgroundModes key with the remote-notification value in your app’s Info.plist file. You must also implement the application:didReceiveRemoteNotification:fetchCompletionHandler: method in your app delegate.

For more information about the new background modes, see App States and Multitasking in App Programming Guide for iOS.


SpriteKit

The Sprite Kit framework (SpriteKit.framework) provides a hardware-accelerated animation system optimized for creating 2D and 2.5D games. Sprite Kit provides the infrastructure that most games need, including a graphics rendering and animation system, sound playback support, and a physics simulation engine. Using Sprite Kit frees you from creating these things yourself, and it lets you focus on the design of your content and the high-level interactions for that content.

For more information about how to use Sprite Kit, see SpriteKit Programming Guide. To see an example of how to use Sprite Kit to build a working app, see code:Explained Adventure.


GameController - MFI

The Game Controller framework (GameController.framework) lets you discover and configure Made-for-iPhone/iPod/iPad (MFi) game controller hardware in your app. Game controllers can be devices connected physically to an iOS device or connected wirelessly over Bluetooth. The Game Controller framework notifies your app when controllers become available and lets you specify which controller inputs are relevant to your app.

For more information about supporting game controllers, see Game Controller Programming Guide.


AirDrop

AirDrop lets users share photos, documents, URLs, and other kinds of data with nearby devices. AirDrop support is now built in to the existing UIActivityViewController class. This class displays different options for sharing the content that you specify. If you are not yet using this class, you should consider adding it to your interface.

For more information about using an activity view controller to share data, see UIActivityViewController Class Reference.


AudioUnit

Inter-App Audio

The Audio Unit framework (AudioUnit.framework) adds support for Inter-App Audio, which enables the ability to send MIDI commands and stream audio between apps on the same device. For example, you might use this feature to record music from an app acting as an instrument or use it to send audio to another app for processing. To vend your app’s audio data, publish a I/O audio unit (AURemoteIO) that is visible to other processes. To use audio features from another app, use the audio component discovery interfaces in iOS 7.

For information about the new interfaces, see the framework header files. For general information about the interfaces of this framework, see Audio Unit Framework Reference.


MultipeerConnectivity

The Multipeer Connectivity framework (MultipeerConnectivity.framework) supports the discovery of nearby devices and the direct communication with those devices without requiring Internet connectivity. This framework makes it possible to create multipeer sessions easily and to support reliable in-order data transmission and real-time data transmission. With this framework, your app can communicate with nearby devices and seamlessly exchange data.

The framework provides programmatic and UI-based options for discovering and managing network services. Apps can integrate the MCBrowserViewController class into their user interface to display a list of peer devices for the user to choose from. Alternatively, you can use the MCNearbyServiceBrowser class to look for and manage peer devices programmatically.

For more information about the interfaces of this framework, see Multipeer Connectivity Framework Reference.


JavaScriptCore

The JavaScript Core framework (JavaScriptCore.framework) provides Objective-C wrapper classes for many standard JavaScript objects. Use this framework to evaluate JavaScript code and parse JSON data. For information about the classes of this framework, see the framework header files.


MediaAccessibility

The Media Accessibility framework (MediaAccessibility.framework) manages the presentation of closed-captioned content in your media files. This framework works in conjunction with new settings that let the user enable the display of closed captions.


SafariServices

The Safari Services framework (SafariServices.framework) provides support for programmatically adding URLs to the user’s Safari reading list. For information about the class provided by this framework, see the framework header files.


Barcode scanning

Finally, an API for reading barcodes and perhaps those pesky QR codes.

See Building a QR Code Reader in Swift tutorial from AppCoda

Improvements

  • Game Center (For more information about how to use the new Game Center features, see Game Center Programming Guide. For information about the classes of the Game Kit framework, see GameKit Framework Reference.)
  • Game Kit Framework
  • Map Kit framework (MapKit.framework - For more information about the classes of the Map Kit framework, see MapKit Framework Reference.)
  • UIKit Framework
  • Store Kit Framework
  • Pass Kit Framework
  • OpenGL ES
  • Message UI Framework
  • Media Player Framework
  • Image I/O Framework
  • iAd Framework
  • Foundation Framework
  • Core Telephony Framework
  • Core Motion Framework
  • Core Location Framework
  • Core Foundation Framework
  • Core Bluetooth Framework
  • AV Foundation Framework
  • Accelerate Framework