This article summarizes the key developer-related features introduced in iOS 7.1. This version of the operating system runs on current iOS-based devices. In addition to describing the key new features, this article lists the documents that describe those features in more detail.
For late-breaking news and information about known issues, see iOS 7.1 Release Notes. For the complete list of new APIs added in iOS 7.1, see iOS 7.1 API Diffs.
Support for External Media Players
Apps can now receive and respond to events sent by an external media player. This process lets users interact solely with the external media player, removing the need to interact directly with an iOS device.
When an app starts, it loads a data source, either from the device or from a server, that contains the available media items and provides this information to the media player. The media player reads and displays this information to the user.
The media player interacts with the app by sending events that the app has registered for. The app responds to an event and changes its behavior based on the event received.
To support this behavior, the Media Player framework has several new classes, including the following:
MPPlayableContentManagerclass controls the interactions between the app and the external media player. A data source is provided to the content manager through the
MPContentItemclass contains the metadata for a particular media item. This metadata is used to display the media item information outside the app. An
MPContentItemobject can represent any type of media item—for example, a song, movie, radio station, or podcast episode.
MPRemoteCommandclass adds target-action pairs for event handling. There are several subclasses for handling specific events.
MPRemoteCommandEventclass provides information that is requested by the media player. There are several subclasses for providing information on specific events.
For information about all of the external media player APIs, see Media Player Framework Reference.
The OpenGL ES framework includes support for automatic multithreading of some OpenGL ES work. After creating a
EAGLContext object, set its
multiThreaded property to
YES. OpenGL ES then creates a worker thread and attempts to unload some of the command processing onto the worker thread. As with implementing concurrency manually, you need to consider a concurrency strategy that works best for your app. Always test your app under a variety of different conditions and use the design that provides the best performance.