3. Changes from iOS 6.x
●
New app switcher
behavior
–
Swipe up to remove
apps
–
Killing an app also
prevents background
activity
–
App snapshots are
live!
4. Changes from iOS 6.x
●
Background Mode Settings
–
User chooses how the app
can run in the background
5. New APIs in iOS 7.0
Background Fetch
●Remote Notifications
●Background Transfer Service
●
8. Remote Notifications
●
Receive message in background
–
Don't need to inform user at all
●
Content ready before user sees notification
●
Rate limited
–
Too many at a time = server queue
–
Device decides when is best to receive
11. Background Transfer Service
●
Managed by iOS
–
●
Survive application kills and system restarts
Discretionary transfer type
–
Power-managed and limited to wi-fi
–
All background initiated transfers
–
Foreground initiated transfers optional
12. Things to Note
●
Time-limited (< 1 minute vs 10 minutes)
●
Processed in parallel with other apps
–
●
Complete as soon as possible
–
●
CPU usage profiling very important
Device has to stay awake for your app
Snapshot is taken after this process
–
Hide sensitive information
13. Things to Note
●
Minimize hardware usage for battery's sake
–
Avoid CoreMotion, CoreLocation, etc
–
Bring radios down as quickly as possible
●
Parallelize transfers