Difference between revisions of "IOS 7 App Development Essentials"
From Techotopia
Line 11: | Line 11: | ||
# [[Start Here iOS 7|Start Here]] | # [[Start Here iOS 7|Start Here]] | ||
+ | #* [[Start Here iOS 7|For New iOS Developers]] | ||
+ | #* [[Start Here iOS 7|For iOS 6 Developers]] | ||
+ | #* [[Start Here iOS 7|Source Code Download]] | ||
+ | #* [[Start Here iOS 7|Errata]]<br><br> | ||
+ | # [[Joining the Apple iOS Developer Program]] | ||
# [[Creating a Simple iOS 7 App]] | # [[Creating a Simple iOS 7 App]] | ||
#* [[Creating a Simple iOS 7 App|Starting Xcode 5]] | #* [[Creating a Simple iOS 7 App|Starting Xcode 5]] |
Revision as of 18:38, 17 October 2013
© 2013 Neil Smyth / Payload Media. This eBook is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved.
<google>BUY_IOS7</google>
- Start Here
- Joining the Apple iOS Developer Program
- Creating a Simple iOS 7 App
- Starting Xcode 5
- Creating the iOS App User Interface
- Changing Component Properties
- Adding Objects to the User Interface
- Building and Running an iOS 7 App in Xcode 5
- Dealing with Build Errors
- Testing Different Screen Sizes
- Testing User Interface Appearance in Different iOS Versions
- Monitoring Application Performance
- Testing Apps on iOS 7 Devices with Xcode 5
- Working with iOS 7 Auto Layout Constraints in Interface Builder
- A Simple Example of Auto Layout in Action
- Enabling and Disabling Auto Layout in Interface Builder
- The Auto Layout Features of Interface Builder
- Suggested Constraints
- Visual Cues
- Highlighting Constraint Problems
- Viewing, Editing and Deleting Constraints
- Creating New Constraints in Interface Builder
- Resolving Auto Layout Problems
- An iOS 7 Auto Layout Example
- Implementing iOS 7 Auto Layout Constraints in Code
- Implementing Cross-Hierarchy Auto Layout Constraints in iOS 7
- Understanding the iOS 7 Auto Layout Visual Format Language
- Using Storyboards in Xcode 5
- Creating the Storyboard Example Project
- Accessing the Storyboard
- Adding Scenes to the Storyboard
- Configuring Storyboard Segues
- Configuring Storyboard Transitions
- Associating a View Controller with a Scene
- Passing Data Between Scenes
- Unwinding Storyboard Segues
- Triggering a Storyboard Segue Programmatically
- Using Xcode 5 Storyboards to Create an iOS 7 Tab Bar Application
- An Overview of the Tab Bar
- Understanding View Controllers in a Multiview Application
- Setting up the Tab Bar Example Application
- Reviewing the Project Files
- Renaming the Initial View Controller
- Adding the View Controller for the Second Content View
- Adding the Tab Bar Controller to the Storyboard
- Adding a Second View Controller to the Storyboard
- Designing the View Controller User interfaces
- Configuring the Tab Bar Items
- Building and Running the Application
- An Overview of iOS 7 Table Views and Xcode 5 Storyboards
- Using Xcode 5 Storyboards to Build Dynamic TableViews with Prototype Table View Cells
- Creating the Example Project
- Adding the TableView Controller to the Storyboard
- Creating the UITableViewController and UITableViewCell Subclasses
- Declaring the Cell Reuse Identifier
- Designing a Storyboard UITableView Prototype Cell
- Modifying the CarTableViewCell Class
- Creating the Table View Datasource
- Downloading and Adding the Image Files
- Compiling and Running the Application
- Implementing iOS 7 TableView Navigation using Storyboards in Xcode 5
- Using an Xcode 5 Storyboard to Create a Static Table View
- An iPad iOS 7 Split View and Popover Example
- Implementing a Page based iOS 7 Application using UIPageViewController
- An Example iOS 7 UIPageViewController Application
- Using the iOS 7 UIPickerView and UIDatePicker Components
- An iOS 7 UIPickerView Example
- Working with Directories on iOS 7
- The Application Documents Directory
- The Objective-C NSFileManager, NSFileHandle and NSData Classes
- Understanding Pathnames in Objective-C
- Obtaining a Reference to the Default NSFileManager 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 Files on iOS 7
- 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 7 Directory Handling and File I/O – A Worked Example
- Preparing an iOS 7 App to use iCloud Storage
- Managing Files using the iOS 7 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
- 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 7 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
- Running the iCloud Application
- Reviewing and Deleting iCloud Based Documents
- Reviewing iCloud Activities in the Xcode Debugging Debug Navigator
- Making a Local File Ubiquitous
- Synchronizing iOS 7 Key-Value Data using iCloud
- An Overview of iCloud Key-Value Data Storage
- Sharing Data Between Applications
- Data Storage Restrictions
- Conflict Resolution
- Receiving Notification of Key-Value Changes
- An iCloud Key-Value Data Storage Example
- Enabling the Application for iCloud Key Value Data Storage
- Designing the User Interface
- Implementing the View Controller
- Modifying the viewDidLoad Method
- Implementing the Notification Method
- Implementing the saveData Method
- iOS 7 Data Persistence using Archiving
- iOS 7 Database Implementation using SQLite
- What is SQLite?
- Structured Query Language (SQL)
- Trying SQLite on MacOS X
- Preparing an iOS 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 7 Application
- About the Example SQLite Application
- Creating and Preparing the SQLite Application Project
- Importing sqlite3.h and declaring the Database Reference
- Designing the User Interface
- Creating the Database and Table
- Implementing the Code to Save Data to the SQLite Database
- Implementing Code to Extract Data from the SQLite Database
- Building and Running the Application
- Working with iOS 7 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 7 Core Data Tutorial
- The Core Data Example Application
- Creating a Core Data based Application
- Creating the Entity Description
- Adding a Storyboard to the Project
- Adding a View Controller
- Designing the User Interface
- Saving Data to the Persistent Store using Core Data
- Retrieving Data from the Persistent Store using Core Data
- Building and Running the Example Application
- An Overview of iOS 7 Multitouch, Taps and Gestures
- An Example iOS 7 Touch, Multitouch and Tap Application
- The Example iOS 7 Tap and Touch Application
- Creating the Example iOS Touch Project
- Designing the User Interface
- Enabling Multitouch on the View
- Implementing the touchesBegan Method
- Implementing the touchesMoved Method
- Implementing the touchesEnded Method
- Getting the Coordinates of a Touch
- Building and Running the Touch Example Application
- Detecting iOS 7 Touch Screen Gesture Motions
- Identifying Gestures using iOS 7 Gesture Recognizers
- The UIGestureRecognizer Class
- Recognizer Action Messages
- Discrete and Continuous Gestures
- Obtaining Data from a Gesture
- Recognizing Tap Gestures
- Recognizing Pinch Gestures
- Detecting Rotation Gestures
- Recognizing Pan and Dragging Gestures
- Recognizing Swipe Gestures
- Recognizing Long Touch (Touch and Hold) Gestures
- An iOS 7 Gesture Recognition Tutorial
- An Overview of iOS 7 Collection View and Flow Layout
- An Overview of Collection Views
- The UICollectionView Class
- The UICollectionViewCell Class
- The UICollectionReusableView Class
- The UICollectionViewFlowLayout Class
- The UICollectionViewLayoutAttributes Class
- The UICollectionViewDataSource Protocol
- The UICollectionViewDelegate Protocol
- The UICollectionViewDelegateFlowLayout Protocol
- Cell and View Reuse
- An iOS 7 Storyboard-based Collection View Tutorial
- Creating the Collection View Example Project
- Removing the Template View Controller
- Adding a Collection View Controller to the Storyboard
- Adding the Collection View Cell Class to the Project
- Designing the Cell Prototype
- Implementing the Data Model
- Implementing the Data Source
- Testing the Application
- Setting Sizes for Cell Items
- Changing Scroll Direction
- Implementing a Supplementary View
- Implementing the Supplementary View Protocol Methods
- Deleting Collection View Items
- Subclassing and Extending the iOS 7 Collection View Flow Layout
- About the Example Layout Class
- Subclassing the UICollectionViewFlowLayout Class
- Extending the New Layout Class
- Implementing the layoutAttributesForItemAtIndexPath: Method
- Implementing the layoutAttributesForElementsInRect: Method
- Implementing the modifyLayoutAttributes: Method
- Adding the New Layout and Pinch Gesture Recognizer
- Implementing the Pinch Recognizer
- Avoiding Image Clipping
- Testing the Application
- Drawing iOS 7 2D Graphics with Core Graphics
- An iOS 7 Graphics Tutorial using Core Graphics and Core Image
- The iOS Drawing Example Application
- Creating the New Project
- Creating the UIView Subclass
- Locating the drawRect Method in the UIView Subclass
- Drawing a Line
- Drawing Paths
- Drawing a Rectangle
- Drawing an Ellipse or Circle
- Filling a Path with a Color
- Drawing an Arc
- Drawing a Cubic Bézier Curve
- Drawing a Quadratic Bézier Curve
- Dashed Line Drawing
- Drawing Shadows
- Drawing Gradients
- Drawing an Image into a Graphics Context
- Image Filtering with the Core Image Framework
- Basic iOS 7 Animation using Core Animation
- UIView Core Animation Blocks
- Understanding Animation Curves
- Receiving Notification of Animation Completion
- Performing Affine Transformations
- Combining Transformations
- Creating the Animation Example Application
- Implementing the Interface File
- Drawing in the UIView
- Detecting Screen Touches and Performing the Animation
- Building and Running the Animation Application
- iOS 7 UIKit Dynamics - An Overview
- Understanding UIKit Dynamics
- The UIKit Dynamics Architecture
- Dynamic Items
- Dynamic Behaviors
- The Reference View
- The Dynamic Animator
- Implementing UIKit Dynamics in an iOS 7 Application
- Dynamic Animator Initialization
- Configuring Gravity Behavior
- Configuring Collision Behavior
- Configuring Attachment Behavior
- Configuring Snap Behavior
- Configuring Push Behavior
- The UIDynamicItemBehavior Class
- Combining Behaviors to Create a Custom Behavior
- An iOS 7 UIKit Dynamics Tutorial
- An Introduction to iOS 7 Sprite Kit Programming
- An iOS 7 Sprite Kit Game Tutorial
- About the Sprite Kit Demo Game
- Creating the SpriteKitDemo Project
- Reviewing the SpriteKit Game Template Project
- Creating the Game Scene Classes
- Implementing the Welcome Scene
- Transitioning to the Archery Scene
- Transitioning to the Archery Scene
- Preparing the Archery Scene
- Adding the Texture Atlas
- Obtaining a Texture from the Atlas
- Preparing the Animation Texture Atlas
- Animating the Archer Sprite Node
- Creating the Arrow Sprite Node
- Creating the Arrow Sprite Node
- Shooting the Arrow
- Adding the Ball Sprite Node
- An iOS 7 Sprite Kit Collision Handling Tutorial
- An iOS 7 Sprite Kit Particle Emitter Tutorial
- What is the Particle Emitter?
- The Particle Emitter Editor
- The SKEmitterNode Class
- Using the Particle Emitter Editor
- Particle Emitter Node Properties
- Background
- Particle Texture
- Particle Birthrate
- Particle Life Cycle
- Particle Position Range
- Angle
- Particle Speed
- Particle Acceleration
- Particle Scale
- Particle Rotation
- Particle Color
- Particle Blend Mode
- Experimenting with the Particle Emitter Editor
- Bursting a Ball using Particle Emitter Effects
- Adding the Burst Particle Emitter Effect
- Integrating iAds into an iOS 7 App
- iOS Advertising Options
- Preparing to Run iAds within an Application
- iAd Advertisement Formats
- Banner Ads
- Interstitial Ads
- Medium Rectangle Ads
- Pre-Roll Video Ads
- Creating an Example iAds Application
- Adding the iAds Framework to the Xcode Project
- Enabling Banner Ads
- Adding a Medium Rectangle Ad
- Implementing an Interstitial Ad
- Configuring iAds Test Settings
- Going Live with iAds
- iOS 7 Multitasking, Background Transfer Service and Fetching
- Understanding iOS Application States
- A Brief Overview of the Multitasking Application Lifecycle
- Checking for Multitasking Support
- Enabling Multitasking for an iOS Application
- Supported Forms of Background Execution
- An Overview of Background Fetch
- An Overview of Remote Notifications
- An Overview of Local Notifications
- An Overview of Background Transfer Service
- The Rules of Background Execution
- An iOS 7 Background Transfer Service Tutorial
- Scheduling iOS 7 Local Notifications
- An Overview of iOS 7 Application State Preservation and Restoration
- An iOS 7 State Preservation and Restoration Tutorial
- Creating the Example Application
- Trying the Application without State Preservation
- Opting-in to State Preservation
- Setting Restoration Identifiers
- Encoding and Decoding View Controller State
- Adding a Navigation Controller to the Storyboard
- Adding the Third View Controller
- Creating the Restoration Class
- Integrating Maps into iOS 7 Applications using MKMapItem
- An Example iOS 7 MKMapItem Application
- Getting Location Information using the iOS 7 Core Location Framework
- An Example iOS 7 Location Application
- Working with Maps on iOS 7 with MapKit and the MKMapView Class
- About the MapKit Framework
- Understanding Map Regions
- About the MKMapView Tutorial
- Creating the Map Project
- Adding the MapKit Framework to the Xcode Project
- Adding the Navigation Controller
- Creating the MKMapView Instance and Toolbar
- Configuring the Map View
- Changing the MapView Region
- Changing the Map Type
- Testing the MapView Application
- Updating the Map View based on User Movement
- Working with MapKit Local Search in iOS 7
- Using MKDirections to get iOS 7 Map Directions and Routes
- An Overview of MKDirections
- Adding Directions and Routes to the MapSample Application
- Adding the New Classes to the Project
- Configuring the Results Table View
- Implementing the Result Table View Segue
- Adding the Route Scene
- Getting the Route and Directions
- Establishing the Route Segue
- Testing the Application
- Using iOS 7 Event Kit to Create Date and Location Based Reminders
- An Overview of the Event Kit Framework
- The EKEventStore Class
- Accessing Calendars in the Database
- Accessing Current Reminders
- Creating Reminders
- Creating Alarms
- Creating the Example Project
- Designing the User Interface for the Date/Time Based Reminder Screen
- Implementing the Reminder Code
- Hiding the Keyboard
- Designing the Location-based Reminder Screen
- Creating a Location-based Reminder
- Testing the Application
- Accessing the iOS 7 Camera and Photo Library
- An Example iOS 7 iPhone Camera Application
- Video Playback from within an iOS 7 Application
- Playing Audio on iOS 7 using AVAudioPlayer
- Supported Audio Formats
- Receiving Playback Notifications
- Controlling and Monitoring Playback
- Creating the Audio Example Application
- Adding an Audio File to the Project Resources
- Designing the User Interface
- Implementing the Action Methods
- Creating and Initializing the AVAudioPlayer Object
- Implementing the AVAudioPlayerDelegate Protocol Methods
- Building and Running the Application
- Recording Audio on iOS 7 with AVAudioRecorder
- Integrating Twitter and Facebook into iOS 7 Applications
- An iOS 7 Facebook Integration Tutorial using UIActivityViewController
- iOS 7 Facebook and Twitter Integration using SLRequest
- An iOS 7 Twitter Integration Tutorial using SLRequest
- Making Store Purchases with the iOS 7 SKStoreProductViewController Class
- Building In-App Purchasing into iOS 7 Applications
- Preparing an iOS 7 Application for In-App Purchases
- An iOS 7 In-App Purchase Tutorial
- Configuring and Creating App Store Hosted Content for iOS 7 In-App Purchases
- Preparing and Submitting an iOS 7 Application to the App Store
- Promoting your iOS Apps using iAd Workbench