SlideShare a Scribd company logo
1 of 16
Download to read offline
What's New in iPhone OS
General




          2009-04-07
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.
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
    2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
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.
Introduction




6   Organization of This Document
    2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
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.
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.
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.
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.
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.
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.
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.
iPhone OS 3.0




14   Additional Enhancements
     2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
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.
Document Revision History




16
     2009-04-07 | © 2009 Apple Inc. All Rights Reserved.

More Related Content

What's hot

Devoxx 2010: Develop mobile applications with Flex
Devoxx 2010: Develop mobile applications with FlexDevoxx 2010: Develop mobile applications with Flex
Devoxx 2010: Develop mobile applications with FlexMichael Chaize
 
Why the iPad UI matters, And how it differs from the Tablet PC, but also from...
Why the iPad UI matters, And how it differs from the Tablet PC, but also from...Why the iPad UI matters, And how it differs from the Tablet PC, but also from...
Why the iPad UI matters, And how it differs from the Tablet PC, but also from...Fabien Marry
 
打造你的第一個iPhone APP
打造你的第一個iPhone APP打造你的第一個iPhone APP
打造你的第一個iPhone APP彼得潘 Pan
 
"iPhone SDK 3.0 Overview," Nathan Uno
"iPhone SDK 3.0 Overview," Nathan Uno"iPhone SDK 3.0 Overview," Nathan Uno
"iPhone SDK 3.0 Overview," Nathan Unorayvillares
 
iPhone University Developer Program
iPhone University Developer ProgramiPhone University Developer Program
iPhone University Developer ProgramJussi Pohjolainen
 
What's new in iOS 9 ?
What's new in iOS 9 ?What's new in iOS 9 ?
What's new in iOS 9 ?Phonevalley
 
iPhone first App Store submission
iPhone  first App Store submissioniPhone  first App Store submission
iPhone first App Store submissionPragati Singh
 
StackLabs-DataDriven Labs - iPhone App Development Training in Mohali
StackLabs-DataDriven Labs - iPhone App Development  Training in MohaliStackLabs-DataDriven Labs - iPhone App Development  Training in Mohali
StackLabs-DataDriven Labs - iPhone App Development Training in MohaliArcadian Learning
 
iPhone application development in India
iPhone application development in IndiaiPhone application development in India
iPhone application development in IndiaMobile Pundits
 
The future of the Adobe Flash platform
The future of the Adobe Flash platformThe future of the Adobe Flash platform
The future of the Adobe Flash platformMichael Chaize
 
iPhone - Human Interface Guidelines
iPhone - Human Interface GuidelinesiPhone - Human Interface Guidelines
iPhone - Human Interface GuidelinesMartin Ebner
 
I phone
I phoneI phone
I phoneuos
 
iPhone Development: Zero to Sixty
iPhone Development: Zero to SixtyiPhone Development: Zero to Sixty
iPhone Development: Zero to SixtyThomas Swift
 
7 User Experience Lessons from the iPhone (Introducing UX)
7 User Experience Lessons from the iPhone (Introducing UX)7 User Experience Lessons from the iPhone (Introducing UX)
7 User Experience Lessons from the iPhone (Introducing UX)Stephen Anderson
 
Ios actions and outlets
Ios actions and outletsIos actions and outlets
Ios actions and outletsveeracynixit
 
10 Reasons Why Apple Rejects Apps From The App Store
10 Reasons Why Apple Rejects Apps From The App Store10 Reasons Why Apple Rejects Apps From The App Store
10 Reasons Why Apple Rejects Apps From The App StoreAppknox
 

What's hot (20)

Devoxx 2010: Develop mobile applications with Flex
Devoxx 2010: Develop mobile applications with FlexDevoxx 2010: Develop mobile applications with Flex
Devoxx 2010: Develop mobile applications with Flex
 
Why the iPad UI matters, And how it differs from the Tablet PC, but also from...
Why the iPad UI matters, And how it differs from the Tablet PC, but also from...Why the iPad UI matters, And how it differs from the Tablet PC, but also from...
Why the iPad UI matters, And how it differs from the Tablet PC, but also from...
 
Jax 2011 keynote
Jax 2011 keynoteJax 2011 keynote
Jax 2011 keynote
 
打造你的第一個iPhone APP
打造你的第一個iPhone APP打造你的第一個iPhone APP
打造你的第一個iPhone APP
 
"iPhone SDK 3.0 Overview," Nathan Uno
"iPhone SDK 3.0 Overview," Nathan Uno"iPhone SDK 3.0 Overview," Nathan Uno
"iPhone SDK 3.0 Overview," Nathan Uno
 
iPhone University Developer Program
iPhone University Developer ProgramiPhone University Developer Program
iPhone University Developer Program
 
What's new in iOS 9 ?
What's new in iOS 9 ?What's new in iOS 9 ?
What's new in iOS 9 ?
 
iPhone first App Store submission
iPhone  first App Store submissioniPhone  first App Store submission
iPhone first App Store submission
 
StackLabs-DataDriven Labs - iPhone App Development Training in Mohali
StackLabs-DataDriven Labs - iPhone App Development  Training in MohaliStackLabs-DataDriven Labs - iPhone App Development  Training in Mohali
StackLabs-DataDriven Labs - iPhone App Development Training in Mohali
 
iPhone application development in India
iPhone application development in IndiaiPhone application development in India
iPhone application development in India
 
The future of the Adobe Flash platform
The future of the Adobe Flash platformThe future of the Adobe Flash platform
The future of the Adobe Flash platform
 
Ios - Introduction to swift programming
Ios - Introduction to swift programmingIos - Introduction to swift programming
Ios - Introduction to swift programming
 
iPhone - Human Interface Guidelines
iPhone - Human Interface GuidelinesiPhone - Human Interface Guidelines
iPhone - Human Interface Guidelines
 
I phone
I phoneI phone
I phone
 
I Phone101
I Phone101I Phone101
I Phone101
 
iPhone Development: Zero to Sixty
iPhone Development: Zero to SixtyiPhone Development: Zero to Sixty
iPhone Development: Zero to Sixty
 
7 User Experience Lessons from the iPhone (Introducing UX)
7 User Experience Lessons from the iPhone (Introducing UX)7 User Experience Lessons from the iPhone (Introducing UX)
7 User Experience Lessons from the iPhone (Introducing UX)
 
Ios actions and outlets
Ios actions and outletsIos actions and outlets
Ios actions and outlets
 
iOS 9 : What's New ?
iOS 9 : What's New ?iOS 9 : What's New ?
iOS 9 : What's New ?
 
10 Reasons Why Apple Rejects Apps From The App Store
10 Reasons Why Apple Rejects Apps From The App Store10 Reasons Why Apple Rejects Apps From The App Store
10 Reasons Why Apple Rejects Apps From The App Store
 

Viewers also liked

Where Business Analysis Ends 4101
Where Business Analysis Ends 4101Where Business Analysis Ends 4101
Where Business Analysis Ends 4101Sejal Vora
 
mobile Personal Health Record iOS application
mobile Personal Health Record iOS applicationmobile Personal Health Record iOS application
mobile Personal Health Record iOS applicationSejal Vora
 
The Near Future of CSS
The Near Future of CSSThe Near Future of CSS
The Near Future of CSSRachel Andrew
 
How to Battle Bad Reviews
How to Battle Bad ReviewsHow to Battle Bad Reviews
How to Battle Bad ReviewsGlassdoor
 
Classroom Management Tips for Kids and Adolescents
Classroom Management Tips for Kids and AdolescentsClassroom Management Tips for Kids and Adolescents
Classroom Management Tips for Kids and AdolescentsShelly Sanchez Terrell
 
The Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaThe Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaChris Lema
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 

Viewers also liked (7)

Where Business Analysis Ends 4101
Where Business Analysis Ends 4101Where Business Analysis Ends 4101
Where Business Analysis Ends 4101
 
mobile Personal Health Record iOS application
mobile Personal Health Record iOS applicationmobile Personal Health Record iOS application
mobile Personal Health Record iOS application
 
The Near Future of CSS
The Near Future of CSSThe Near Future of CSS
The Near Future of CSS
 
How to Battle Bad Reviews
How to Battle Bad ReviewsHow to Battle Bad Reviews
How to Battle Bad Reviews
 
Classroom Management Tips for Kids and Adolescents
Classroom Management Tips for Kids and AdolescentsClassroom Management Tips for Kids and Adolescents
Classroom Management Tips for Kids and Adolescents
 
The Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris LemaThe Buyer's Journey - by Chris Lema
The Buyer's Journey - by Chris Lema
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Similar to Whats New Ini Phone Os

I phone human interface guidlines
I phone human interface guidlinesI phone human interface guidlines
I phone human interface guidlineszhuxiongjie
 
iOS 8 Pre-Release Briefing
iOS 8 Pre-Release BriefingiOS 8 Pre-Release Briefing
iOS 8 Pre-Release BriefingThe App Business
 
Apple Policy Prohibits Distributing Enterprise Certificate Apps To Non-Employees
Apple Policy Prohibits Distributing Enterprise Certificate Apps To Non-EmployeesApple Policy Prohibits Distributing Enterprise Certificate Apps To Non-Employees
Apple Policy Prohibits Distributing Enterprise Certificate Apps To Non-EmployeesJosh Constine
 
I tunes software license
I tunes software licenseI tunes software license
I tunes software licenseAdolf Benca
 
What’s New in iOS 8 SDK ?
What’s New in iOS 8 SDK ?What’s New in iOS 8 SDK ?
What’s New in iOS 8 SDK ?E2LOGY
 
I tunes software license
I tunes software licenseI tunes software license
I tunes software licenseBekerja sendiri
 
iOS 9 Pre-release Briefing
iOS 9 Pre-release BriefingiOS 9 Pre-release Briefing
iOS 9 Pre-release BriefingThe App Business
 
Unleashing the Power of the iPhone Apps.pdf
Unleashing the Power of the iPhone Apps.pdfUnleashing the Power of the iPhone Apps.pdf
Unleashing the Power of the iPhone Apps.pdfTechugo Canada
 
iOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdfiOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdfJPLoft Solutions
 
Preparing for Release to the App Store
Preparing for Release to the App StorePreparing for Release to the App Store
Preparing for Release to the App StoreGeoffrey Goetz
 
I Phone Software License
I Phone  Software  LicenseI Phone  Software  License
I Phone Software Licenseteammonk
 
What are the challenges in i os app development
What are the challenges in i os app developmentWhat are the challenges in i os app development
What are the challenges in i os app developmentSatawareTechnologies
 
Accenture Digital: iOS 8 What You Need to Know
Accenture Digital: iOS 8 What You Need to KnowAccenture Digital: iOS 8 What You Need to Know
Accenture Digital: iOS 8 What You Need to KnowApteligent
 
Make your app ready for ios 14 update
Make your app ready for ios 14 updateMake your app ready for ios 14 update
Make your app ready for ios 14 updateConcetto Labs
 

Similar to Whats New Ini Phone Os (20)

I phone human interface guidlines
I phone human interface guidlinesI phone human interface guidlines
I phone human interface guidlines
 
iOS 8 Pre-Release Briefing
iOS 8 Pre-Release BriefingiOS 8 Pre-Release Briefing
iOS 8 Pre-Release Briefing
 
Apple Policy Prohibits Distributing Enterprise Certificate Apps To Non-Employees
Apple Policy Prohibits Distributing Enterprise Certificate Apps To Non-EmployeesApple Policy Prohibits Distributing Enterprise Certificate Apps To Non-Employees
Apple Policy Prohibits Distributing Enterprise Certificate Apps To Non-Employees
 
I tunes software license
I tunes software licenseI tunes software license
I tunes software license
 
Lea Enterprices
Lea EnterpricesLea Enterprices
Lea Enterprices
 
I tunes software license
I tunes software licenseI tunes software license
I tunes software license
 
What’s New in iOS 8 SDK ?
What’s New in iOS 8 SDK ?What’s New in iOS 8 SDK ?
What’s New in iOS 8 SDK ?
 
I tunes software license
I tunes software licenseI tunes software license
I tunes software license
 
License
LicenseLicense
License
 
600 most amazing apps PDF
600 most amazing apps PDF 600 most amazing apps PDF
600 most amazing apps PDF
 
iOS 9 Pre-release Briefing
iOS 9 Pre-release BriefingiOS 9 Pre-release Briefing
iOS 9 Pre-release Briefing
 
Unleashing the Power of the iPhone Apps.pdf
Unleashing the Power of the iPhone Apps.pdfUnleashing the Power of the iPhone Apps.pdf
Unleashing the Power of the iPhone Apps.pdf
 
iOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdfiOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdf
 
Preparing for Release to the App Store
Preparing for Release to the App StorePreparing for Release to the App Store
Preparing for Release to the App Store
 
I Phone Software License
I Phone  Software  LicenseI Phone  Software  License
I Phone Software License
 
What are the challenges in i os app development
What are the challenges in i os app developmentWhat are the challenges in i os app development
What are the challenges in i os app development
 
sMash AppBuilder
sMash AppBuildersMash AppBuilder
sMash AppBuilder
 
Sample pdf
Sample pdfSample pdf
Sample pdf
 
Accenture Digital: iOS 8 What You Need to Know
Accenture Digital: iOS 8 What You Need to KnowAccenture Digital: iOS 8 What You Need to Know
Accenture Digital: iOS 8 What You Need to Know
 
Make your app ready for ios 14 update
Make your app ready for ios 14 updateMake your app ready for ios 14 update
Make your app ready for ios 14 update
 

Recently uploaded

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Recently uploaded (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

Whats New Ini Phone Os

  • 1. What's New in iPhone OS General 2009-04-07
  • 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. 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 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  • 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. Introduction 6 Organization of This Document 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  • 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. 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. 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. 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. 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. 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. 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. iPhone OS 3.0 14 Additional Enhancements 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.
  • 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. Document Revision History 16 2009-04-07 | © 2009 Apple Inc. All Rights Reserved.