archive-com.com » COM » T » TECHOTOPIA.COM

Total: 1018

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • Video Playback from within an iOS 5 iPad Application - Techotopia
    of compression the class supports H 264 Baseline Profile Level 3 0 and MPEG 4 Part 2 video The iPad Movie Player Example Application The objective of the remainder of this chapter is to create a simple application that will play back a video when a button is pressed The video will be streamed over the internet from a movie file located on a web server Begin by launching Xcode and creating a new iOS iPad application project based on the Single View based application template naming the product and class prefix movie when prompted to do so Adding the MediaPlayer Framework to the Project The MPMoviePlayerController class is contained within the MediaPlayer framework This framework must therefore be included in any projects that make use of this class This can be achieved by selecting the product target entry from the project navigator panel the top item named movie and clicking on the Build Phases tab in the main panel In the Link Binary with Libraries section click on the button select the MediaPlayer framework entry from the resulting panel and click on the Add button Declaring the Action Method and MoviePlayer Instance The application user interface is going to consist of a single button which when pressed will initiate the movie playback process We therefore need to declare an action method called playMovie in our movieViewController h file It is also imperative that the MediaPlayer MediaPlayer h file be imported to avoid a catalog of unresolved references when the application is compiled and also add a reference to an instance of the MPMoviePlayerController class import UIKit UIKit h import MediaPlayer MediaPlayer h interface movieViewController UIViewController property strong nonatomic MPMoviePlayerController moviePlayer IBAction playMovie end Select the movieViewController m and add the synthesize directive for the moviePlayer import movieViewController h interface movieViewController end implementation movieViewController synthesize moviePlayer end Designing the User Interface Select the movieViewController xib file and display the Object library View Utilities Object Library Drag a single UIButton instance to the view window and change the text on the button to Play Movie With the button selected display the connections inspector window View Utilities Show Connections Inspector click on the circle to the right of the Touch Up Inside event and drag the blue line to the File s Owner object From the resulting menu select the playMovie action method Implementing the Action Method The next step is to write the code for the action method so that video playback is initiated when the button is touched by the user The code for the method should be placed in the movieViewController m file as follows void playMovie NSURL url NSURL URLWithString http www ebookfrenzy com ios book movie movie mov moviePlayer MPMoviePlayerController alloc initWithContentURL url NSNotificationCenter defaultCenter addObserver self selector selector moviePlayBackDidFinish name MPMoviePlayerPlaybackDidFinishNotification object moviePlayer moviePlayer controlStyle MPMovieControlStyleDefault moviePlayer shouldAutoplay YES self view addSubview moviePlayer view moviePlayer setFullscreen YES animated YES The above method constructs an NSURL object using the URL of a web based video file This

    Original URL path: http://www.techotopia.com/index.php/Video_Playback_from_within_an_iOS_5_iPad_Application (2016-02-13)
    Open archived version from archive


  • Playing Audio on an iPad using AVAudioPlayer - Techotopia
    will work through the creation of a simple iPad iOS 5 application which plays an audio file The user interface of the application will consist of play and stop buttons to control playback and a slider to adjust the playback volume level Begin by launching Xcode and creating a new iPad iOS Single View Application named audio with a matching class prefix Adding the AVFoundation Framework Since the iOS 5 AVAudioPlayer class is part of the AV Foundation framework it will be necessary to add the framework to the project This can be achieved by selecting the product target entry from the project navigator panel the top item named audio and clicking on the Build Phases tab in the main panel In the Link Binary with Libraries section click on the button select the AVFoundation framework entry from the resulting panel and click on the Add button Adding an Audio File to the Project Resources In order to experience audio playback it will be necessary to add an audio file to the project resources For this purpose any supported audio format file will be suitable Having identified a suitable audio file drag and drop it into the Supporting Files category of the project navigator panel of the main Xcode window For the purposes of this tutorial we will be using an MP3 file named Kalimba mp3 Creating Actions and Outlets The application is going to require action methods for the play and stop buttons in addition to the volume control Since we will need to be able to read the current value of the volume slider control it will also be necessary to declare a corresponding outlet We also need to declare a reference to an AVAudioPlayer audioPlayer object and specify that the view controller class implements the AVAudioPlayerDelegate protocol Select the audioViewController h file and modify it to import the AVFoundation AVFoundation h file and declare these references and actions import UIKit UIKit h import AVFoundation AVFoundation h interface audioViewController UIViewController AVAudioPlayerDelegate property strong nonatomic AVAudioPlayer audioPlayer property strong nonatomic IBOutlet UISlider volumeControl IBAction playAudio IBAction stopAudio IBAction adjustVolume end Implementing the Action Methods The next step in our iPad audio player tutorial is to implement the action methods for the two buttons and the slider Select the audioViewController m file and add these methods as outlined in the following code fragment note also the addition of the synthesize directive for the volumeControl import audioViewController h interface audioViewController end implementation audioViewController synthesize volumeControl audioPlayer void playAudio audioPlayer play void stopAudio audioPlayer stop void adjustVolume if audioPlayer nil audioPlayer volume volumeControl value Creating Initializing the AVAudioPlayer Object Now that we have an audio file to play and appropriate action methods written the next step is to create an AVAudioPlayer instance and initialize it with a reference to the audio file Since we only need to initialize the object once when the application launches a good place to write this code is in the viewDidLoad method of the audioViewController m file

    Original URL path: http://www.techotopia.com/index.php/Playing_Audio_on_an_iPad_using_AVAudioPlayer (2016-02-13)
    Open archived version from archive

  • Recording Audio on an iPad with AVAudioRecorder - Techotopia
    stop end Creating the AVAudioRecorder Instance When the application is first launched an instance of the AVAudioRecorder class needs to be created This will be initialized with the URL of a file into which the recorded audio is to be saved Also passed as an argument to the initialization method is an NSDictionary object indicating the settings for the recording such as bit rate sample rate and audio quality A full description of the settings available may be found in the appropriate Apple iOS reference materials As is often the case a good location to initialize the AVAudioRecorder instance is the viewDidLoad method of the view controller located in the recordViewController m file Select the file in the project navigator locate this method and modify it so that it reads as follows void viewDidLoad super viewDidLoad self playButton enabled NO self stopButton enabled NO NSArray dirPaths NSString docsDir dirPaths NSSearchPathForDirectoriesInDomains NSDocumentDirectory NSUserDomainMask YES docsDir dirPaths objectAtIndex 0 NSString soundFilePath docsDir stringByAppendingPathComponent sound caf NSURL soundFileURL NSURL fileURLWithPath soundFilePath NSDictionary recordSettings NSDictionary dictionaryWithObjectsAndKeys NSNumber numberWithInt AVAudioQualityMin AVEncoderAudioQualityKey NSNumber numberWithInt 16 AVEncoderBitRateKey NSNumber numberWithInt 2 AVNumberOfChannelsKey NSNumber numberWithFloat 44100 0 AVSampleRateKey nil NSError error nil audioRecorder AVAudioRecorder alloc initWithURL soundFileURL settings recordSettings error error if error NSLog Error error localizedDescription else audioRecorder prepareToRecord Since no audio has yet been recorded the above method disables the play and stop buttons It then identifies the application s documents directory and constructs a URL to a file in that location named sound caf An NSDictionary object is then created containing the recording quality settings before an instance of the AVAudioRecorder class is created Assuming no errors are encountered the audioRecorder instance is prepared to begin recording when requested to do so by the user Implementing the Action Methods Once the user interface has been designed later in this chapter the various buttons will be connected to the action methods declared previously in the recordViewController h file The next step therefore is to implement these action methods Now is also a good opportunity to add the synthesize directive for the button outlets Select the recordViewController m file and modify it as outlined in the following code excerpt import recordViewController h interface recordViewController end implementation recordViewController synthesize playButton stopButton recordButton audioRecorder audioPlayer void recordAudio if audioRecorder recording self playButton enabled NO self stopButton enabled YES audioRecorder record void stop self stopButton enabled NO self playButton enabled YES self recordButton enabled YES if audioRecorder recording audioRecorder stop else if audioPlayer playing audioPlayer stop void playAudio if audioRecorder recording self stopButton enabled YES self recordButton enabled NO NSError error audioPlayer AVAudioPlayer alloc initWithContentsOfURL audioRecorder url error error audioPlayer delegate self if error NSLog Error error localizedDescription else audioPlayer play end Each of the above methods performs the step necessary to enable and disable appropriate buttons in the user interface and to interact with the AVAudioRecorder and AVAudioPlayer object instances to record or play back audio Implementing the Delegate Methods In order to receive notification about the success or otherwise

    Original URL path: http://www.techotopia.com/index.php/Recording_Audio_on_an_iPad_with_AVAudioRecorder (2016-02-13)
    Open archived version from archive

  • Integrating Twitter into iPad iOS 5 Applications - Techotopia
    of iOS 5 at least this is limited solely to Twitter accounts though this will likely be extended to other platforms such as Facebook in future iOS releases Using the Accounts framework code can be written to access create and validate Twitter accounts on iOS 5 based devices The iOS 5 operating system running on iPhone and iPad devices is able to store multiple Twitter accounts which are accessible both from the device Settings application in addition to using the Accounts Framework within application code To manually view and configure Twitter accounts on a device select the Settings application and choose the Twitter option Any pre configured Twitter accounts will be listed together with a button providing the option to add a new Twitter account Figure 61 1 When using the TWRequest class to construct Twitter API requests it will be necessary to use the Accounts framework to identify and request permission to use Twitter accounts in an application When using the TWTweetComposeViewController however the account handling is performed automatically by the class The TWTweetComposeViewController Class As previously discussed the TWTweetComposeViewController class presents the user with a screen that can be used to send a Twitter message Figure 61 2 provides an illustration of the class in action within an iPad application Figure 61 2 In order to use the TWTweetComposeViewController class a number of steps should be performed in sequence Firstly the application may optionally check to verify whether a Twitter message can be sent using the device This essentially equates to checking if a Twitter account has been configured on the device and is achieved using the canSendTweet class method as follows if TWTweetComposeViewController canSendTweet Device is able to send a Twitter message This method call is optional and in the event that a Twitter account has yet to be set up the composer will simply take the user to the device s Settings application where a Twitter account may be configured The next step is to create an instance of the TWTweetComposeViewController class and supply an optional completion handler to be called when the composer screen is either cancelled by the user or used to send a message Next a range of methods may be called on the instance to initialize the object with the content of the message including the initial text of the message an image attachment and a URL setInitialText Sets the initial text of the Twitter message on the TWTweetComposeViewController instance addImage Adds image files as attachments to the message The class automatically handles URL shortening and resizing of the image for Twitter image hosting compatibility addURL Adds a URL to the Twitter message The method automatically handles the URL shortening Each of the above methods returns a Boolean result indicating whether the addition of content was successful A return value indicating failure typically means either that the Twitter 140 character limit has been exceeded keep in mind that URLs and images in the message use up characters or that the composer screen

    Original URL path: http://www.techotopia.com/index.php/Integrating_Twitter_into_iPad_iOS_5_Applications (2016-02-13)
    Open archived version from archive

  • An Example iPad iOS 5 TWTweetComposeViewController Twitter Application - Techotopia
    IBAction backgroundTouched id sender end Creating the TWTweetComposeViewController Instance An instance of the TWTweetComposeViewController class needs to be allocated and initialized when the application starts up and assigned to the tweetView variable declared in the previous section The application will also declare the optional completion handler and simply print out diagnostic information before dismissing the model composer controller Finally the button items to need to be added to the toolbar object These steps can be implemented in the viewDidLoad method in the twitterAppViewController m file along with appropriate synthesize directives import twitterAppViewController h interface twitterAppViewController end implementation twitterAppViewController synthesize tweetView textView tweetURL imageView popoverController toolbar void viewDidLoad super viewDidLoad tweetView TWTweetComposeViewController alloc init TWTweetComposeViewControllerCompletionHandler completionHandler TWTweetComposeViewControllerResult result switch result case TWTweetComposeViewControllerResultCancelled NSLog Twitter Result canceled break case TWTweetComposeViewControllerResultDone NSLog Twitter Result sent break default NSLog Twitter Result default break self dismissModalViewControllerAnimated YES tweetView setCompletionHandler completionHandler end Implementing the Action Methods The application has previously declared three action methods which now need to be implemented The selectImage action method needs to present the user with access to the device based camera roll using a UIImagePickerController instance details of which were covered in the chapter entitled Accessing the iPad Camera and Photo Library Within the twitterAppViewController m file add the selectImage method and associated delegate methods as follows void selectImage id sender if self popoverController isPopoverVisible self popoverController dismissPopoverAnimated YES else if UIImagePickerController isSourceTypeAvailable UIImagePickerControllerSourceTypeSavedPhotosAlbum UIImagePickerController imagePicker UIImagePickerController alloc init imagePicker delegate self imagePicker sourceType UIImagePickerControllerSourceTypePhotoLibrary imagePicker mediaTypes NSArray arrayWithObjects NSString kUTTypeImage nil imagePicker allowsEditing NO self popoverController UIPopoverController alloc initWithContentViewController imagePicker popoverController delegate id self self popoverController presentPopoverFromBarButtonItem sender permittedArrowDirections UIPopoverArrowDirectionUp animated YES void imagePickerController UIImagePickerController picker didFinishPickingMediaWithInfo NSDictionary info self popoverController dismissPopoverAnimated true NSString mediaType info objectForKey UIImagePickerControllerMediaType self dismissModalViewControllerAnimated YES if mediaType isEqualToString NSString kUTTypeImage UIImage image info objectForKey UIImagePickerControllerOriginalImage imageView image image else if mediaType isEqualToString NSString kUTTypeMovie Code here to support video if enabled The next step is to implement the backgroundTouched method This method will be called when the user touches the background of the view object and is responsible for ensuring that the keyboard is hidden from view so that it no longer obscures the screen content for more detail on this topic refer to Writing iOS 5 Code to Hide the iPad Keyboard IBAction backgroundTouched id sender textView resignFirstResponder tweetURL resignFirstResponder Finally the code to configure and display the TWTweetComposeViewController user interface needs to be implemented in the form of the previewTweet method void previewTweet id sender NSURL url NSURL alloc initWithString tweetURL text tweetView setInitialText textView text tweetView addImage imageView image tweetView addURL url self presentModalViewController tweetView animated YES This method constructs an NSURL object from the URL string contained in text field and then assigns the text from the text view the URL and the image in the image view to the TWTweetComposeViewController instance before displaying the compose view to the user Updating viewDidUnload The final coding task involves the usual changes to the viewDidUnload method void viewDidUnload super viewDidUnload Release any

    Original URL path: http://www.techotopia.com/index.php/An_Example_iPad_iOS_5_TWTweetComposeViewController_Twitter_Application (2016-02-13)
    Open archived version from archive

  • Preparing and Submitting an iPad iOS 5 Application to the App Store - Techotopia
    select the ID corresponding to the application that is to be submitted to the App Store before clicking the Submit button On the resulting screen the profile will be listed as Pending Refresh the browser page and click on the Download button to save the profile to the local system 4 Drag and drop the downloaded profile onto either the Xcode or iTunes icon in the dock to install it on the system Adding an Icon to the Application Before rebuilding the application for distribution it is important to ensure that a launch icon has been added to the application This is the icon that is used to represent your application on the home screen of the user s device These need to be a PNG image files with dimensions of 72x72 for standard displays and 144 x144 for retina displays Once these images are ready launch Xcode and open the project for the application Select the application target located at the top of the project navigator panel and scroll down the Summary page until the App Icon section comes into view Locate the image in a Finder window and drag and drop it onto the corresponding No image specified place holder Figure 63 1 Similar steps may also be taken to upload splash images that will appear on the screen as the application loads by specifying Launch Images Launch images are also required to be in PNG format with dimensions of 768 x 1004 for portrait and 1024 x 748 for landscape for standard displays and 1536 x 2008 and 2048 x 1496 for the new iPad s retina display Archiving the Application for Distribution The application must now be rebuilt using the previously installed distribution profile This involves using the Archive scheme for the project In the toolbar of the main Xcode window is a drop down menu that displays the name of the application and the target on which the application will run when compiled To view available schemes click on the application name and select Manage Schemes from the menu as illustrated in Figure 63 2 Figure 63 2 When the schemes panel appears select the application from the list and click on the Edit button to display the current list of schemes Figure 63 3 Select the Archive option located in the left hand panel as illustrated in Figure 63 3 and make a note of the Archive Name setting Also verify that Release build configuration is selected and that the Reveal Archive in Organizer option is set before clicking on OK Next select the application target name from the top of the project navigator select Build Settings in the main panel and scroll down to the Code Signing section Under the Release settings make sure that your desired iOS SDK target is selected and that the Distribution certificate is also selected The following figure illustrates the Release build configured to use any SDK and to use the distribution certificate Figure 63 4 With the

    Original URL path: http://www.techotopia.com/index.php/Preparing_and_Submitting_an_iPad_iOS_5_Application_to_the_App_Store (2016-02-13)
    Open archived version from archive

  • IPad iOS 5 Development Essentials - Techotopia
    Data in the Root View Controller Writing Code to Display the Data in the Table View Creating the Second View Controller Connecting the Second View Controller to the Root View Controller Implementing the Functionality of the Second View Controller Adding the Navigation Code Controlling the Navigation Controller Stack Programmatically An iPad iOS 5 Split View and Popover Example An Overview of Split View and Popovers About the Example iPad Split View and Popover Project Creating the Project Reviewing the Project Reviewing the Application Delegate Class Configuring Master View Items Configuring the Detail View Controller Connecting Master Selections to the Detail View Popover Implementation Testing the Application Implementing a Page based iOS 5 iPad Application using UIPageViewController The UIPageViewController Class The UIPageViewController DataSource Navigation Orientation Spine Location The UIPageViewController Delegate Protocol An Example iOS 5 iPad UIPageViewController Application The Xcode Page based Application Template Creating the Project Adding the Content View Controller Creating Data Model Initializing the UIPageViewController Running the UIPageViewController Application Using the UIPickerView and UIDatePicker Components in iOS 5 iPad Applications The DatePicker and PickerView Components A DatePicker Example Designing the User Interface Coding the Date Picker Example Functionality Modifying viewDidUnload Building and Running the iPad Date Picker Application An iOS 5 iPad UIPickerView Example Creating the iPad PickerView Project UIPickerView Delegate and DataSource The pickerViewController h File Designing the User Interface Initializing the Arrays Implementing the DataSource Protocol Implementing the Delegate Updating viewDidUnload Testing the Application Working with Directories on iOS 5 The Application Documents Directory The Objective C NSFileManager NSFileHandle and NSData Classes Understanding Pathnames in Objective C Creating an NSFileManager Instance Object Identifying the Current Working Directory Identifying the Documents Directory Identifying the Temporary Directory Changing Directory Creating a New Directory Deleting a Directory Listing the Contents of a Directory Getting the Attributes of a File or Directory Working with iPad Files on iOS 5 Creating an NSFileManager Instance Checking for the Existence of a File Comparing the Contents of Two Files Checking if a File is Readable Writable Executable Deletable Moving Renaming a File Copying a File Removing a File Creating a Symbolic Link Reading and Writing Files with NSFileManager Working with Files using the NSFileHandle Class Creating an NSFileHandle Object NSFileHandle File Offsets and Seeking Reading Data from a File Writing Data to a File Truncating a File iOS 5 iPad Directory Handling and File I O A Worked Example The Example iPad Application Setting up the Application Project Defining the Actions and Outlets Designing the User Interface Checking the Data File on Application Startup Implementing the Action Method Building and Running the Example Preparing an iOS 5 App to use iCloud Storage What is iCloud iCloud Data Storage Services Preparing an Application to Use iCloud Storage Creating an iOS 5 iCloud enabled App ID Creating and Installing an iCloud Enabled Provisioning Profile Creating an iCloud Entitlements File Manually Creating the Entitlements File Accessing Multiple Ubiquity Containers Ubiquity Container URLs Managing Files using the iOS 5 UIDocument Class An Overview of the UIDocument Class Subclassing the UIDocument Class Conflict Resolution and Document States The UIDocument Example Application Creating a UIDocument Subclass Declaring the Outlets and Actions Designing the User Interface Implementing the Application Data Structure Implementing the contentsForType Method Implementing the loadFromContents Method Loading the Document at App Launch Saving Content to the Document Testing the Application Using iCloud Storage in an iOS 5 iPad Application iCloud Usage Guidelines Preparing the iCloudStore Application for iCloud Access Configuring the View Controller Implementing the viewDidLoad Method Implementing the metadataQueryDidFinishGathering Method Implementing the saveDocument Method Enabling iCloud Document and Data Storage on an iPad Running the iCloud Application Reviewing and Deleting iCloud Based Documents Making a Local File Ubiquitous Synchronizing iPad iOS 5 Key Value Data using iCloud An Overview of iCloud Key Value Data Storage Sharing Data Between Applications Data Storage Restriction Conflict Resolution Receiving Notification of Key Value Changes An iCloud Key Value Data Storage Example Enabling the Application for iCloud Key Value Data Storage Implementing the View Controller Modifying the viewDidLoad Method Implementing the Notification Method Implementing the saveData Method Designing the User Interface Testing the Application iOS 5 iPad Data Persistence using Archiving An Overview of Archiving The Archiving Example Application Implementing the Actions and Outlets Memory Management Designing the User Interface Checking for the Existence of the Archive File on Startup Archiving Object Data in the Action Method Testing the Application iOS 5 iPad Database Implementation using SQLite What is SQLite Structured Query Language SQL Trying SQLite on MacOS X Preparing an iPad Application Project for SQLite Integration Key SQLite Functions Declaring a SQLite Database Opening or Creating a Database Preparing and Executing a SQL Statement Creating a Database Table Extracting Data from a Database Table Closing a SQLite Database An Example SQLite based iOS 5 iPad Application About the Example SQLite iPad Application Creating and Preparing the SQLite Application Project Importing sqlite3 h and declaring the Database Reference Creating the Outlets and Actions Updating viewDidUnload Creating the Database and Table Implementing the Code to Save Data to the SQLite Database Implementing Code to Extract Data from the SQLite Database Designing the User Interface Building and Running the Application Working with iOS 5 iPad Databases using Core Data The Core Data Stack Managed Objects Managed Object Context Managed Object Model Persistent Store Coordinator Persistent Object Store Defining an Entity Description Obtaining the Managed Object Context Getting an Entity Description Creating a Managed Object Getting and Setting the Attributes of a Managed Object Fetching Managed Objects Retrieving Managed Objects based on Criteria An iOS 5 iPad Core Data Tutorial The iPad Core Data Example Application Creating a Core Data based iPad Application Creating the Entity Description Adding a View Controller Adding Actions and Outlets to the View Controller Designing the User Interface Saving Data to the Persistent Store using Core Data Retrieving Data from the Persistent Store using Core Data Updating viewDidUnload Building and Running the Example Application An Overview of iOS 5 iPad Multitouch Taps and Gestures The Responder Chain Forwarding an

    Original URL path: http://www.techotopia.com/index.php?title=IPad_iOS_5_Development_Essentials&oldid=21442 (2016-02-13)
    Open archived version from archive

  • Pages that link to "IPad iOS 5 Development Essentials" - Techotopia
    4 and the iOS 5 SDK iPad links The Anatomy of a New iPad links Creating a Simple iPad iOS 5 App links Testing iOS 5 Apps on the iPad Developer Certificates and Provisioning Profiles links The Basics of Objective C Programming iOS 5 links The Basics of Object Oriented Programming in Objective C iOS 5 links An Overview of the iPad iOS 5 Application Development Architecture links Creating an Interactive iOS 5 iPad App links Writing iOS 5 Code to Hide the iPad Keyboard links Establishing Outlets and Actions using the Xcode Assistant Editor links Understanding iPad iOS 5 Views Windows and the View Hierarchy links Using Xcode Storyboarding with iOS 5 links Using Xcode Storyboards to create an iOS 5 iPad Tab Bar Application links An Overview of iPad iOS 5 Table Views and Xcode Storyboards links Using Xcode Storyboards to Build Dynamic iPad TableViews with Prototype Table View Cells links Implementing iPad TableView Navigation using Xcode Storyboards links Using an Xcode Storyboard to Create a Static iPad Table View links Creating a Simple iOS 5 iPad Table View Application links Creating a Navigation based iOS 5 iPad Application using TableViews links An iPad iOS 5 Split View and Popover Example links Implementing a Page based iOS 5 iPad Application using UIPageViewController links An Example iOS 5 iPad UIPageViewController Application links Using the UIPickerView and UIDatePicker Components in iOS 5 iPad Applications links An iOS 5 iPad UIPickerView Example links Working with Directories on iOS 5 links Working with iPad Files on iOS 5 links IOS 5 iPad Directory Handling and File I O A Worked Example links Preparing an iOS 5 App to use iCloud Storage links Managing Files using the iOS 5 UIDocument Class links Using iCloud Storage in an iOS 5 iPad Application links Synchronizing

    Original URL path: http://www.techotopia.com/index.php/Special:WhatLinksHere/IPad_iOS_5_Development_Essentials (2016-02-13)
    Open archived version from archive



  •