https://leanpub.com/ios8daybyday
iOS 8 Day by Day
A review of all the important part of iOS 8 for developers. Presented in 39 easy to digest chunks, each with a sample project.
- Preface
- Update
- About this book
- What you’ll get from this book
- What you won’t get from this book
- How to read this book
- Conventions
- Project Code
- Day 1 :: Swift for Blaggers
- Initialization
- Mutability
- Strong Typing and
AnyObject - Protocol Conformance
- Enums
- Conclusion
- Day 2 :: Sharing Extension
- Creating a share extension
- Validating user input
- Uploading from within an extension
- Conclusion
- Day 3 :: UIVisualEffects
- Blurring with UIVisualEffectView
- Improving legibility with vibrancy
- Performance Concerns
- Conclusion
- Day 4 :: Custom Fonts in Interface Builder
- Font availability within Interface Builder
- Declaring fonts for use within your app
- Conclusion
- Day 5 :: Auto-sizing table view cells
- Using the ‘stock’ table view cells
- Creating custom table view cells
- Conclusion
- Day 6 :: Profiling Unit Tests
- Measuring Test Performance
- Moving average example
- Improving the moving average
- Conclusion
- Day 7 :: Adaptive Layout and UITraitCollection
- Adaptive Layout
- Xcode Assistance
- Conclusion
- Day 8 :: Today Extension
- Creating a widget
- Sharing code with the parent app
- Sharing a cache with the parent app
- Navigating back to the parent app
- Conclusion
- Day 9 :: Designated Initializers
- Creating objects
- Usage in objective-C
- Conclusion
- Day 10 :: Xcode 6 Playgrounds
- Interactive Coding & Timelines
- Custom QuickLook
- Custom View Development
- Conclusion
- Day 11 :: Asynchronous Testing
- Testing an Asynchronous Method
- Multiple Expectations
- Key-Value Observation Expectation
- Conclusion
- Day 12 :: HealthKit
- Data Structure Overview
- Permissions
- Writing Data
- Reading Data
- Conclusion
- Day 13 :: CoreImage Detectors
- Detecting Rectangles
- Detecting QR Codes
- Conclusion
- Day 14 :: Rotation Deprecation
- Auto Layout to the rescue
- Customizing rotation behavior
- Conclusion
- Day 15 :: NSFormatter
- Temporal Formatters
- Physical Quantity Formatters
- Conclusion
- Day 16 :: Navigation Bar Hiding
- Navigation Controller Updates
- Sample app
- Conclusion
- Day 17 :: Live Rendering in Interface Builder
@IBDesignable@IBInspectable- Debugging Views
- Conclusion
- Day 18 :: UISplitViewController
- Adaptive View Controller Hierarchy
- Overriding Default Behavior
- Advanced Features
- Conclusion
- Day 19 :: CoreImage Kernels
- Filters and Kernels
- Custom Kernel Types
- General Kernels
- Conclusion
- Day 20 :: Photos Framework
- Photo Library Outline
- Querying For Models
- Requesting Assets
- Performing Model Updates
- Registering for Update Notifications
- Conclusion
- Day 21 :: Alerts and Popovers
- Pop Overs
- Alerts
- ActionSheets
- Conclusion
- Day 22 :: Linking to Settings App
- Linking to the Settings Page
- Conclusion
- Day 23 :: Photo Extension
- Creating a Photo Extension
- Starting Interactive Editing
- Discard Changes?
- Finalizing the Edit
- Resumable Editing
- Conclusion
- Day 24 :: Presentation Controllers
- The role of the Presentation Controller
- Creating a custom Presentation Controller
- Using the custom Presentation Controller
- Adaptive UI with Presentation Controllers
- Custom Presentation Animation
- Conclusion
- Day 25 :: Notification Actions
- Requesting Permission
- Registering Actions
- Firing Actions
- Handling Actions
- Foreground Notifications
- Conclusion
- Day 26 :: AVKit
- Using AVKit to play a video
- Integration with Photos Framework
- AVFoundation Pipeline
- Conclusion
- Day 27 :: Launch Images
- Scaling the existing approach
- Creating a launch screen XIB
- Restrictions on Launch Screen XIBs
- Conclusion
- Day 28 :: Document Picker
- Conceptual Overview
- Document Menu
- Document Picker
- Use on Simulator
- Conclusion
- Day 29 :: Safari Action Extension
- Creating an Action Extension
- Extracting Content from a Web Page
- Interacting with JavaScript
- Conclusion
- Day 30 :: App Previews
- Recording a Video
- Video Considerations
- Conclusion
- Day 31 :: Using Touch ID to Secure the Keychain
- Secure Enclave
- Access Control Lists
- Implementation
- Conclusion
- Day 32 :: Layout Margins
- Layout Margins in Interface Builder
- Layout Margins in Code
- Preserving Superview Layout Margins
- Conclusion
- Day 33 :: CloudKit
- High-level CloudKit Concepts
- Enabling CloudKit
- Creating Records
- Querying For Records
- Modifying Records
- CloudKit Dashboard
- Summary of other Features
- Conclusion
- Day 34 :: CoreLocation Authorization
- Refresher on CoreLocation
- New Methods on CoreLocationManager
- Providing Usage Strings
- Conclusion
- Day 35 :: CoreMotion
- Motion Activity Data
- Pedometer Data
- Altimeter Data
- Conclusion
- Day 36 :: Location Notifications
- Requesting Authorization
- Creating Notifications
- Responding to Notifications
- Conclusion
- Day 37 :: Autosizing Collection View Cells
- Enabling Sizing in a Flow Layout
- Autosizing via Interface Builder
- Mechanics of Autosizing
- Conclusion
- Day 38 :: Handoff
- Handoff Logistics
- Preparing an App for Handoff
- Resuming an Activity
- Conclusion
- Day 39 :: WatchKit
- What can (and can’t) I do on a watch?
- Getting Started
- Code sharing
- Conclusion
- Appendix
- The road ahead
- Useful resources
沒有留言:
張貼留言
歡迎網友的交流與分享,謝謝。