Abhishek Mishra
Swift iOS 24-Hour Trainer (eBook, ePUB)
Schade – dieser Artikel ist leider ausverkauft. Sobald wir wissen, ob und wann der Artikel wieder verfügbar ist, informieren wir Sie an dieser Stelle.
Abhishek Mishra
Swift iOS 24-Hour Trainer (eBook, ePUB)
- Format: ePub
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Bitte loggen Sie sich zunächst in Ihr Kundenkonto ein oder registrieren Sie sich bei
bücher.de, um das eBook-Abo tolino select nutzen zu können.
Hier können Sie sich einloggen
Hier können Sie sich einloggen
Sie sind bereits eingeloggt. Klicken Sie auf 2. tolino select Abo, um fortzufahren.
Bitte loggen Sie sich zunächst in Ihr Kundenkonto ein oder registrieren Sie sich bei bücher.de, um das eBook-Abo tolino select nutzen zu können.
Jump into the app development world with confidence! iOS Swift 24-Hour Trainer combines book and video lessons in Apple's Swift programming language to prepare you to build iPhone and iPad apps--and distribute them through the Appstore. First, this approachable text covers the fundamentals of Swift by introducing you to iOS development in this language, and presenting best practices for setting up a development environment and using variables, statements, expressions, operators, functions, and closures. Next, you explore common tasks, such as alert views, table views, and collection views. You…mehr
- Geräte: eReader
- eBook Hilfe
Andere Kunden interessierten sich auch für
Jump into the app development world with confidence! iOS Swift 24-Hour Trainer combines book and video lessons in Apple's Swift programming language to prepare you to build iPhone and iPad apps--and distribute them through the Appstore. First, this approachable text covers the fundamentals of Swift by introducing you to iOS development in this language, and presenting best practices for setting up a development environment and using variables, statements, expressions, operators, functions, and closures. Next, you explore common tasks, such as alert views, table views, and collection views. You then deepen your knowledge of Swift by considering network programming and local data storage. Finally, this engaging resource dives into slightly more advanced concepts, such as tab bars, web views, the accelerometer, camera, photo library, Google maps, and core location. Swift was designed by Apple to incorporate modern scripting features while offering simpler, cleaner syntax than Objective-C to maintain a minimal and easy to read style. This more expressive code offers numerous key features, such as closures unified with function pointers, tuples and multiple value returns, generics, and functional programming patterns. * Learn how to obtain a device UDID * Test your applications on an actual device, so you can see your work in action * Distribute your applications outside of the App store, allowing you to test your work with real users * Review common reasons why apps are rejected by Apple to strengthen your case when submitting your apps for distribution iOS Swift 24-Hour Trainer is an essential guide to Apple's Swift programming language for beginning programmers.
Produktdetails
- Produktdetails
- Verlag: John Wiley & Sons
- Seitenzahl: 624
- Erscheinungstermin: 6. Januar 2016
- Englisch
- ISBN-13: 9781119073420
- Artikelnr.: 44449329
- Verlag: John Wiley & Sons
- Seitenzahl: 624
- Erscheinungstermin: 6. Januar 2016
- Englisch
- ISBN-13: 9781119073420
- Artikelnr.: 44449329
Abhishek Mishra has been developing software for over 18 years and has experience with a diverse set of programming languages and platforms. He is the author of "iPhone and iPad App 24-Hour Trainer" and the technical reviewer of "Professional iOS Programming." He holds a Master's degree in Computer Science from the University of London and is a freelance consultant and trainer specializing in mobile application development. Wrox guides are crafted to make learning programming languages and technologies easier than you think. Written by programmers for programmers, they provide a structured, tutorial format that will guide you through all the techniques involved.
INTRODUCTION xxiii SECTION I: HELLO iOS! LESSON 1: HELLO iOS! 3 iOS
Developer Essentials 3 A Suitable Mac 3 A Device for Testing 4 An iOS
Developer Account 4 The Offi cial iOS SDK 6 The Typical App Development
Process 6 Wireframes and Design 8 Coding 8 Testing 8 Home Screen Icon 9
Application Launch Image 10 Try It 11 Lesson Requirements 11 Hints 11
Step-by-Step 11 LESSON 2: A TOUR OF XCODE AND THE iOS SIMULATOR 19 The
Welcome Screen 19 Creating a New Project 20 An Overview of the Xcode IDE 22
The Navigator Area 22 The Editor Area 26 The Utilities Area 28 The Debugger
Area 30 The Toolbar 30 Features of the iOS Simulator 31 Installing and
Uninstalling Applications 32 Limitations of the iOS Simulator 33 Try It 33
Lesson Requirements 33 Hints 33 Step-by-Step 33 LESSON 3: INTRODUCING SWIFT
35 Introducing Xcode Playgrounds 35 Constants and Variables 37 Data Types
38 Comments 39 Strings 39 Tuples 40 Optionals 41 Control Flow Statements 42
if-else 42 switch-case 44 Loops 45 Control Transfer Statements 49 Try It 50
Lesson Requirements 50 Hints 50 Step-by-Step 50 LESSON 4: FUNCTIONS 53
Declaring Functions 53 Parameters and Return Values 53 Try It 55 Lesson
Requirements 55 Hints 55 Step-by-Step 55 LESSON 5: CLOSURES 57 Function
Types 57 Closure Types 58 Global Closures 58 Nested Closures 58 Closure
Expressions 59 Try It 60 Lesson Requirements 60 Hints 60 Step-by-Step 60
LESSON 6: ERROR HANDLING 63 The ErrorType Protocol 63 Throwing and Catching
Errors 64 Suppressing Error Handling 65 The defer Statement 66 Try It 66
Lesson Requirements 66 Hints 67 Step by Step 67 LESSON 7: OBJECT-ORIENTED
PROGRAMMING WITH SWIFT 69 Creating Classes with Swift 70 Properties 70
Methods 71 Instantiating Objects 74 Inheritance 74 Computed Properties 76
Enumerations 77 Protocols 77 Try It 81 Lesson Requirements 81 Hints 81
Step-by-Step 81 LESSON 8: SUPPORTING MULTIPLE DEVICE TYPES 85 Device
Differences 86 Screen Size 86 Icon Size 87 Device Orientation 89 The
Universal XCode Template 90 Try It 91 Lesson Requirements 91 Hints 91
Step-by-Step 91 LESSON 9: INTRODUCTION TO UIKIT AND ADAPTIVE LAYOUT 95
Introducing the UIKit Framework 95 The UIButton Class 97 The UILabel Class
98 Basic Constraints 99 Previewing Your Layout 106 Creating Outlets 108
Creating Actions 110 Try It 110 Lesson Requirements 110 Hints 111
Step-by-Step 111 LESSON 10: INTRODUCTION TO STORYBOARDS 117 Try It 124
Lesson Requirements 124 Hints 125 Step-by-Step 125 SECTION II: MORE iOS
DEVELOPMENT LESSON 11: HANDLING USER INPUT 143 Text Fields 143 Text Views
146 Try It 147 Lesson Requirements 147 Hints 148 Step-by-Step 148 LESSON
12: ALERT VIEWS AND ACTION SHEETS 155 Alert Views 155 Action Sheets 159 Try
It 161 Lesson Requirements 161 Hints 161 Step-by-Step 161 LESSON 13: ADDING
IMAGES TO YOUR VIEW 167 The UIImage Class 167 The UIImageView Class 170 Try
It 172 Lesson Requirements 172 Hints 172 Step-by-Step 172 LESSON 14:
PICKERS 177 Date Pickers 181 Custom Pickers 184 Try It 185 Lesson
Requirements 185 Hints 185 Step-by-Step 186 LESSON 15: NAVIGATION
CONTROLLERS 193 Adding a Navigation Controller to a Storyboard 193 The
Navigation Controller Interface 196 Try It 197 Lesson Requirements 198
Hints 198 Step-by-Step 198 LESSON 16: TABLE VIEWS 203 Table View Appearance
203 Creating a Table View with Interface Builder 205 Static Table Views 206
Dynamic Table Views 207 Try It 211 Lesson Requirements 211 Hints 211
Step-by-Step 211 LESSON 17: COLLECTION VIEWS 217 Creating a Collection View
with Interface Builder 218 Collection View Cells 219 Collection View
Delegate and Data Source 220 Try It 222 Lesson Requirements 222 Hints 223
Step-by-Step 223 LESSON 18: TAB BARS AND TOOLBARS 229 Creating a Tab Bar
Controller 231 Toolbars 235 Try It 238 Lesson Requirements 239 Hints 239
Step-by-Step 239 LESSON 19: CREATING VIEWS THAT SCROLL 245 The UIScrollView
Class 245 Scroll Views and Text Fields 248 Try It 249 Lesson Requirements
249 Hints 250 Step-by-Step 250 LESSON 20: POPOVERS AND MODAL VIEWS 257
Popovers 257 Modal Views 260 Try It 262 Lesson Requirements 262 Hints 263
Step-by-Step 263 LESSON 21: TOUCHES AND GESTURES 269 Touch Events 269
Gesture Recognizers 270 Try It 271 Lesson Requirements 271 Hints 272
Step-by-Step 272 SECTION III: STORING DATA AND NETWORK PROGRAMMING LESSON
22: PROPERTY LISTS 277 Creating Property Lists 277 Reading Property Lists
279 Try It 280 Lesson Requirements 280 Hints 280 Step-by-Step 280 LESSON
23: APPLICATION SETTINGS 285 Adding a Settings Bundle 285 Reading
Preferences with Code 289 Try It 290 Lesson Requirements 290 Hints 290
Step-by-Step 291 LESSON 24: INTRODUCTION TO iCLOUD STORAGE 295 Basic
Concepts 295 Preparing to Use the iCloud Storage APIs 297 Creating an
iCloud-Enabled App ID 297 Creating an Appropriate Provisioning Profi le 302
Enabling Appropriate Entitlements in Your Xcode Project 308 Checking for
Service Availability 309 Using iCloud Document Storage 310 Creating a New
iCloud Document 311 Opening an Existing Document 312 Saving a Document 312
Searching for Documents on iCloud 313 Try It 315 Lesson Requirements 315
Hints 316 Step-by-Step 316 LESSON 25: INTRODUCTION TO CLOUDKIT 327
Containers, Databases, and Records 327 Development and Production
Environments 330 The CloudKit Dashboard 331 Creating a Record Type 331
Deleting a Record Type 333 Creating Relationships Between Record Types 333
Adding Records 334 Modifying and Deleting Records 336 Resetting the
Development Schema 337 Deploying to Production 337 Preparing to Use
CloudKit 338 Create an iCloud-Enabled App ID 338 Create an Appropriate
Provisioning Profi le 344 Enable Appropriate Entitlements in Your Xcode
Project 350 Common Operations 350 Checking for Service Availability 351
Creating Records Programmatically 351 Retrieving Records 352 Try It 352
Lesson Requirements 353 Hints 353 Step-by-Step 353 LESSON 26: INTRODUCTION
TO CORE DATA 381 Basic Concepts 381 Managed Object 381 Managed Object
Context 381 Persistent Store Coordinator 382 Entity Description 383 Managed
Object Model 383 Adding Core Data to a Project 384 Instantiating Core Data
Objects 389 Writing Managed Objects 390 Reading Managed Objects 391 Try It
391 Lesson Requirements 391 Hints 392 Step-by-Step 392 LESSON 27: CONSUMING
RESTful JSON WEB SERVICES 399 Types of Web Services 400 RESTful Web
Services 400 SOAP Web Services 401 JSON and NSJSONSerialization 401
NSURLSession and Application Transport Security 403 Creating an
NSURLSession 404 Creating a Data Task 405 Application Transport Security
406 Try It 408 Lesson Requirements 408 Hints 409 Step-by-Step 409 SECTION
IV: BEYOND THE BASICS LESSON 28: SOCIAL MEDIA INTEGRATION 417 The Share
Sheet 418 Try It 421 Lesson Requirements 421 Hints 421 Step-by-Step 422
LESSON 29: WHERE Am I? INTRODUCING CORE LOCATION 427 Permissions 428
Accuracy 430 Receiving Location Updates 431 Handling Errors and Checking
Hardware Availability 433 Geocoding and Reverse Geocoding 434 Obtaining
Compass Headings 435 Try It 436 Lesson Requirements 436 Hints 437
Step-by-Step 437 LESSON 30: INTRODUCTION TO MAP KIT 443 Adding Annotations
444 Accessory Views 447 Try It 447 Lesson Requirements 448 Hints 448
Step-by-Step 449 LESSON 31: USING THE CAMERA AND PHOTO LIBRARY 455
Selecting the Image Source 456 Presenting the Image Picker 456 Try It 459
Lesson Requirements 459 Hints 459 Step-by-Step 459 LESSON 32: INTRODUCTION
TO USER INTERFACE TESTING 465 Adding Support for UI Testing to Your Project
465 Anatomy of a Test Case 468 New Classes for UI Testing 469
XCUIApplication 469 XCUIDevice 470 XCUIElementQuery 471 XCUIElement 472
XCUIElementAttributes 475 XCUIElementTypeQueryProvider 476 Test Assertions
477 UI Recording 478 Waiting for Elements in a UI Test 479 Try It 480
Lesson Requirements 480 Hints 480 Step-by-Step 481 LESSON 33: INTRODUCTION
TO TEST DRIVEN DEVELOPMENT 485 Adding Support for Unit Testing to Your
Project 486 TDD Techniques 488 Test First 488 Red-Green-Refactor 488 Don't
Write Code You Do Not Yet Need 489 Anatomy of a Test Case 489 Test
Assertions 491 Try It 493 Lesson Requirements 493 Hints 493 Step-by-Step
494 SECTION V: REFERENCE APPENDIX A: TESTING YOUR APP ON A DEVICE 507
APPENDIX B: BETA TESTING WITH TESTFLIGHT 527 APPENDIX C: APP STORE
DISTRIBUTION 553 INDEX 569
Developer Essentials 3 A Suitable Mac 3 A Device for Testing 4 An iOS
Developer Account 4 The Offi cial iOS SDK 6 The Typical App Development
Process 6 Wireframes and Design 8 Coding 8 Testing 8 Home Screen Icon 9
Application Launch Image 10 Try It 11 Lesson Requirements 11 Hints 11
Step-by-Step 11 LESSON 2: A TOUR OF XCODE AND THE iOS SIMULATOR 19 The
Welcome Screen 19 Creating a New Project 20 An Overview of the Xcode IDE 22
The Navigator Area 22 The Editor Area 26 The Utilities Area 28 The Debugger
Area 30 The Toolbar 30 Features of the iOS Simulator 31 Installing and
Uninstalling Applications 32 Limitations of the iOS Simulator 33 Try It 33
Lesson Requirements 33 Hints 33 Step-by-Step 33 LESSON 3: INTRODUCING SWIFT
35 Introducing Xcode Playgrounds 35 Constants and Variables 37 Data Types
38 Comments 39 Strings 39 Tuples 40 Optionals 41 Control Flow Statements 42
if-else 42 switch-case 44 Loops 45 Control Transfer Statements 49 Try It 50
Lesson Requirements 50 Hints 50 Step-by-Step 50 LESSON 4: FUNCTIONS 53
Declaring Functions 53 Parameters and Return Values 53 Try It 55 Lesson
Requirements 55 Hints 55 Step-by-Step 55 LESSON 5: CLOSURES 57 Function
Types 57 Closure Types 58 Global Closures 58 Nested Closures 58 Closure
Expressions 59 Try It 60 Lesson Requirements 60 Hints 60 Step-by-Step 60
LESSON 6: ERROR HANDLING 63 The ErrorType Protocol 63 Throwing and Catching
Errors 64 Suppressing Error Handling 65 The defer Statement 66 Try It 66
Lesson Requirements 66 Hints 67 Step by Step 67 LESSON 7: OBJECT-ORIENTED
PROGRAMMING WITH SWIFT 69 Creating Classes with Swift 70 Properties 70
Methods 71 Instantiating Objects 74 Inheritance 74 Computed Properties 76
Enumerations 77 Protocols 77 Try It 81 Lesson Requirements 81 Hints 81
Step-by-Step 81 LESSON 8: SUPPORTING MULTIPLE DEVICE TYPES 85 Device
Differences 86 Screen Size 86 Icon Size 87 Device Orientation 89 The
Universal XCode Template 90 Try It 91 Lesson Requirements 91 Hints 91
Step-by-Step 91 LESSON 9: INTRODUCTION TO UIKIT AND ADAPTIVE LAYOUT 95
Introducing the UIKit Framework 95 The UIButton Class 97 The UILabel Class
98 Basic Constraints 99 Previewing Your Layout 106 Creating Outlets 108
Creating Actions 110 Try It 110 Lesson Requirements 110 Hints 111
Step-by-Step 111 LESSON 10: INTRODUCTION TO STORYBOARDS 117 Try It 124
Lesson Requirements 124 Hints 125 Step-by-Step 125 SECTION II: MORE iOS
DEVELOPMENT LESSON 11: HANDLING USER INPUT 143 Text Fields 143 Text Views
146 Try It 147 Lesson Requirements 147 Hints 148 Step-by-Step 148 LESSON
12: ALERT VIEWS AND ACTION SHEETS 155 Alert Views 155 Action Sheets 159 Try
It 161 Lesson Requirements 161 Hints 161 Step-by-Step 161 LESSON 13: ADDING
IMAGES TO YOUR VIEW 167 The UIImage Class 167 The UIImageView Class 170 Try
It 172 Lesson Requirements 172 Hints 172 Step-by-Step 172 LESSON 14:
PICKERS 177 Date Pickers 181 Custom Pickers 184 Try It 185 Lesson
Requirements 185 Hints 185 Step-by-Step 186 LESSON 15: NAVIGATION
CONTROLLERS 193 Adding a Navigation Controller to a Storyboard 193 The
Navigation Controller Interface 196 Try It 197 Lesson Requirements 198
Hints 198 Step-by-Step 198 LESSON 16: TABLE VIEWS 203 Table View Appearance
203 Creating a Table View with Interface Builder 205 Static Table Views 206
Dynamic Table Views 207 Try It 211 Lesson Requirements 211 Hints 211
Step-by-Step 211 LESSON 17: COLLECTION VIEWS 217 Creating a Collection View
with Interface Builder 218 Collection View Cells 219 Collection View
Delegate and Data Source 220 Try It 222 Lesson Requirements 222 Hints 223
Step-by-Step 223 LESSON 18: TAB BARS AND TOOLBARS 229 Creating a Tab Bar
Controller 231 Toolbars 235 Try It 238 Lesson Requirements 239 Hints 239
Step-by-Step 239 LESSON 19: CREATING VIEWS THAT SCROLL 245 The UIScrollView
Class 245 Scroll Views and Text Fields 248 Try It 249 Lesson Requirements
249 Hints 250 Step-by-Step 250 LESSON 20: POPOVERS AND MODAL VIEWS 257
Popovers 257 Modal Views 260 Try It 262 Lesson Requirements 262 Hints 263
Step-by-Step 263 LESSON 21: TOUCHES AND GESTURES 269 Touch Events 269
Gesture Recognizers 270 Try It 271 Lesson Requirements 271 Hints 272
Step-by-Step 272 SECTION III: STORING DATA AND NETWORK PROGRAMMING LESSON
22: PROPERTY LISTS 277 Creating Property Lists 277 Reading Property Lists
279 Try It 280 Lesson Requirements 280 Hints 280 Step-by-Step 280 LESSON
23: APPLICATION SETTINGS 285 Adding a Settings Bundle 285 Reading
Preferences with Code 289 Try It 290 Lesson Requirements 290 Hints 290
Step-by-Step 291 LESSON 24: INTRODUCTION TO iCLOUD STORAGE 295 Basic
Concepts 295 Preparing to Use the iCloud Storage APIs 297 Creating an
iCloud-Enabled App ID 297 Creating an Appropriate Provisioning Profi le 302
Enabling Appropriate Entitlements in Your Xcode Project 308 Checking for
Service Availability 309 Using iCloud Document Storage 310 Creating a New
iCloud Document 311 Opening an Existing Document 312 Saving a Document 312
Searching for Documents on iCloud 313 Try It 315 Lesson Requirements 315
Hints 316 Step-by-Step 316 LESSON 25: INTRODUCTION TO CLOUDKIT 327
Containers, Databases, and Records 327 Development and Production
Environments 330 The CloudKit Dashboard 331 Creating a Record Type 331
Deleting a Record Type 333 Creating Relationships Between Record Types 333
Adding Records 334 Modifying and Deleting Records 336 Resetting the
Development Schema 337 Deploying to Production 337 Preparing to Use
CloudKit 338 Create an iCloud-Enabled App ID 338 Create an Appropriate
Provisioning Profi le 344 Enable Appropriate Entitlements in Your Xcode
Project 350 Common Operations 350 Checking for Service Availability 351
Creating Records Programmatically 351 Retrieving Records 352 Try It 352
Lesson Requirements 353 Hints 353 Step-by-Step 353 LESSON 26: INTRODUCTION
TO CORE DATA 381 Basic Concepts 381 Managed Object 381 Managed Object
Context 381 Persistent Store Coordinator 382 Entity Description 383 Managed
Object Model 383 Adding Core Data to a Project 384 Instantiating Core Data
Objects 389 Writing Managed Objects 390 Reading Managed Objects 391 Try It
391 Lesson Requirements 391 Hints 392 Step-by-Step 392 LESSON 27: CONSUMING
RESTful JSON WEB SERVICES 399 Types of Web Services 400 RESTful Web
Services 400 SOAP Web Services 401 JSON and NSJSONSerialization 401
NSURLSession and Application Transport Security 403 Creating an
NSURLSession 404 Creating a Data Task 405 Application Transport Security
406 Try It 408 Lesson Requirements 408 Hints 409 Step-by-Step 409 SECTION
IV: BEYOND THE BASICS LESSON 28: SOCIAL MEDIA INTEGRATION 417 The Share
Sheet 418 Try It 421 Lesson Requirements 421 Hints 421 Step-by-Step 422
LESSON 29: WHERE Am I? INTRODUCING CORE LOCATION 427 Permissions 428
Accuracy 430 Receiving Location Updates 431 Handling Errors and Checking
Hardware Availability 433 Geocoding and Reverse Geocoding 434 Obtaining
Compass Headings 435 Try It 436 Lesson Requirements 436 Hints 437
Step-by-Step 437 LESSON 30: INTRODUCTION TO MAP KIT 443 Adding Annotations
444 Accessory Views 447 Try It 447 Lesson Requirements 448 Hints 448
Step-by-Step 449 LESSON 31: USING THE CAMERA AND PHOTO LIBRARY 455
Selecting the Image Source 456 Presenting the Image Picker 456 Try It 459
Lesson Requirements 459 Hints 459 Step-by-Step 459 LESSON 32: INTRODUCTION
TO USER INTERFACE TESTING 465 Adding Support for UI Testing to Your Project
465 Anatomy of a Test Case 468 New Classes for UI Testing 469
XCUIApplication 469 XCUIDevice 470 XCUIElementQuery 471 XCUIElement 472
XCUIElementAttributes 475 XCUIElementTypeQueryProvider 476 Test Assertions
477 UI Recording 478 Waiting for Elements in a UI Test 479 Try It 480
Lesson Requirements 480 Hints 480 Step-by-Step 481 LESSON 33: INTRODUCTION
TO TEST DRIVEN DEVELOPMENT 485 Adding Support for Unit Testing to Your
Project 486 TDD Techniques 488 Test First 488 Red-Green-Refactor 488 Don't
Write Code You Do Not Yet Need 489 Anatomy of a Test Case 489 Test
Assertions 491 Try It 493 Lesson Requirements 493 Hints 493 Step-by-Step
494 SECTION V: REFERENCE APPENDIX A: TESTING YOUR APP ON A DEVICE 507
APPENDIX B: BETA TESTING WITH TESTFLIGHT 527 APPENDIX C: APP STORE
DISTRIBUTION 553 INDEX 569
INTRODUCTION xxiii SECTION I: HELLO iOS! LESSON 1: HELLO iOS! 3 iOS
Developer Essentials 3 A Suitable Mac 3 A Device for Testing 4 An iOS
Developer Account 4 The Offi cial iOS SDK 6 The Typical App Development
Process 6 Wireframes and Design 8 Coding 8 Testing 8 Home Screen Icon 9
Application Launch Image 10 Try It 11 Lesson Requirements 11 Hints 11
Step-by-Step 11 LESSON 2: A TOUR OF XCODE AND THE iOS SIMULATOR 19 The
Welcome Screen 19 Creating a New Project 20 An Overview of the Xcode IDE 22
The Navigator Area 22 The Editor Area 26 The Utilities Area 28 The Debugger
Area 30 The Toolbar 30 Features of the iOS Simulator 31 Installing and
Uninstalling Applications 32 Limitations of the iOS Simulator 33 Try It 33
Lesson Requirements 33 Hints 33 Step-by-Step 33 LESSON 3: INTRODUCING SWIFT
35 Introducing Xcode Playgrounds 35 Constants and Variables 37 Data Types
38 Comments 39 Strings 39 Tuples 40 Optionals 41 Control Flow Statements 42
if-else 42 switch-case 44 Loops 45 Control Transfer Statements 49 Try It 50
Lesson Requirements 50 Hints 50 Step-by-Step 50 LESSON 4: FUNCTIONS 53
Declaring Functions 53 Parameters and Return Values 53 Try It 55 Lesson
Requirements 55 Hints 55 Step-by-Step 55 LESSON 5: CLOSURES 57 Function
Types 57 Closure Types 58 Global Closures 58 Nested Closures 58 Closure
Expressions 59 Try It 60 Lesson Requirements 60 Hints 60 Step-by-Step 60
LESSON 6: ERROR HANDLING 63 The ErrorType Protocol 63 Throwing and Catching
Errors 64 Suppressing Error Handling 65 The defer Statement 66 Try It 66
Lesson Requirements 66 Hints 67 Step by Step 67 LESSON 7: OBJECT-ORIENTED
PROGRAMMING WITH SWIFT 69 Creating Classes with Swift 70 Properties 70
Methods 71 Instantiating Objects 74 Inheritance 74 Computed Properties 76
Enumerations 77 Protocols 77 Try It 81 Lesson Requirements 81 Hints 81
Step-by-Step 81 LESSON 8: SUPPORTING MULTIPLE DEVICE TYPES 85 Device
Differences 86 Screen Size 86 Icon Size 87 Device Orientation 89 The
Universal XCode Template 90 Try It 91 Lesson Requirements 91 Hints 91
Step-by-Step 91 LESSON 9: INTRODUCTION TO UIKIT AND ADAPTIVE LAYOUT 95
Introducing the UIKit Framework 95 The UIButton Class 97 The UILabel Class
98 Basic Constraints 99 Previewing Your Layout 106 Creating Outlets 108
Creating Actions 110 Try It 110 Lesson Requirements 110 Hints 111
Step-by-Step 111 LESSON 10: INTRODUCTION TO STORYBOARDS 117 Try It 124
Lesson Requirements 124 Hints 125 Step-by-Step 125 SECTION II: MORE iOS
DEVELOPMENT LESSON 11: HANDLING USER INPUT 143 Text Fields 143 Text Views
146 Try It 147 Lesson Requirements 147 Hints 148 Step-by-Step 148 LESSON
12: ALERT VIEWS AND ACTION SHEETS 155 Alert Views 155 Action Sheets 159 Try
It 161 Lesson Requirements 161 Hints 161 Step-by-Step 161 LESSON 13: ADDING
IMAGES TO YOUR VIEW 167 The UIImage Class 167 The UIImageView Class 170 Try
It 172 Lesson Requirements 172 Hints 172 Step-by-Step 172 LESSON 14:
PICKERS 177 Date Pickers 181 Custom Pickers 184 Try It 185 Lesson
Requirements 185 Hints 185 Step-by-Step 186 LESSON 15: NAVIGATION
CONTROLLERS 193 Adding a Navigation Controller to a Storyboard 193 The
Navigation Controller Interface 196 Try It 197 Lesson Requirements 198
Hints 198 Step-by-Step 198 LESSON 16: TABLE VIEWS 203 Table View Appearance
203 Creating a Table View with Interface Builder 205 Static Table Views 206
Dynamic Table Views 207 Try It 211 Lesson Requirements 211 Hints 211
Step-by-Step 211 LESSON 17: COLLECTION VIEWS 217 Creating a Collection View
with Interface Builder 218 Collection View Cells 219 Collection View
Delegate and Data Source 220 Try It 222 Lesson Requirements 222 Hints 223
Step-by-Step 223 LESSON 18: TAB BARS AND TOOLBARS 229 Creating a Tab Bar
Controller 231 Toolbars 235 Try It 238 Lesson Requirements 239 Hints 239
Step-by-Step 239 LESSON 19: CREATING VIEWS THAT SCROLL 245 The UIScrollView
Class 245 Scroll Views and Text Fields 248 Try It 249 Lesson Requirements
249 Hints 250 Step-by-Step 250 LESSON 20: POPOVERS AND MODAL VIEWS 257
Popovers 257 Modal Views 260 Try It 262 Lesson Requirements 262 Hints 263
Step-by-Step 263 LESSON 21: TOUCHES AND GESTURES 269 Touch Events 269
Gesture Recognizers 270 Try It 271 Lesson Requirements 271 Hints 272
Step-by-Step 272 SECTION III: STORING DATA AND NETWORK PROGRAMMING LESSON
22: PROPERTY LISTS 277 Creating Property Lists 277 Reading Property Lists
279 Try It 280 Lesson Requirements 280 Hints 280 Step-by-Step 280 LESSON
23: APPLICATION SETTINGS 285 Adding a Settings Bundle 285 Reading
Preferences with Code 289 Try It 290 Lesson Requirements 290 Hints 290
Step-by-Step 291 LESSON 24: INTRODUCTION TO iCLOUD STORAGE 295 Basic
Concepts 295 Preparing to Use the iCloud Storage APIs 297 Creating an
iCloud-Enabled App ID 297 Creating an Appropriate Provisioning Profi le 302
Enabling Appropriate Entitlements in Your Xcode Project 308 Checking for
Service Availability 309 Using iCloud Document Storage 310 Creating a New
iCloud Document 311 Opening an Existing Document 312 Saving a Document 312
Searching for Documents on iCloud 313 Try It 315 Lesson Requirements 315
Hints 316 Step-by-Step 316 LESSON 25: INTRODUCTION TO CLOUDKIT 327
Containers, Databases, and Records 327 Development and Production
Environments 330 The CloudKit Dashboard 331 Creating a Record Type 331
Deleting a Record Type 333 Creating Relationships Between Record Types 333
Adding Records 334 Modifying and Deleting Records 336 Resetting the
Development Schema 337 Deploying to Production 337 Preparing to Use
CloudKit 338 Create an iCloud-Enabled App ID 338 Create an Appropriate
Provisioning Profi le 344 Enable Appropriate Entitlements in Your Xcode
Project 350 Common Operations 350 Checking for Service Availability 351
Creating Records Programmatically 351 Retrieving Records 352 Try It 352
Lesson Requirements 353 Hints 353 Step-by-Step 353 LESSON 26: INTRODUCTION
TO CORE DATA 381 Basic Concepts 381 Managed Object 381 Managed Object
Context 381 Persistent Store Coordinator 382 Entity Description 383 Managed
Object Model 383 Adding Core Data to a Project 384 Instantiating Core Data
Objects 389 Writing Managed Objects 390 Reading Managed Objects 391 Try It
391 Lesson Requirements 391 Hints 392 Step-by-Step 392 LESSON 27: CONSUMING
RESTful JSON WEB SERVICES 399 Types of Web Services 400 RESTful Web
Services 400 SOAP Web Services 401 JSON and NSJSONSerialization 401
NSURLSession and Application Transport Security 403 Creating an
NSURLSession 404 Creating a Data Task 405 Application Transport Security
406 Try It 408 Lesson Requirements 408 Hints 409 Step-by-Step 409 SECTION
IV: BEYOND THE BASICS LESSON 28: SOCIAL MEDIA INTEGRATION 417 The Share
Sheet 418 Try It 421 Lesson Requirements 421 Hints 421 Step-by-Step 422
LESSON 29: WHERE Am I? INTRODUCING CORE LOCATION 427 Permissions 428
Accuracy 430 Receiving Location Updates 431 Handling Errors and Checking
Hardware Availability 433 Geocoding and Reverse Geocoding 434 Obtaining
Compass Headings 435 Try It 436 Lesson Requirements 436 Hints 437
Step-by-Step 437 LESSON 30: INTRODUCTION TO MAP KIT 443 Adding Annotations
444 Accessory Views 447 Try It 447 Lesson Requirements 448 Hints 448
Step-by-Step 449 LESSON 31: USING THE CAMERA AND PHOTO LIBRARY 455
Selecting the Image Source 456 Presenting the Image Picker 456 Try It 459
Lesson Requirements 459 Hints 459 Step-by-Step 459 LESSON 32: INTRODUCTION
TO USER INTERFACE TESTING 465 Adding Support for UI Testing to Your Project
465 Anatomy of a Test Case 468 New Classes for UI Testing 469
XCUIApplication 469 XCUIDevice 470 XCUIElementQuery 471 XCUIElement 472
XCUIElementAttributes 475 XCUIElementTypeQueryProvider 476 Test Assertions
477 UI Recording 478 Waiting for Elements in a UI Test 479 Try It 480
Lesson Requirements 480 Hints 480 Step-by-Step 481 LESSON 33: INTRODUCTION
TO TEST DRIVEN DEVELOPMENT 485 Adding Support for Unit Testing to Your
Project 486 TDD Techniques 488 Test First 488 Red-Green-Refactor 488 Don't
Write Code You Do Not Yet Need 489 Anatomy of a Test Case 489 Test
Assertions 491 Try It 493 Lesson Requirements 493 Hints 493 Step-by-Step
494 SECTION V: REFERENCE APPENDIX A: TESTING YOUR APP ON A DEVICE 507
APPENDIX B: BETA TESTING WITH TESTFLIGHT 527 APPENDIX C: APP STORE
DISTRIBUTION 553 INDEX 569
Developer Essentials 3 A Suitable Mac 3 A Device for Testing 4 An iOS
Developer Account 4 The Offi cial iOS SDK 6 The Typical App Development
Process 6 Wireframes and Design 8 Coding 8 Testing 8 Home Screen Icon 9
Application Launch Image 10 Try It 11 Lesson Requirements 11 Hints 11
Step-by-Step 11 LESSON 2: A TOUR OF XCODE AND THE iOS SIMULATOR 19 The
Welcome Screen 19 Creating a New Project 20 An Overview of the Xcode IDE 22
The Navigator Area 22 The Editor Area 26 The Utilities Area 28 The Debugger
Area 30 The Toolbar 30 Features of the iOS Simulator 31 Installing and
Uninstalling Applications 32 Limitations of the iOS Simulator 33 Try It 33
Lesson Requirements 33 Hints 33 Step-by-Step 33 LESSON 3: INTRODUCING SWIFT
35 Introducing Xcode Playgrounds 35 Constants and Variables 37 Data Types
38 Comments 39 Strings 39 Tuples 40 Optionals 41 Control Flow Statements 42
if-else 42 switch-case 44 Loops 45 Control Transfer Statements 49 Try It 50
Lesson Requirements 50 Hints 50 Step-by-Step 50 LESSON 4: FUNCTIONS 53
Declaring Functions 53 Parameters and Return Values 53 Try It 55 Lesson
Requirements 55 Hints 55 Step-by-Step 55 LESSON 5: CLOSURES 57 Function
Types 57 Closure Types 58 Global Closures 58 Nested Closures 58 Closure
Expressions 59 Try It 60 Lesson Requirements 60 Hints 60 Step-by-Step 60
LESSON 6: ERROR HANDLING 63 The ErrorType Protocol 63 Throwing and Catching
Errors 64 Suppressing Error Handling 65 The defer Statement 66 Try It 66
Lesson Requirements 66 Hints 67 Step by Step 67 LESSON 7: OBJECT-ORIENTED
PROGRAMMING WITH SWIFT 69 Creating Classes with Swift 70 Properties 70
Methods 71 Instantiating Objects 74 Inheritance 74 Computed Properties 76
Enumerations 77 Protocols 77 Try It 81 Lesson Requirements 81 Hints 81
Step-by-Step 81 LESSON 8: SUPPORTING MULTIPLE DEVICE TYPES 85 Device
Differences 86 Screen Size 86 Icon Size 87 Device Orientation 89 The
Universal XCode Template 90 Try It 91 Lesson Requirements 91 Hints 91
Step-by-Step 91 LESSON 9: INTRODUCTION TO UIKIT AND ADAPTIVE LAYOUT 95
Introducing the UIKit Framework 95 The UIButton Class 97 The UILabel Class
98 Basic Constraints 99 Previewing Your Layout 106 Creating Outlets 108
Creating Actions 110 Try It 110 Lesson Requirements 110 Hints 111
Step-by-Step 111 LESSON 10: INTRODUCTION TO STORYBOARDS 117 Try It 124
Lesson Requirements 124 Hints 125 Step-by-Step 125 SECTION II: MORE iOS
DEVELOPMENT LESSON 11: HANDLING USER INPUT 143 Text Fields 143 Text Views
146 Try It 147 Lesson Requirements 147 Hints 148 Step-by-Step 148 LESSON
12: ALERT VIEWS AND ACTION SHEETS 155 Alert Views 155 Action Sheets 159 Try
It 161 Lesson Requirements 161 Hints 161 Step-by-Step 161 LESSON 13: ADDING
IMAGES TO YOUR VIEW 167 The UIImage Class 167 The UIImageView Class 170 Try
It 172 Lesson Requirements 172 Hints 172 Step-by-Step 172 LESSON 14:
PICKERS 177 Date Pickers 181 Custom Pickers 184 Try It 185 Lesson
Requirements 185 Hints 185 Step-by-Step 186 LESSON 15: NAVIGATION
CONTROLLERS 193 Adding a Navigation Controller to a Storyboard 193 The
Navigation Controller Interface 196 Try It 197 Lesson Requirements 198
Hints 198 Step-by-Step 198 LESSON 16: TABLE VIEWS 203 Table View Appearance
203 Creating a Table View with Interface Builder 205 Static Table Views 206
Dynamic Table Views 207 Try It 211 Lesson Requirements 211 Hints 211
Step-by-Step 211 LESSON 17: COLLECTION VIEWS 217 Creating a Collection View
with Interface Builder 218 Collection View Cells 219 Collection View
Delegate and Data Source 220 Try It 222 Lesson Requirements 222 Hints 223
Step-by-Step 223 LESSON 18: TAB BARS AND TOOLBARS 229 Creating a Tab Bar
Controller 231 Toolbars 235 Try It 238 Lesson Requirements 239 Hints 239
Step-by-Step 239 LESSON 19: CREATING VIEWS THAT SCROLL 245 The UIScrollView
Class 245 Scroll Views and Text Fields 248 Try It 249 Lesson Requirements
249 Hints 250 Step-by-Step 250 LESSON 20: POPOVERS AND MODAL VIEWS 257
Popovers 257 Modal Views 260 Try It 262 Lesson Requirements 262 Hints 263
Step-by-Step 263 LESSON 21: TOUCHES AND GESTURES 269 Touch Events 269
Gesture Recognizers 270 Try It 271 Lesson Requirements 271 Hints 272
Step-by-Step 272 SECTION III: STORING DATA AND NETWORK PROGRAMMING LESSON
22: PROPERTY LISTS 277 Creating Property Lists 277 Reading Property Lists
279 Try It 280 Lesson Requirements 280 Hints 280 Step-by-Step 280 LESSON
23: APPLICATION SETTINGS 285 Adding a Settings Bundle 285 Reading
Preferences with Code 289 Try It 290 Lesson Requirements 290 Hints 290
Step-by-Step 291 LESSON 24: INTRODUCTION TO iCLOUD STORAGE 295 Basic
Concepts 295 Preparing to Use the iCloud Storage APIs 297 Creating an
iCloud-Enabled App ID 297 Creating an Appropriate Provisioning Profi le 302
Enabling Appropriate Entitlements in Your Xcode Project 308 Checking for
Service Availability 309 Using iCloud Document Storage 310 Creating a New
iCloud Document 311 Opening an Existing Document 312 Saving a Document 312
Searching for Documents on iCloud 313 Try It 315 Lesson Requirements 315
Hints 316 Step-by-Step 316 LESSON 25: INTRODUCTION TO CLOUDKIT 327
Containers, Databases, and Records 327 Development and Production
Environments 330 The CloudKit Dashboard 331 Creating a Record Type 331
Deleting a Record Type 333 Creating Relationships Between Record Types 333
Adding Records 334 Modifying and Deleting Records 336 Resetting the
Development Schema 337 Deploying to Production 337 Preparing to Use
CloudKit 338 Create an iCloud-Enabled App ID 338 Create an Appropriate
Provisioning Profi le 344 Enable Appropriate Entitlements in Your Xcode
Project 350 Common Operations 350 Checking for Service Availability 351
Creating Records Programmatically 351 Retrieving Records 352 Try It 352
Lesson Requirements 353 Hints 353 Step-by-Step 353 LESSON 26: INTRODUCTION
TO CORE DATA 381 Basic Concepts 381 Managed Object 381 Managed Object
Context 381 Persistent Store Coordinator 382 Entity Description 383 Managed
Object Model 383 Adding Core Data to a Project 384 Instantiating Core Data
Objects 389 Writing Managed Objects 390 Reading Managed Objects 391 Try It
391 Lesson Requirements 391 Hints 392 Step-by-Step 392 LESSON 27: CONSUMING
RESTful JSON WEB SERVICES 399 Types of Web Services 400 RESTful Web
Services 400 SOAP Web Services 401 JSON and NSJSONSerialization 401
NSURLSession and Application Transport Security 403 Creating an
NSURLSession 404 Creating a Data Task 405 Application Transport Security
406 Try It 408 Lesson Requirements 408 Hints 409 Step-by-Step 409 SECTION
IV: BEYOND THE BASICS LESSON 28: SOCIAL MEDIA INTEGRATION 417 The Share
Sheet 418 Try It 421 Lesson Requirements 421 Hints 421 Step-by-Step 422
LESSON 29: WHERE Am I? INTRODUCING CORE LOCATION 427 Permissions 428
Accuracy 430 Receiving Location Updates 431 Handling Errors and Checking
Hardware Availability 433 Geocoding and Reverse Geocoding 434 Obtaining
Compass Headings 435 Try It 436 Lesson Requirements 436 Hints 437
Step-by-Step 437 LESSON 30: INTRODUCTION TO MAP KIT 443 Adding Annotations
444 Accessory Views 447 Try It 447 Lesson Requirements 448 Hints 448
Step-by-Step 449 LESSON 31: USING THE CAMERA AND PHOTO LIBRARY 455
Selecting the Image Source 456 Presenting the Image Picker 456 Try It 459
Lesson Requirements 459 Hints 459 Step-by-Step 459 LESSON 32: INTRODUCTION
TO USER INTERFACE TESTING 465 Adding Support for UI Testing to Your Project
465 Anatomy of a Test Case 468 New Classes for UI Testing 469
XCUIApplication 469 XCUIDevice 470 XCUIElementQuery 471 XCUIElement 472
XCUIElementAttributes 475 XCUIElementTypeQueryProvider 476 Test Assertions
477 UI Recording 478 Waiting for Elements in a UI Test 479 Try It 480
Lesson Requirements 480 Hints 480 Step-by-Step 481 LESSON 33: INTRODUCTION
TO TEST DRIVEN DEVELOPMENT 485 Adding Support for Unit Testing to Your
Project 486 TDD Techniques 488 Test First 488 Red-Green-Refactor 488 Don't
Write Code You Do Not Yet Need 489 Anatomy of a Test Case 489 Test
Assertions 491 Try It 493 Lesson Requirements 493 Hints 493 Step-by-Step
494 SECTION V: REFERENCE APPENDIX A: TESTING YOUR APP ON A DEVICE 507
APPENDIX B: BETA TESTING WITH TESTFLIGHT 527 APPENDIX C: APP STORE
DISTRIBUTION 553 INDEX 569