Index
A
- Address Sanitizer / Address Sanitizer
- allocations instrument
- about / Allocations instrument
- app
- releasing / Releasing the app
- store assets, finalizing / Finalizing store assets
- TestFlight, distributing on / Distributing on TestFlight
- App Store, submitting to / Submitting to the App Store
- Apple Watch
- designing for / Designing for the Apple Watch
- using / Using the watch
- experience / Intended experience
- sensors / Sensors on Apple Watch
- Apple Watch, snippets
- about / Snippets for Apple Watch
- project, setting up / Setting up our project
- watchOS storyboard, creating / Creating a watchOS storyboard
- interface controller, programming / Programming the interface controller
- iOS connecting to, WatchConnectivity.frameworlk used / Connecting to iOS with Watch Connectivity.framework
- complication, adding / Adding a complication
- application loader / Application Loader
- application management, UIKit fundamentals
- about / Application management
- UIDevice class / The UIDevice class
- app thinning
- about / App Thinning
- slicing / Slicing
- Bitcode / Bitcode
- On Demand Resources (ODR) / On-demand Resources
- arrays
- about / Arrays
- auto layout
- about / Auto Layout
- view hierarchy / The view hierarchy
- constraints / Constraints
- issues, resolving / Resolving issues
B
- badges / Badges
- basics
- applying / Applying the basics
- bitcode / Bitcode
- breakpoints
- about / Breakpoints and the debug area
- variables view / Variables view
- console / Console
- debug toolbar / Debug toolbar
- builds
- creating / Creating builds
- and run / Build and run
- device, running on / Running on a device
C
- call stack / The call stack
- classes
- creating / Classes
- class extensions / Class extensions
- closures / Closures
- CMDeviceMotion
- about / CMDeviceMotion
- user acceleration / User acceleration
- gravity / Gravity
- rotation rate / Rotation rate
- magnetic field / Magnetic field
- code
- gestures, adding from / Adding gestures from code
- gestures, creating through / Creating a gesture through code
- gesture data, reading / Reading the gesture data
- image scale, changing / Changing the scale of our image
- collection types
- about / Collection types
- arrays / Arrays
- dictionaries / Dictionaries
- Command Line Tools / Installing Xcode
- comments / Comments and printing
- complications, watchOS app
- about / Complications
- adding / Adding a complication
- conditional statement
- if statement /
- guard statement / guard statement
- switch statement / switch statement
- conditional statements
- about /
- constants
- about / Constants
- constraints
- about / Constraints
- controller
- creating / Creating the model, view, and controller
- Core Data
- about / What is Core Data?
- model / Model revisited
- entities / Entities, attributes, and relationships, Entities
- attributes / Entities, attributes, and relationships, Attributes
- relationships / Entities, attributes, and relationships, Relationships
- data model editor / The data model editor
- snippets, preparing for / Preparing Snippets for Core Data
- stack, initializing / Initializing the Core Data stack
- data model, recreating / Recreating the data model with Core Data
- Core Data stack, initializing
- about / Initializing the Core Data stack
- data model, versus object graph / Data model versus object graph
- NSManagedObjectModel / The NSManagedObjectModel
- NSPersistentStoreCoordinator / The NSPersistentStoreCoordinator
- NSManagedObjectContext / The NSManagedObjectContext
- final touches / Final touches
- CoreLocation.framework
- using / Using CoreLocation.framework
- CoreLocation permissions, setting up / Setting up CoreLocation permissions
- users location, getting / Getting the user's location
- location data, adding to Snippets / Adding location data to Snippets
- Core Motion
- about / Introduction to Core Motion
- accelerometer, using / Accelerometer
- gyroscope, using / Gyroscope
- CMDeviceMotion / CMDeviceMotion
- CPU and memory gauge / CPU and memory gauge
D
- 3D touch app shortcuts
- creating / Creating 3D Touch app shortcuts
- Info.plist, setting up / Setting up Info.plist
- handling, in app delegate / Handling shortcuts in the app delegate
- data
- persisting / Persisting data
- saving / Saving data
- fetching / Fetching data
- deleting / Deleting data
- data model
- versus object graph / Data model versus object graph
- data model editor
- about / The data model editor
- data types
- about / Data types
- data validation unit test
- writing / Writing a data validation unit test
- debugging, practices
- about / Basic debugging practices
- print() function / print()
- and breakpoints / Breakpoints and the debug area
- debugging, tools
- about / Advanced debugging tools
- Address Sanitizer / Address Sanitizer
- performance gauges / Performance gauges
- CPU and memory gauge / CPU and memory gauge
- disk and network gauge / Disk and network gauge
- energy gauge / Energy gauge
- debug navigator / Navigator sidebar
- debug toolbar / Debug toolbar
- developer
- about / A developer's responsibilities
- pre-production / Pre-production
- project setup / Project setup
- development / Development
- deployment / Deployment
- developer account
- adding / Adding your developer account
- development plan
- creating / Creating a development plan
- device status, checking with UIDevice
- about / Device status with UIDevice
- orientation state, accessing / Accessing orientation state
- proximity sensor, checking / Checking the proximity sensor
- battery status, obtaining / Getting battery status
- dictionaries
- about / Dictionaries
- disk and network gauge / Disk and network gauge
- displays, UIKit fundamentals / Displays
- distributed version control system
- about / Understanding version control
- documents, UIKit fundamentals / Documents
E
- editor
- about / Exploring the editor
- standard editor / Standard editor
- assistant editor / Assistant editor
- version editor / Version editor
- energy gauge / Energy gauge
- entities
- about / Entities
- enumerations (enum) / Enumerations
- error handling / Error handling
- explicit type / Variables
F
- feature list
- assembling / Assembling a feature list
- files
- managing / Creating and managing files
- creating / Creating and managing files
- resource types / Resource types
- new resources, creating / Creating new resources
- existing files, importing / Importing existing files
- groups and folders / Groups and folders
- for in loop / for-in loop
- frameworks
- about / Frameworks, What is a framework?
- linking, in project / Linking frameworks in a project
- functions / Functions
G
- gestures
- adding, from storyboard / Adding gestures from the storyboard
- adding, from code / Adding gestures from code
- gestures, human interface guidelines
- about / Human interface guidelines – gestures
- standard gestures / Standard gestures
- usage guidelines / Usage guidelines
- working / How gestures work
- Git
- about / Introduction to Git
- setting up, in Xcode / Setting up Git in Xcode
- local repository, creating / Creating a local repository
- adding, to local repository / Adding Git to an existing project
- Hub hosted repository, using / Using a GitHub hosted repository
- GitHub hosted repository
- using / Using a GitHub hosted repository
- guard statement / guard statement
H
- Human Interface Guidelines (HIG) / Human interface guidelines – gestures
I
- IBActions / Creating the model, view, and controller
- IBOutlets / Creating the model, view, and controller
- if statement /
- implicitly unwrapped / Optionals
- implicit type / Variables
- Info.plist
- setting up / Setting up Info.plist
- instruments
- about / Introduction to Instruments
- time profiler instrument / Time Profiler instrument
- allocation instrument / Allocations instrument
- leaks instrument / Leaks instrument
- iOS Charts
- about / Charts
- reference link / Charts
- framework, importing / Importing the framework
- storyboard, setting up / Setting up the storyboard
- filling, with data / Filling the chart with data
- iTunes Connect
- preparing / Preparing iTunes Connect
- bundle identifier, registering / Registering a bundle identifier
- new app record, creating / Creating a new app record in iTunes Connect
- uploading to / Uploading to iTunes Connect
- iTunes Connect, uploading to
- about / Uploading to iTunes Connect
- archiving / Uploading to iTunes Connect
L
- leaks instrument
- about / Leaks instrument
- local notification
- versus, remote notifications / Local versus remote notifications
- local repository
- creating / Creating a local repository
- loops
- about / Loops
- for-in loop / for-in loop
- while loop / while loop
- repeat-while loop / repeat-while loop
M
- Mac App Store (MAS) / Installing Xcode
- minimum viable product (MVP) / Assembling a feature list
- model
- creating / Creating the model, view, and controller
- Model-View-Controller (MVC)
- about / Understanding Model-View-Controller (MVC)
- Model / Model
- View / View
- Controller / Controller
- on web / MVC on the web
- on iOS / MVC on iOS
- motion data
- charting / Charting motion data
- iOS Charts / Charts
- pedometer / Pedometer
- altitude / Altitude
N
- New Snippet
- about / New snippet
- SnippetData model / SnippetData model
- button / New snippet button
- notifications
- support, adding to Snippets / Adding notification support to Snippets
- sending, permission getting for / Getting permission to send notifications
- notifications, advanced
- categories and actions / Categories and actions
- badges / Badges
- sounds / Custom sounds
- notifications, receiving while in app / Receiving notifications while in the app
- notifications, watchOS app
- about / Notifications
- NSManagedObjectContext / The NSManagedObjectContext
- NSManagedObjectModel / The NSManagedObjectModel
- NSPersistentStoreCoordinator / The NSPersistentStoreCoordinator
O
- On Demand Resources (ODR)
- about / On-demand Resources
- tags, creating / Creating tags
- resources, loading / Loading resources
- resources, purging / Purging resources
- optionals
- about / Optionals
P
- pages
- about / Pages
- performance gauges
- about / Performance gauges
- CPU and memory gauge / CPU and memory gauge
- disk and network gauge / Disk and network gauge
- energy gauge / Energy gauge
- Photo snippet
- about / Assembling a feature list
- Photo Snippet, implementing
- about / PhotoSnippet implementation
- SnippetData model, updating / Update SnippetData model
- data entry / PhotoSnippet data entry
- playgrounds
- about / Discovering playgrounds
- setting up / Setting up a playground
- previews, using / Using previews
- pre-production
- about / Pre-production
- feature list, assembling / Assembling a feature list
- visual design / Visual design
- development plan, creating / Creating a development plan
- print() function / print()
- printing / Comments and printing
- printing, UIKit fundamentals / Printing
- project, settings
- about / Understanding project settings
- project targets / Project targets
- general tab / The General tab
- capabilities tab / The Capabilities tab
- info tab / The Info tab
- protocols / Protocols
R
- registered developer
- about / Becoming a registered developer, Which account do you need?
- free developer account, registering / Registering a free developer account
- paid developer account, registering / Registering a paid developer account
- relationships
- about / Relationships
- repeat-while loop / repeat-while loop
- resources
- about / Resources
- results view / Using previews
- rich comments
- about / Rich comments
S
- segues
- about / Understanding segues
- Select Snippet type
- about / Select snippet type
- SnippetData model, updating / Update SnippetData model
- alert controller, creating / Create an alert controller
- sensors, Apple Watch
- obtaining / Sensors on Apple Watch, Getting sensor data on Apple Watch
- extension, setting up / Setting up an extension
- data, sending in iOS / Sending and displaying data on iOS
- data, displaying in iOS / Sending and displaying data on iOS
- size classes
- about / Size classes
- selecting / Devices, orientations, and size classes
- in action / Size classes in action
- slicing
- about / Slicing
- Snippet dates
- about / Snippet dates
- SnippetData model, updating / Update SnippetData model
- data, saving to model / Save data to model
- view and controller, updating / Update view and controller
- Snippets
- scrolling through / Scroll through snippets
- prototype cells, creating / Create prototype cells
- table view, populating / Populate table view
- notification support, adding / Adding notification support to Snippets
- Social.framework
- using / Using Social.framework
- views, setting up / Setting up the views
- Twitter, posting to / Posting to Twitter
- sounds / Custom sounds
- standard gestures / Standard gestures
- storyboard
- gestures, adding from / Adding gestures from the storyboard
- setting up / Setting up the storyboard
- image, flipping / Flipping the image
- storyboards
- about / Storyboards
- getting started / Getting started
- view controllers / View controllers and screen flow
- screen flow / View controllers and screen flow
- segues / Understanding segues
- structs
- creating / Structs
- Swift basics
- about / Understanding Swift basics
- Swift Features
- about / Using important Swift features
- closures / Closures
- protocols / Protocols
- class extensions / Class extensions
- error handling / Error handling
- switch statement / switch statement
T
- team, working on
- about / Working on a team
- designers / Designers
- other developers / Other programmers
- project managers / Project managers
- investors / Investors
- TestFlight / Deployment
- Text snippet
- about / Assembling a feature list
- Text Snippet, implementing
- about / Text snippet implementation
- SnippetData model, updating / Update SnippetData model
- Text entry View Controller / Text entry view controller
- time profiler instrument
- about / Time Profiler instrument
- document, anatomy / Anatomy of an Instruments document
- using / Using the Time Profiler
- type inference / Variables
U
- UIButton / Creating the model, view, and controller
- UIDevice
- used, for checking device status / Device status with UIDevice
- UIKit fundamentals
- about / Understanding UIKit fundamentals
- application management / Application management
- views / Views
- UILabel / Creating the model, view, and controller
- UI testing
- in Xcode 7 / Testing UI in Xcode 8
- working / How does UI testing work?
- target, adding / Adding the UI testing target
- UI recorder, using / Using the UI recorder
- unit tests
- about / Introduction to unit tests
- unit / What is a unit?
- uses / Why use unit testing in the first place?
- in action / Unit tests in action
- project, setting up / Setting up the project
- writing, XCTest used / Writing tests with XCTest
- running / Running tests
- unit tests, implementing for Snippets
- about / Implementing tests for Snippets
- Snippets project, setting up / Setting up the Snippets project
- testing class, preparing / Preparing our testing class
- data validation unit test, writing / Writing a data validation unit test
- code coverage, checking / Checking code coverage
- unwind segue / Understanding segues
- unwrapping / Optionals
- user notifications
- about / Introduction to user notifications
- components / Components of a user notification
- local, versus remote notifications / Local versus remote notifications
- utilities sidebar / Utilities sidebar
V
- variables
- about / Variables
- version control
- about / Understanding version control
- using, in Xcode / Using version control in Xcode
- pull, push, and commit / Pull, push, and commit
- version editor / The version editor
- branches, merging / Creating and merging branches
- branches, creating / Creating and merging branches
- view
- creating / Creating the model, view, and controller
- views, UIKit fundamentals
- about / Views
- drawing / Drawing
- hierarchies / Hierarchies
- coordinate systems / Coordinate systems
- visual debugging
- about / Visual debugging
W
- Watch App bundle / Watch App bundle
- WatchConnectivity.framework
- used, for connecting to iOS / Connecting to iOS with Watch Connectivity.framework
- Watch Extension bundle / Watch Extension bundle
- watchOS app
- components / Components of a watchOS app
- about / The watchOS app
- notifications / Notifications
- complications / Complications
- architecture / Architecture of a watchOS app
- watchOS app, architecture
- target bundles / Target bundles
- Watch App bundle / Watch App bundle
- Watch Extension bundle / Watch Extension bundle
- interface controller / Interface controller
- extension delegate / Extension Delegate
- while loop / while loop
- work
- testing, in simulator / Testing our work in the simulator
- workspace
- setting up / Setting up the workspace
X
- Xcode / Xcode
- installing / Installing Xcode
- developer account, adding / Adding your developer account
- new project, creating / Creating a new project
- navigating / Navigating Xcode
- Xcode, navigating
- editor / Editor
- navigator sidebar / Navigator sidebar
- debug area / Debug area
- utilities sidebar / Utilities sidebar
- Xcode 7 toolset
- about / The Xcode 8 toolset
- Xcode / Xcode
- iOS and watchOS simulator / iOS and watchOS simulator
- instruments / Instruments
- Application Loader / Application Loader
- Xcode developer portal
- URL / Installing Xcode
- XCTest
- used, for writing tests / Writing tests with XCTest