Whats New Ini Phone Os


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Whats New Ini Phone Os

  1. 1. What's New in iPhone OS General 2009-04-07
  2. 2. Simultaneously published in the United States Apple Inc. and Canada. © 2009 Apple Inc. Even though Apple has reviewed this document, All rights reserved. APPLE MAKES NO WARRANTY OR REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS DOCUMENT, ITS QUALITY, ACCURACY, No part of this publication may be reproduced, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. AS A RESULT, THIS DOCUMENT IS stored in a retrieval system, or transmitted, in PROVIDED “AS IS,” AND YOU, THE READER, ARE any form or by any means, mechanical, ASSUMING THE ENTIRE RISK AS TO ITS QUALITY electronic, photocopying, recording, or AND ACCURACY. otherwise, without prior written permission of IN NO EVENT WILL APPLE BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR Apple Inc., with the following exceptions: Any CONSEQUENTIAL DAMAGES RESULTING FROM ANY person is hereby authorized to store DEFECT OR INACCURACY IN THIS DOCUMENT, even if advised of the possibility of such damages. documentation on a single computer for personal use only and to print copies of THE WARRANTY AND REMEDIES SET FORTH ABOVE ARE EXCLUSIVE AND IN LIEU OF ALL OTHERS, ORAL documentation for personal use provided that OR WRITTEN, EXPRESS OR IMPLIED. No Apple the documentation contains Apple’s copyright dealer, agent, or employee is authorized to make any modification, extension, or addition to this notice. warranty. The Apple logo is a trademark of Apple Inc. Some states do not allow the exclusion or limitation of implied warranties or liability for incidental or Use of the “keyboard” Apple logo consequential damages, so the above limitation or exclusion may not apply to you. This warranty gives (Option-Shift-K) for commercial purposes you specific legal rights, and you may also have without the prior written consent of Apple may other rights which vary from state to state. constitute trademark infringement and unfair competition in violation of federal and state laws. No licenses, express or implied, are granted with respect to any of the technology described in this document. Apple retains all intellectual property rights associated with the technology described in this document. This document is intended to assist application developers to develop applications only for Apple-labeled computers. Every effort has been made to ensure that the information in this document is accurate. Apple is not responsible for typographical errors. Apple Inc. 1 Infinite Loop Cupertino, CA 95014 408-996-1010 iTunes Store is a registered service mark of Apple Inc. Apple, the Apple logo, Bonjour, iPod, iTunes, iWork, Keychain, Safari, and Xcode are trademarks of Apple Inc., registered in the United States and other countries. iPhone is a trademark of Apple Inc. Intel and Intel Core are registered trademarks of Intel Corportation or its subsidiaries in the United States and other countries. Java and all Java-based trademarks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
  3. 3. Contents Introduction 5 Organization of This Document 5 iPhone OS 3.0 7 Apple Push Notification Service 7 Cut, Copy, and Paste 7 Accessory Support 8 In App Purchase Support 8 Peer to Peer Support 8 Maps API 9 iPod Library Access 9 Audio Recording and Management 9 Core Data 10 In App Email 10 Streaming Video 10 Safari Features 11 Shared Keychain Items 11 Additional Enhancements 11 UIKit Framework Enhancements 11 Foundation Framework Enhancements 12 Core Audio Enhancements 12 Document Revision History 15 3 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  4. 4. 4 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  5. 5. Introduction Important: This is a preliminary document for an API or technology in development. Although this document has been reviewed for technical accuracy, it is not final. Apple is supplying this information to help you plan for the adoption of the technologies and programming interfaces described herein. This information is subject to change, and software implemented according to this document should be tested with final operating system software and final documentation. Newer versions of this document may be provided with future seeds of the API or technology. For information about updates to this and other developer documentation, view the New & Updated sidebars in subsequent documentation seeds. This document provides developer-level information about features that were introduced in different versions of iPhone OS. This document is not intended as a complete list of features for each new version of iPhone OS. Instead, it focuses on those features that affect the development of third-party software, providing overviews of each feature along with insight as to how and when you might use them to create your own software. Wherever possible, this document also provides links to other Apple conceptual and reference documentation for that feature. Organization of This Document This document includes the following article: ■ “iPhone OS 3.0” (page 7) describes the new and updated features in iPhone OS 3.0. Organization of This Document 5 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  6. 6. Introduction 6 Organization of This Document 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  7. 7. iPhone OS 3.0 This article summarizes the key features that are available beginning with iPhone OS 3.0. It also lists many of the documents that were created or updated for the release. Apple Push Notification Service The Apple Push Notification Service provides a way to alert your users of new information, even when your application is not actively running. Using this service, you can push text notifications, trigger audible alerts, or add a numbered badge to your application icon. These messages let users know that they should open your application to receive the related information. From a design standpoint, there are two parts to making push notifications work for your iPhone applications. First, you need to request the delivery of notifications to your iPhone application and then you need to configure your application delegate to process them. The delegate works together with the shared UIApplication object to perform both of these tasks. Second, you need to provide a server-side process to generate the notifications in the first place. This process lives on your own local server and works with Apple Push Notification Service to trigger the notifications. For more information about how to configure your application to use remote notifications, see Apple Push Notification Service Programming Guide. Cut, Copy, and Paste In iPhone OS 3.0, the UIKit framework provides new classes to support pasteboard operations and also incorporates selection and pasteboard behaviors into some existing UIKit views. You can use the new classes to incorporate support cut, copy, and paste behaviors into your application. One of the key new classes is the UIPasteboard class, which manages the content on the systemwide pasteboards. It is through this class that you can now store selected content and transfer it within your application or to other applications. The UIPasteboard object provides built-in support for storing standard data types such as strings, images, colors, and URLs. These types represent some of the most common data types and make it easier to exchange content between applications. However, you can also exchange content in custom data formats supported only by your application or in more standardized interchange formats. Several existing UIKit views now provide automatic support for text selection and pasteboard operations. In particular, the UITextField, UITextView, and UIWebView classes automatically handle text selections and the display of an editing menu with the appropriate Cut, Copy, Paste, Select, and Select all commands. For custom views, the UIKit framework also includes the UIMenuController class for managing the editing menu. You use this class, together with your application’s own custom selection behavior, to allow the user to cut, copy, paste, and select custom content. The menu displays standard commands to cut or copy the selected content or to paste new content based on the operations currently supported by your view. Apple Push Notification Service 7 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  8. 8. iPhone OS 3.0 For information about how to incorporate pasteboard support into your application, see Event Handling in iPhone Application Programming Guide. You should also consult Handling Common Tasks in iPhone Human Interface Guidelines for information about the interface guidelines associated with supporting cut, copy, and paste operations. Accessory Support The External Accessory framework (ExternalAccessory.framework) provides support for communicating with hardware accessories attached to an iPhone or iPod touch device. Accessories can be connected through the 30-pin dock connector of a device or wirelessly using Bluetooth. The External Accessory framework provides a way for you to get information about each available accessory and to initiate communications sessions. After that, you are free to manipulate the accessory directly using any commands it supports. For more information about how to use this framework, see Device Support in iPhone Application Programming Guide. For information about the classes of the External Accessory framework, see External Accessory Framework Reference. For information about developing accessories for iPhone and iPod touch devices, go to http://de- veloper.apple.com. In App Purchase Support The Store Kit framework (StoreKit.framework) provides a means for you to make additional content and services available from within your iPhone applications. For example, you could use this feature to allow the user to unlock additional application features. Or if you are a game developer, you could use it to offer additional game levels. In both cases, the Store Kit framework handles the financial aspects of the transaction, processing payment requests through the user’s iTunes Store account and providing your application with information about the purchase. The Store Kit focuses on the financial aspects of a transaction, ensuring that transactions occur securely and correctly. Your application handles the other aspects of the transaction, including the presentation of a purchasing interface and the downloading (or unlocking) of the appropriate content. This division of labor gives you control over the user experience for purchasing content. You decide what kind of purchasing interface you want to present to the user and when to do so. You also decide on the delivery mechanism that works best for your application. For information about how to use the Store Kit framework, see Store Kit Programming Guide and Store Kit Framework Reference. Peer to Peer Support The Game Kit framework (GameKit.framework) lets you add peer-to-peer network capabilities to your applications. Specifically, this framework provides support for peer-to-peer connectivity and in-game voice features. Although these features are most commonly found in multiplayer network games, you can incorporate them into non-game applications as well. The framework provides you with networking features through a simple (yet powerful) set of classes built on top of Bonjour. These classes abstract out many of the network details, making it easy for developers who might be inexperienced with networking programming to incorporate networking features into their applications. 8 Accessory Support 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  9. 9. iPhone OS 3.0 For more information about how to use the Game Kit framework, see Game Kit Programming Guide and Game Kit Framework Reference. Maps API The Map Kit framework (MapKit.framework) provides a map interface that you can embed into your own application. Based on the behavior of this interface within the Maps application, this interface provides a scrollable map view that can be annotated with custom information. You can embed this view inside of your own application views and programmatically set various attributes of the map, including the currently displayed map region and the user’s location. You can also define custom annotations or use standard annotations (such as a pin marker) to highlight regions of the map and display additional information. For more information about the classes of the Map Kit framework, see MapKit Framework Reference. iPod Library Access Several new classes and protocols have been added to the Media Player framework (MediaPlayer.framework) to allow access to the user’s audio library. You can use these classes to perform the following tasks: ■ Play audio items from the user’s library. This support lets you play all audio types supported by the iPod application. ■ Construct queues of audio items to play back. ■ Perform searches of the user’s audio library. ■ Access the user’s playlists (including smart, on-the-go, and genius playlists). For more information about the classes of the Media Player framework, see Media Player Framework Reference. Audio Recording and Management The AV Foundation framework (AVFoundation.framework) includes the following new classes and protocols for recording audio and managing audio sessions: ■ The AVAudioRecorder class provides audio recording capabilities. This class works together with an audio delegate (conforming to the AVAudioRecorderDelegate protocol) to manage state changes during recording. ■ The AVAudioSession class provides control over audio context including audio session category, sample rate, and I/O buffer duration. This class works with an audio session delegate (conforming to the AVAudioSessionDelegate protocol) to respond to audio hardware route changes and audio interruptions. ■ New constants for configuring audio formats, audio encoding, and sample rate conversion for recording. Maps API 9 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  10. 10. iPhone OS 3.0 For more information about the classes of the AV Foundation framework, see AV Foundation Framework Reference. Core Data The Core Data framework (CoreData.framework) is a technology for managing the data model of a Model-View-Controller application. Core Data is intended for use in applications where the data model is already highly structured. Instead of defining data structures programmatically, you use the graphical tools in Xcode to build a schema representing your data model. At runtime, instances of your data-model entities are created, managed, and made available through the Core Data framework. By managing your application’s data model for you, Core Data significantly reduces the amount of code you have to write for your application. Core Data also provides the following features: ■ Storage of object data in a SQLite database for optimal performance ■ A new NSFetchedResultsController class to manage results for table views ■ Management of undo/redo beyond basic text editing ■ Support for the validation of property values ■ Support for propagating changes and ensuring that the relationships between objects remain consistent ■ Support for grouping, filtering, and organizing data in memory If you are starting to develop a new application or are planning a significant update to an existing application, you should consider using Core Data. For an example of how to use Core Data in an iPhone application, see Core Data Tutorial for iPhone OS. For more information about the classes of the Core Data framework, see Core Data Framework Reference. In App Email The Message UI framework (MessageUI.framework) is a new framework that provides support for composing and queuing email messages in the user’s outbox. The composition support consists of a view controller interface that you can present in your application. You can populate the fields of this interface with the contents of the message you want to send. You can set the recipients, subject, body content, and any attachments you want to include with the message. The user then has the option of editing the message prior to accepting it. Once accepted, the message is queued in the user’s outbox for delivery. For more information about the classes of the Message UI framework, see Message UI Framework Reference. Streaming Video In iPhone OS 3.0, there is now support for the playback of live video streamed over http. Streamed content can be played back on an iPhone OS–based device using the MPMoviePlayerController class. The semantics of using this class have not changed. The main differences are in the preparation of the streamed content and how it is published on a web server. 10 Core Data 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  11. 11. iPhone OS 3.0 For more information about how to prepare content for video streaming, see HTTP Live Streaming Overview. Safari Features In iPhone OS 3.0 and later, Safari supports the audio and video HTML elements, which allow you to embed audio and video content into your web applications. Safari also supports the Geolocation JavaScript classes, which work with the onboard location services to retrieve the current location of the device. For more information about how to use these features in your web applications, see Safari Web Content Guide for iPhone OS. Shared Keychain Items In iPhone OS 3.0 and later, it is now possible for you to share Keychain items among multiple applications you create. Sharing items makes it easier for applications in the same suite to interoperate more smoothly. For example, you could use this feature to share user passwords or other elements that might otherwise require you to prompt the user from each application separately. Sharing Keychain items involves setting up the proper entitlements in your application binaries. Using Xcode, you must create an Entitlements property list file that includes the supported entitlements for your application. The process for creating this file is described in iPhone Development Guide. For information about the entitlements you can configure, see the description for the SecItemAdd function in Keychain Services Reference. Accessing shared items at runtime involves using the Keychain Services programming interface with the access groups you set up during development. For information about how to access the Keychain, see Keychain Services Programming Guide. Additional Enhancements In addition to the major new features in iPhone OS, several frameworks and technologies have received incremental updates to improve the development experience. UIKit Framework Enhancements The UIKit framework (UIKit.framework) has been enhanced to support major new features in iPhone OS 3.0, such as cut, copy, and paste operations. In addition, this framework has some new classes and has minor improvements to existing classes, including the following: ■ New classes (UIPasteboard and UIMenuController) and general improvements to the UITextField, UITextView, and UIWebView classes to support the selection of text and to support cut, copy, and paste operations ■ Support for handling “motion” events, which currently consist of shake events. Typically, you use shake events to initiate undo operations but you may use them for other purposes as well; see Event Handling in iPhone Application Programming Guide for more information. Safari Features 11 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  12. 12. iPhone OS 3.0 ■ Support in the UIDevice class for accessing the battery state and proximity sensor ■ Enhancements to search bar controls, including the new UISearchDisplayController class to manage search results ■ New support for one-step view rotations from a view controller; see UIViewController Class Reference ■ New modal transition styles, including support for flip and cross-fade transitions; see UIViewController Class Reference ■ Navigation controller support for a standard built-in toolbar whose contents can change to reflect the currently active view controller; see UINavigationController Class Reference ■ Improvements to table views, including support for new cell styles, more table reloading options, and support for customizing the title of delete confirmation buttons. There is also a new class (UILocalizedIndexedCollation) to help with data sorting and organization for table view sections. ■ Support for content stretching in the UIView class, which allows the creation of 3- or 9-part stretched images without using a stretchable UIImage or multiple image views ■ Enhanced support for data detection in the UITextView and UIWebView classes. This support lets you configure what types of data (phone numbers, URLS, and addresses) should be automatically detected in text and converted to clickable links. ■ Enhanced support in UIWebView for displaying previews of RTF, RTFD, PDF, iWork, and Office documents For more information about the classes of the UIKit framework, see UIKit Framework Reference. For guidance on when to use the new features in your applications, see iPhone Human Interface Guidelines. Foundation Framework Enhancements The Foundation framework (Foundation.framework) has been updated to support the following features related to undo management and Core Data: ■ Inclusion of the NSUndoManager class to support Core Data and general undo operations ■ Inclusion of the NSExpression, NSPredicate, NSComparisonPredicate, NSCompoundPredicate, and NSValueTransformer classes to support Core Data For more information about the classes of the Foundation framework, see Foundation Framework Reference. Core Audio Enhancements Enhancements have been made to the Audio Toolbox, Audio Unit, and Core Audio frameworks, including the following additions: ■ New support for decoding MP3 and AAC audio content in software. This support effectively allows you to play multiple compressed files simultaneously (one using the hardware decoder and one or more using the software decoder). ■ Enhanced support in the Audio Toolbox framework for determining if audio codecs are available in software, hardware, or both ■ Enhanced support in the Audio Unit framework for registering your audio units and connecting audio unit processing graphs in your iPhone application 12 Additional Enhancements 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  13. 13. iPhone OS 3.0 ■ Support for three new audio formats: ❏ DVI/Intel IMA ADPCM ❏ Microsoft GSM 6.10 ❏ AES3-2003 For more information about the Core Audio interfaces, see Audio Toolbox Framework Reference, Audio Unit Framework Reference, and Core Audio Framework Reference. Additional Enhancements 13 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  14. 14. iPhone OS 3.0 14 Additional Enhancements 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  15. 15. Document Revision History This table describes the changes to What's New in iPhone OS. Date Notes 2009-04-07 New document describing the features introduced in each version of iPhone OS. 15 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  16. 16. Document Revision History 16 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.