Rights Contact Login For More Details
- Wiley
More About This Title Swift 2 iOS 24-Hour Trainer
- English
English
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.
- English
English
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.
- English
English
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