3D (three dimensional) transforms
in CALayer, 201
3G (three-G) data connection, 62
ACAccountCredential
defined, 118
migrating accounts into Accounts, 124
ACAccounts
accessing, 121
defined, 118
ACAccountStore
maintaining separation, 127
populating with available accounts, 121
ACAccountStoreDidChangeNotification
, 126, 138
ACAccountType
defined, 119
ACAccountTypeIdentifierTwitter
, 118–119
in Accounts framework, 121–122
migrating into Accounts, 122–124
accessGranted
, 121
accessing accounts in, 121–122
defined, 18
migrating users from existing apps into, 122–124
overview, 113
special considerations, 125–127
using, 118
accountsd process, 121
accountsDidChange:
, 126
accuracy
for region monitoring, 100
addCurveToPoint
, 156
adding
new objects in Core Data, 41–42
new persistent stores, 38
address dictionaries, 106
airplane mode and geocoding, 103
alpha
, 195
Ambient mode
AVAudioPlayer, 239
AVAudioSession, 234
analyzing images
with CIDetector, 168
overview, 166
Angry Birds, 225
animateWithDuration:animations:
, 200
animation. see Core Animation
animationDidStop
, 197
animationWithKeyPath
, 209
Aperture, 164
APNS (Apple Push Notification Service)
appearance of Newsstand app, 290
Apple
audio session documentation, 237
Core Animation, 194
Core Image, 164
document storage, 78
Mac OS X. see Mac OS X
multicore processor, 11
Twitter and Accounts, 113
video streaming guidelines, 257
Apple Push Notification Service (APNS)
Application Music Player, 229–230
Application presents content in Newsstand, 280
applicationDidLaunch
, 293
applyingFilter
, 190
apps
challenges of audio, 224
iCloud storage between platforms, 61
iCloud use case, 55
migrating users from existing into Accounts, 122–124
Newsstand. see Newsstand Kit
Top Ten Technologies of iOS 5, 18–19
Twitter. see Twitter
understanding Newsstand, 282–283
using multicore processors, 11
why use Core Graphics?, 148
ARC (Automatic Reference Counting), 6
architecture of Core Data, 25
assets
Assets Library, 247
defined, 244
ATOM feed, 281
attributes. see also properties
defined, 26
for complex filters, 176
key-value coding and, 168
for Sepia-tone filter, 175
audio. see Core Audio
audio capture. see capturing media
Audio Toolbox, 226
Audio Unit, 226
audioPlayerBeginInterruption:
, 240
audioPlayerdecodeErrordidOccur:error:
, 240
audioPlayerdidFinishPlaying:successfully:
, 240
audioPlayerEndInterruption:
, 240
AudioSessionGetProperty()
, 236
authentication
migrating into Accounts, 122–124
understanding OAuth services, 115–116
author’s note, 299
auto adjustment filters, 183
automatic filter enhancement, 166
Automatic Reference Counting (ARC), 6
AVCaptureSession, 262
AVCaptureVideoPreviewLayer, 262–263
defined, 19
in-camera effects and video, 269–270
linking to project, 226
MPMoviePlayerController, 256–261
multimedia frameworks, 222–223
out-of-the-box solutions, 248
overview, 243
UIImagePickerController, 248–255
availability
checking Twitter, 131
determining location service, 88–90
Newsstand content, 293
AVAsset, 244
AVCaptureVideoPreviewLayer, 262–263, 265–266
AVPlayerLayer, 244
background processes
Newsstand app, 291
Newsstand app properties, 280
Newsstand apps waking up, 296–297
rendering and filtering images, 184–186
standard location services as, 93
using expiration handler, 295–296
backgroundColor
UIKit animation, 195
beginGeneratingPlaybackNotification
, 231
beginInterruption
, 236
blocks
running filters in background thread, 184–186
UIKit animations with, 199–200
using in iOS frameworks, 16–17
bounds
, 195
bundle ID
defined, 54
using wildcards in, 57
CAAnimation
defined, 203
CABasicAnimation, 203
Caches folder
defined, 284
downloading Newsstand content to, 285–286
moving downloaded files to, 289
CAKeyframeAnimation
along paths, 208
color change animation, 206–207
defined, 203
CALayer
AVPlayerLayer and, 244
Calendar, 148
cameras
adding to AVCaptureSession, 264–267
capture mode, 255
creating recorder with UIImagePickerController, 251–254
filters. see filters
images. see images
in-camera effects and video, 269–270
UIImagePickerController source types, 250
canSendTweet
, 131
captureMode
, 255
captureStillImageAsynchronouslyFromConnection:
, 267–269
AVCaptureSession, 262
AVCaptureVideoPreviewLayer, 262–263
in-camera effects and video, 269–270
using UIImagePickerController, 250–254
CATransitionAnimation, 203
cell towers
location information, 84
significant location change monitoring, 94
center
, 195
CFBundleIcons
, 280
CGImageRef
rendering images, 181
rendering in background thread, 185–186
CGPDFGraphicsContext, 147
Core Data persistent store, 74–75
iCloud, 53
observing account database, 126
syncing, 70
CIContext
rendering in background thread, 185–186
CIDetector
CIFaceFeature, 168
CIFeature, 168
CIImage
CIVector, 169
classes
defined, 8
generating managed object, 27
overview, 91
responding to new information for, 100–101
significant location change monitoring, 94–95
standard location service, 91–93
CLLocationManagerauthorizationStatus
, 88–90
CLLocationManagerlocationServicesEnabled
, 88–90
CLPlacemarks
Cocoa Touch, 5
coding. see Xcode
coding, key-value. see key-value coding
colors
animating particle emitters, 215–216
UIKit animation, 195
compass, 96
completion block handlers
capturing still image with, 269
executing code on main thread from, 125–126
handling TWRequest response, 136–137
tweet compose view controller, 131
complex filters, 176
concurrency
in Core Data, 33
in GCD, 13
when creating managed object context, 39
condition change notification, 69
connectionDidFinishDownload
handling finished downloads, 287–289
updating app appearance, 290
connectionDidFinishLoading
, 134
connections
geocoding requirements, 103
content
downloading Newsstand app, 284–290
loading into MPMoviePlayerController, 257–261
Newsstand updated notifications, 293
responding to remote notifications, 295–296
contentStretch
, 195
context, graphics. see graphics context
context, managed object. see managed object context
control events, 47
coordinate system of Core Graphics, 145–146
animating along paths, 207–208
defined, 19
overview, 193
defined, 19
multimedia frameworks, 222–223
overview, 221
using audio from other sources, 232
using iPod Music Library, 227–231
concurrency in, 33
fetching and modifying objects, 42–44
getting started, 24
overview, 23
persistent store and store file, 28–30
persistent store coordinator, 28
stack, 25
undo, redo, rollback and reset, 45–48
Core Data Model Editor
creating managed object model, 35–36
defined, 26
defined, 18
linking to AV Foundation project, 247
overview, 141
paths, gradients, text, and images, 154–160
defined, 19
don’t block main thread, 184–186
linking to AV Foundation project, 247
overview, 163
still images and video frames, 170–172
defined, 18
forwarding and reverse geocoding, 102–107
manager. see CLLocationManager
overview, 81
Core Media, 247
Core OS, 5
Core Services
Core Location. see Core Location
defined, 5
GCD in, 14
cover updating, 290
customization
with Core Graphics, 148
CVPixelBuffer, 171
data management. see Core Data
default iCloud settings, 54
defaultStore
, 64
animation contexts, 197
AVAudioPlayer, 240
handling audio interruptions, 236
Map Kit, 109
media picker controller, 227–229
NSURLConnectionDownloadDelegate, 287–289
reconnecting abandoned asset downloads, 297–298
registering for Newsstand update notifications, 293
detecting audio sessions, 235–236
detecting faces. see face detection
device orientation, 268
dictionaries, address, 106
dictionaries, attribute. see attributes dictionary
didEnterRegion
, 98
didExitRegion
, 98
didReceiveRemoteNotification
, 294, 295
dispatch queues vs. operation queues, 13–14
document apps, 55
document storage
downloading Newsstand content
reconnecting abandoned, 297–298
downloadIssueWithInfo
, 296
drawing in Core Graphics, 155–160
drawRect:
Core Graphics image, 160
nesting save and restore calls, 152
overriding, 147
EAGLContext, 180
EaseIn, 208
EaseInEaseOut, 208
EaseOut, 208
editing images. see Core Image
effects
filter. see filters
in-camera effects and video, 269–270
Elliott, Bryan, 164
emitterMode
, 213
emitterShape
, 213
enabling iCloud
quick starting, 54
enabling Newsstand app, 281
endInterruptionWithFlags:
, 236
entities
creating managed object model, 36
defined, 26
entitlements
adding required to iCloud, 58–60
determining availability of iCloud, 71
exception, unknown key, 177
explicit animations, 202
with CIDetector, 168
defined, 166
featuresInImage:options:
, 182–183
fetched properties
creating managed object model, 36
defined, 27
fetching objects
managed object context, 32
file coordinator object, 76
AV Foundation, 270
in CIImage, 172
overview of Core Image, 164
running in background thread, 184–186
filtersInCategory:
, 187
filtersnamesinCategory:
, 174
flash simulation, 267
Flipboard page-turn effect, 211–212
fonts, 159
format of APNS, 294
Foundation
AV. see AV Foundation
iOS crash course, 8
iOS prerequisites, 4
objects, 136
frame
, 195
frameworks, 8
Garage Band, 148
completion block handlers, 120
concurrency in Core Data, 33
running filters in background thread, 184–186
UIKit animations with blocks, 199–200
geocodeAddressDictionary
, 106
GET method, 133
Google Maps, 96
Google Services, 82
gotchas
GPU rendering
image, 181
Grand Central Dispatch (GCD). see GCD (Grand Central Dispatch)
graphics. see Core Graphics
defined, 147
AVCaptureSession, 266
camera device capability, 254
for location-based apps, 84–85
HD (high-definition) recording, 266
heading monitoring
delegate methods, 101
high-definition (HD) recording, 266
iCloud
adding required entitlements, 58–60
before you begin, 56
defined, 18
enabling in iOS Provisioning Portal, 57–58
getting started, 52
overview, 51
use case, 55
iCloud Container Identifier, 71
iCloud Daemon, 67
Icon Files, 280
icons, Newsstand app
aspect ratio, 276
styles, 280
updating appearance, 290
identifiers
account, 121
maintaining account store separation, 127
team prefix. see team prefix identifiers
image picker controller, 248–255
in AV Foundation. see AV Foundation
in Core Graphics, 160
in Core Image. see Core Image
still images and video frames, 170–172
uploading with tweet compose view controller, 130
implicit animations, 202
importing
Accounts and Twitter to project, 114
audio frameworks, 226
Core Graphics, 143
Core Image, 167
Core Location and Map Kit, 83
framework into header files, 10
Newsstand Kit, 278
Quartz Core, 196
inputImage
, 175
instance variables
preventing filter lag, 188–190
setting CIContext as, 180, 186
interruptions, handling audio, 236, 240
iOS frameworks
enabling iCloud in Provisioning Portal, 57–58
overview, 3
understanding impact of multicore processor, 11–17
iOS Provisioning Portal, 54, 57–58
iPad
multicore processor, 11
resolution, 145
iPhone
multicore processor, 11
resolution, 145
issues, Newsstand Kit
handling finished download and progress, 288–289
iTunes Connect, 281
iWork applications, 55
Java, 12
Jobs, Steve, 51
Key Value Observing (KVO), 267, 269
keyframe animations
CAKeyframeAnimation, 203
keys
location-based app, 85
attributes dictionary and, 177
custom animation, 205
defined, 168
format of APNS, 294
iCloud use case, 55
quick starting iCloud, 54
responding to change notifications, 67–69
KVO (Key Value Observing), 267, 269
launch site, 213
layers
graphics context, 151
iOS, 5
layers, Core Animation
assigning animations to, 204–205
LibDispatch, 178
libraries, photo
capturing still image, 267–269
selecting photos from, 249–250
library, Newsstand Kit, 282–283, 297–298
Liner, 208
linking
Accounts and Twitter to project, 114
audio frameworks, 226
AV Foundation to project, 247
Core Data framework, 35
Core Graphics to project, 143
Core Image, 167
Core Location and Map Kit, 83
new frameworks in Xcode project, 9–10
Newsstand Kit to project, 278
Quartz Core to project, 196
loading content into MPMoviePlayerController, 257–261
location manager. see CLLocationManager
location-services, 85
Core Image, 163
enabling iCloud, 56
iCloud storage between platforms, 61
native frameworks in iOS, 4
main dispatch queue
creating managed object context, 39
fetching and modifying objects, 42–44
tips and tricks, 48
undo, redo, rollback and reset, 47
managed object model
Map Kit
Core Location and, 91
forward and reverse geocoding, 102
maximum duration of video, 255
Media
AV Foundation, 243
Core Animation, 193
Core Audio, 221
Core Graphics, 141
Core Image, 163
defined, 5
media capture. see capturing media
media picker controller, 227–229
Media Player
MPMediaPickerController, 227–229
MPMoviePlayerController, 245, 256–261
MPMoviePlayerViewController, 261
MPMusicPlayerController, 229–230
multimedia frameworks, 222–223
mediaLibraryButtonPressed:
, 227–229
mergeChangesFromContextDidSaveNotification:
, 70
message composition, 130
methods
Core Graphics image, 160
for creating CIImage, 171
delegate. see delegate methods
text, 159
UIBezierPath, 156
migrating users in Accounts, 122–124
mirroring data with iCloud, 53, 55
Mobile Core Services, 247
mobile platforms, 3
model layer of Core Animation, 202
Model-View-Controller (MVC) design paradigm, 24–25
modifying objects in Core Data, 42–44
monitoring
significant location change, 94–95
movie player controller, 256–261
moviePlayer
, 261
MPMediaPickerController, 227–229
MPMoviePlayerController, 245, 256–261
MPMoviePlayerViewController, 256–257, 261
MPMusicPlayerController, 229–230
multimedia frameworks
multithreading
in multicore processor, 12
UIKit animations with blocks, 199–200
music player controller, 229–230
MVC (Model-View-Controller) design paradigm, 24–25
naming
Newsstand issues, 283
newCover
, 290
Newsstand Content Availability, 291–292
defined, 19
overview, 275
special considerations, 296–298
NKAssetDownload
defined, 282
handling finished download and progress, 287–289
reconnecting abandoned, 297–298
NKDontThrottleNewsstandContent Notifications
, 293
handling finished download and progress, 288–289
NKLibrary
reconnecting abandoned asset downloads, 297–298
change. see change notifications
Now Playing
challenges of mobile device audio, 223
using iPod Music Library, 227
NSBinaryStorageType
, 30
NSConfinementConcurrencyType, 33
NSData, 171
NsInMemoryStoreType
, 30
NSMainQueueConcurrencyType, 33
NSManagedObject
managed object context, 30
objectID
, 40
NSNotificationCenter, 53
NSNumber, 69
NSObject, 5
NSPersistentStoreDidImportUbiquitous ContentChangesNotification, 74
NSPrivateQueueConcurrencyType, 33
NSSQLiteStoreType
, 30
NSThread, 184
NSUbiquitousKeyValueStore
adding and removing objects, 65–67
quick starting, 54
using, 64
NSUbiquitousKeyValueStoreDidChange ExternallyNotification, 67–68
NSUnknownKeyException, 177
NSURLConnection
creating CIImage with, 171
handling TWRequest response, 136–137
NSUserDefaults
adding and removing objects, 65–67
key-value storage and, 63
OAuth services
migrating into Accounts, 122–124
Twitter API, 132
objectForID
defined, 40
tips and tricks, 48
objectForKey:
, 175
objectID
defined, 40
tips and tricks, 48
objects
adding new in Core Data, 41–42
CAAnimation, 203
CLLocation, 82
in Core Data, 25
Core Image, 168
fetching and modifying in Core Data, 42–44
location, 91
in managed object model, 26–27
storing as keys, 63
observers, 267
online materials
for Core Data, 49
iOS, 7
OpenAL, 226
OpenGL ES 2.0, 178
OS X
Core Image, 163
enabling iCloud, 56
iCloud storage between platforms, 61
native frameworks in iOS, 4
outputs of AVCaptureSession, 269–270
particle emitter animation, 213–217
paths
performance
CPU vs. GPU rendering, 178–179
GCD and, 14
of implicit vs. explicit animation, 202
multicore processor, 11
storage types, 58
performBlock
managed object context, 33
performBlockAndWait
creating managed object context, 39
defined, 33
performRequestWithHandler
handling TWRequest response, 136–137
performSelectorOnMainThread
, 125–126
permissions
Accounts workflow, 117
OAuth services, 115
persistent store coordinator
Core Data, 28
creating in Xcode, 37
persistent stores
adding new in Core Data, 38
persistentStoreDidChange:
, 74–75
photo editing. see Core Image
photo library
capturing still image, 267–269
selecting photos from, 249–250
pixels
modifying with filters, 173–178
placemarks
platforms, iCloud storage on, 61
Play and Record mode, 234
playback. see AV Foundation; Core Audio
playback
, 240
Playback mode, 234
player layer, 244
points coordinate display, 145–146
polar coordinate system, 215
preferences, 62
presentation layer of Core Animation, 202
preview layer
adding to AVCaptureSession, 265–266
AVCaptureVideoPreviewLayer, 262–263
accessGranted
, 121
account-type, 114
animating, 203
AVAudioSession, 237
CALayer, 201
CGImageRef, 170
creating managed object model, 36
key-value coding, 168
moviePlayer
, 261
Newsstand app info list, 279–280
NKIssue, 283
objectID
, 40
observers, 267
showsUserLocation
, 108
UIImagePickerController video, 255
UIView animatable, 195
userTrackingMode
, 109
protocols, Foundation, 5
public timeline, 133
publications. see Newsstand Kit
quality of video, 255
Quartz 2D, 144
Quartz Core
Core Animation, 193
Core Graphics and, 144
linking in Xcode project, 9–10
linking to AV Foundation project, 247
linking to project, 196
queues
managed object context, 48
when creating managed object context, 39
reconnecting abandoned asset downloads, 297–298
Record mode, 234
recording HD, 266
recording undo events, 47
rectangle parameter for image rendering, 181
region monitoring
geocoding, 105
registerForRemoteNotificationTypes:
, 293
registering for APNS
Newsstand update notifications, 293
overview, 292
registering iOS apps, 56
relationships
creating managed object model, 36
defined, 26
key-value coding, 168
remote notifications
iOS Simulator and, 292
registering for Newsstand update notifications, 293
rendering images
CIImage object, 168
with Core Image context, 178–181
running in background thread, 184–186
requests
performing in Twitter, 134–135
Required background modes, 280
requirements
hardware. see hardware requirements
response to TWRequest, 136–137
restoring graphics context, 152–154
reverse geocoding, 102–103, 106–107
root classes, 5
rotationMode
, 208
Saved Photos album, 250
saving
in Core Data, 48
SDK (Software Development Kit), 9
selecting photos from photo library, 249–250
Sepia-tone filter
gotcha, 188
serial queues, 13
setAnimationDidStopSelector
, 206
setContentURL
, 257
setNeedsDisplay
, 150
setNewsstandIconImage
, 290
shake events, 47
showPhotoLibrary
, 249
significant location change monitoring
delegate methods, 101
sizing fonts, 159
sliders
working with filters and, 176
Software Development Kit (SDK), 9
Solo Ambient mode
AVAudioPlayer, 239
AVAudioSession, 234
sound. see Core Audio
soundURL
, 239
source types for UIImagePickerController, 249–250
standard location service
delegate methods, 101
startMonitoringForRegion:desired Accuracy
, 100
startMonitoringSignificantLocation Changes
, 95
startVideoCapture
, 255
state notifications, 230–231. see also notifications
still images. see also images
Stocks, 148
stopVideoCapture
, 255
storage. see key-value storage
issue, 284
persistent store and store file, 28–30
streaming video guidelines, 257
strings
attributes dictionary and, 177
key-value coding, 168
sublayer hierarchy of Core Animation, 201
synchronization
with key-value storage, 64
responding to notifications, 68
setting up iCloud persistent store, 72–73
system accounts. see Accounts
defined, 54
determining availability of iCloud, 71
iCloud storage between platforms, 61
terms of service, Map Kit, 82
testing iCloud, 78
text, 159
three dimensional (3D) transforms
in CALayer, 201
three-G (3G) data connection, 62
Tiny Wings, 225
tokens, access. see access tokens
Top Ten Technologies of iOS 5, 18–19
touch events, 47
tracking
transform
, 195
transforms. see 3D (three dimensional) transforms
transition animation, 203
Accounts. see Accounts
framework in iOS, 18
overview, 113
tweet compose view controller, 128–131
TWRequest
TWTweetComposeViewController, 128–131
ubiquitous key-value store. see key-value storage
ubiquity container
quick starting iCloud, 54
ubiquity container identifier
defined, 54
team prefix identifier and, 71, 78
UIBackgroundModes
, 280
UIEvent, 142
UIGraphicsGetCurrentContext()
, 147
UIImagePickerController, 245, 248–255
UIImageView, 181
UIKit
Core Graphics and, 142
getting started with Core Animation, 194–195
iOS crash course, 8
iOS prerequisites, 4
linking to project, 247
UIImage and CIImage, 170
UIImagePickerController, 248–255
UINewsstandApp
, 280
UIRemoteNotificationTypeNewsstand ContentAvailability
, 293
UITweetComposeViewController, 128
animatable properties, 195
custom camera overlay, 251–254
UNIX, 12
unknown authorization status, 90
updating
Newsstand appearance, 290
notifications, 293
URLs
creating AVAudioPlayer, 238
creating CIImage, 171
downloading issue content, 289
loading content into MPMoviePlayerController, 257
syncing persistent stores, 72–73
user accounts. see Accounts
user defaults
adding and removing objects, 65–67
key-value storage and, 63
users
events, 47
migrating into Accounts, 122–124
userTrackingMode
, 109
values. see also properties
in CALayer, 201
in Core Data, 25
fetched properties and, 27
keyframe animation, 207
for location authorization, 90
obtaining image analysis, 182–183
setting Sepia-tone filter, 177
userTrackingMode
, 109
video
capture. see capturing media
in-camera effects and, 269–270
loading into MPMoviePlayerController, 257–261
still images and frames, 170–172
working with UIImagePickerController, 254–255
videoMaximumDuration
, 255
videoQuality
, 255
viewDidLoad
creating MPMoviePlayerController, 260
Twitter availability, 131
views
CALayer, 201
custom camera overlay, 251–254
MPMoviePlayerViewController, 256–257, 261
tweet compose view controller, 128–131
UIImagePickerController, 250
UIView. see UIView
Weather
3D transforms, 209
Core Graphics, 148
web services authorization, 115
whitelist, 284
Wi-Fi
geocoding access, 103
location information, 84
significant location change monitoring, 94
wildcards
in bundle ID, 57
iCloud storage between platforms, 61
workflows
image processing, 169
OAuth, 115
ARC, 6
linking Accounts and Twitter to project, 114
linking audio frameworks to project, 226
linking AV Foundation to project, 247
linking Core Graphics to project, 143
linking Core Image to project, 167
linking Newsstand Kit to project, 278
linking Quartz Core to project, 196
setting up Core Data in, 34–40
Z value, 201
3.22.249.90