The index:
- Start Here
- Joining the Apple iOS 8 Developer Program
- Installing Xcode 6 and the iOS 8 SDK
- A Guided Tour of Xcode 6
- Testing Apps on iOS 8 Devices with Xcode 6
- An Introduction to Swift Playgrounds
- Swift Data Types, Constants and Variables
- Using a Swift Playground
- Swift Data Types
- Integer Data Types
- Floating Point Data Types
- Bool Data Type
- Character Data Type
- String Data Type
- Special Characters/Escape Sequences
- Swift Variables
- Swift Constants
- Declaring Constants and Variables
- Type Annotations and Type Inference
- Type Casting and Type Checking
- The Swift Tuple
- The Swift Optional Type
- Swift Operators and Expressions
- Expression Syntax in Swift
- The Basic Assignment Operator
- Swift Arithmetic Operators
- Compound Assignment Operators
- Increment and Decrement Operators
- Comparison Operators
- Boolean Logical Operators
- Range Operators
- The Ternary Operator
- Bitwise Operators
- Bitwise NOT
- Bitwise AND
- Bitwise OR
- Bitwise XOR
- Bitwise Left Shift
- Bitwise Right Shift
- Compound Bitwise Operators
- Swift Flow Control
- The Swift Switch Statement
- An Overview of Swift Functions and Closures
- What is a Function?
- How to Declare a Swift Function
- Calling a Swift Function
- Declaring External Parameter Names
- Declaring Default Function Parameters
- Returning Multiple Results from a Function
- Variable Numbers of Function Parameters
- Parameters as Variables
- Working with In-Out Parameters
- Functions as Parameters
- Closure Expressions
- Closures in Swift
- The Basics of Object Oriented Programming in Swift
- An Introduction to Swift Inheritance
- Working with Array and Dictionary Collections in Swift
- Mutable and Immutable Collections
- Swift Array Initialization
- Working with Arrays in Swift
- Array Item Count
- Accessing Array Items
- Appending Items to an Array
- Inserting and Deleting Array Items
- Array Iteration
- Swift Dictionary Collections
- Swift Dictionary Initialization
- Dictionary Item Count
- Accessing and Updating Dictionary Items
- Adding and Removing Dictionary Entries
- Dictionary Iteration
- The iOS 8 Application and Development Architecture
- Creating an Interactive iOS 8 App
- Understanding iOS 8 Views, Windows and the View Hierarchy
- An Introduction to Auto Layout in iOS 8
- Working with iOS 8 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
- Adding Aspect Ratio Constraints
- Resolving Auto Layout Problems
- An iOS 8 Auto Layout Example
- Implementing iOS 8 Auto Layout Constraints in Swift Code
- Implementing Cross-Hierarchy Auto Layout Constraints in iOS 8
- Understanding the iOS 8 Auto Layout Visual Format Language in Swift
- Using Size Classes to Design Universal iOS User Interfaces
- Understanding Size Classes
- Size Classes in Interface Builder
- Setting “Any” Defaults
- Working with Size Classes in Interface Builder
- A Universal User Interface Tutorial
- Designing the iPad Layout
- Adding Universal Image Assets
- Designing the iPhone Layout
- Adding a Size Class Specific Image File
- Removing Redundant Constraints
- Previewing Layouts
- Testing the Application
- Using Storyboards in Xcode 6
- 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 6 Storyboards to Create an iOS 8 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
- Adding the View Controllers for the Content Views
- Adding the Tab Bar Controller to the Storyboard
- Designing the View Controller User interfaces
- Configuring the Tab Bar Items
- Building and Running the Application
- An Overview of iOS 8 Table Views and Xcode 6 Storyboards
- Using Storyboards and Swift 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 AttractionTableViewCell Class
- Creating the Table View Datasource
- Downloading and Adding the Image Files
- Compiling and Running the Application
- Implementing iOS 8 TableView Navigation using Storyboards in Xcode 6 and Swift
- An iOS 8 Swift Split View Master-Detail Example
- An Overview of Split View and Popovers
- About the Example Split View Project
- Creating the Project
- Reviewing the Project
- Configuring Master View Items
- Configuring the Detail View Controller
- Connecting Master Selections to the Detail View
- Modifying the DetailViewController Class
- Testing the Application
- Implementing a Swift Page based iOS 8 Application using UIPageViewController
- An Example Swift iOS 8 UIPageViewController Application
- Working with Directories in Swift on iOS 8
- The Application Documents Directory
- The NSFileManager, NSFileHandle and NSData Classes
- Understanding Pathnames in Swift
- Obtaining a Reference to the Default NSFileManager Object
- Identifying the Current Working Directory
- Identifying the Documents Directory
- Identifying the Temporary Directory
- Changing Directory
- Deleting a Directory
- Listing the Contents of a Directory
- Getting the Attributes of a File or Directory
- Working with Files in Swift on iOS 8
- 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 8 Directory Handling and File I/O in Swift – A Worked Example
- Preparing an iOS 8 App to use iCloud Storage
- Managing Files using the iOS 8 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 8 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
- Making a Local File Ubiquitous
- Synchronizing iOS 8 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
- Testing the Application
- iOS 8 Data Persistence using Archiving and Swift
- Swift iOS 8 Database Implementation using SQLite
- An Example SQLite based iOS 8 Application using Swift and FMDB
- About the Example SQLite Application
- Creating and Preparing the SQLite Application Project
- Checking Out the FMDB Source Code
- 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
- iOS 8 Databases in Swift 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
- Generating a Managed Object Subclass
- Setting the Attributes of a Managed Object
- Saving a Managed Object
- Fetching Managed Objects
- Retrieving Managed Objects based on Criteria
- Accessing the Data in a Retrieved Managed Object
- An iOS 8 Swift Core Data Tutorial
- The Core Data Example Application
- Creating a Core Data based Application
- Creating the Entity Description
- Generating the Managed Object Subclass
- Modifying the Entity Class Name
- Designing the User Interface
- Accessing the Managed Object Context
- 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 Introduction to CloudKit Data Storage on iOS 8
- An iOS 8 CloudKit Example
- About the Example CloudKit Project
- Creating the CloudKit Example Project
- Designing the User Interface
- Establishing Outlets and Actions
- Accessing the Public Database
- Hiding the Keyboard
- Implementing the selectPhoto method
- Saving a Record to the Cloud Database
- Implementing the notifyUser Method
- Testing the Record Saving Method
- Searching for Cloud Database Records
- Updating Cloud Database Records
- Deleting a Cloud Record
- Testing the Application
- An iOS 8 CloudKit Subscription Example
- Push Notifications and CloudKit Subscriptions
- Registering an App to Receive Push Notifications
- Configuring a CloudKit Subscription
- Handling Remote Notifications
- Implementing the didReceiveRemoteNotification Method
- Fetching a Record From a Cloud Database
- Implementing the didFinishLaunchingWithOptions Method
- Testing the Application
- An Overview of iOS 8 Multitouch, Taps and Gestures
- An Example Swift iOS 8 Touch, Multitouch and Tap Application
- The Example iOS 8 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 8 Touch Screen Gesture Motions in Swift
- Identifying Gestures using iOS 8 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 8 Swift Gesture Recognition Tutorial
- Implementing TouchID Authentication in iOS 8 Apps
- An Overview of iOS 8 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
- A Swift iOS 8 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
- Subclassing and Extending the iOS 8 Collection View Flow Layout in Swift
- 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 8 2D Graphics in Swift with Core Graphics
- Interface Builder Live Views and iOS 8 Embedded Frameworks
- An iOS 8 Swift 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 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 8 Swift 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 Variables
- Drawing in the UIView
- Detecting Screen Touches and Performing the Animation
- Building and Running the Animation Application
- iOS 8 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 8 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
- A Swift iOS 8 UIKit Dynamics Tutorial
- An Introduction to iOS 8 Sprite Kit Game Programming
- An iOS 8 Swift Sprite Kit Level Editor Game Tutorial
- About the Sprite Kit Demo Game
- Creating the SpriteKitDemo Project
- Reviewing the SpriteKit Game Template Project
- Restricting Interface Orientation
- Modifying the GameScene SpriteKit Scene File
- Creating the Archery Scene
- Transitioning to the Archery Scene
- Adding the Texture Atlas
- Designing the Archery Scene
- Preparing the Archery Scene
- Preparing the Animation Texture Atlas
- Animating the Archer Sprite Node
- Creating the Arrow Sprite Node
- Shooting the Arrow
- Adding the Ball Sprite Node
- A Swift iOS 8 Sprite Kit Collision Handling Tutorial
- An iOS 8 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 8 App using Swift
- 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
- Integrating Maps into iOS 8 Applications using MKMapItem and Swift
- An Example Swift iOS 8 MKMapItem Application
- Getting Location Information using the iOS 8 Core Location Framework in Swift
- The Core Location Manager
- Requesting Location Access Authorization
- Configuring the Desired Location Accuracy
- Configuring the Distance Filter
- The Location Manager Delegate
- Starting Location Updates
- Obtaining Location Information from CLLocation Objects
- Longitude and Latitude
- Accuracy
- Altitude
- Calculating Distances
- Location Information and Multitasking
- A Swift Example iOS 8 Location Application
- Working with Maps on iOS 8 with Swift, 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
- Obtaining Location Information Permission
- Setting up the Usage Description Key
- 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 8 and Swift
- Using MKDirections to get iOS 8 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
- An Introduction to Extensions in iOS 8
- An iOS 8 Today Extension Widget Tutorial
- About the Example Extension Widget
- Creating the Example Project
- Adding the Extension to the Project
- Reviewing the Extension Files
- Designing the Widget User Interface
- Setting the Preferred Content Size in Code
- Modifying the Widget View Controller
- Testing the Extension
- Opening the Containing App from the Extension
- Creating an iOS 8 Photo Editing Extension
- Creating a Photo Editing Extension
- Accessing the Photo Editing Extension
- Configuring the Info.plist File
- Designing the User Interface
- The PHContentEditingController Protocol
- Photo Extensions and Adjustment Data
- Receiving the Content
- Implementing the Filter Actions
- Returning the Image to the Photos App
- Testing the Application
- Creating an iOS 8 Action Extension
- An Overview of Action Extensions
- About the Action Extension Example
- Creating the Action Extension Project
- Adding the Action Extension Target
- Configuring the Action Extension
- Designing the Action Extension User Interface
- Receiving the Content
- Returning the Modified Data to the Host App
- Testing the Extension
- Receiving Data from an iOS 8 Action Extension
- Using iOS 8 Event Kit and Swift to Create Date and Location Based Reminders
- An Overview of the Event Kit Framework
- The EKEventStore Class
- Accessing Calendars in the Database
- 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
- Setting up the Usage Description Key
- Testing the Application
- Accessing the iOS 8 Camera and Photo Library in Swift
- An Example Swift iOS 8 iPhone Camera Application
- iOS 8 Video Playback using AVPlayer and AVPlayerViewController
- Playing Audio on iOS 8 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 8 with AVAudioRecorder in Swift
- Integrating Twitter and Facebook into iOS 8 Applications using Swift
- An iOS 8 Swift Facebook Integration Tutorial using UIActivityViewController
- iOS 8 Facebook and Twitter Integration using SLRequest and Swift
- An Swift iOS 8 Twitter Integration Tutorial using SLRequest
- Making Store Purchases in Swift with the SKStoreProductViewController Class
- Building In-App Purchasing into iOS 8 Swift Applications
- Preparing an iOS 8 Application for In-App Purchases
- An iOS 8 Swift In-App Purchase Tutorial
- Configuring and Creating App Store Hosted Content for iOS 8 In-App Purchases
http://www.techotopia.com/index.php/IOS_8_App_Development_Essentials
Leave a Reply