Professional iOS Programming

Professional iOS Programming

By: Peter Van de Put (author), Pertti Karjlainen (foreword_author)Paperback

1 - 2 weeks availability

£23.11 RRP £33.99  You save £10.88 (32%) & FREE Saver Delivery on orders over £25

Description

Hands-on guidance for programming the next generation of iOS apps If you want to create advanced level iOS apps that get noticed in the App Store, start with this expert book. Written by an international software developer and consultant who has delivered winning solutions for clients all over the world, this professional guide helps you build robust, professional iOS apps at a level that satisfies the demands of clients, companies, and your own creativity. The book includes full source code and invaluable insight from the author's extensive experience. Especially helpful are numerous case studies that shed light on key topics. * Explores all topics necessary to help you build professional iOS applications perfectly targeted to clients' needs * Covers essential topics including creating a professional UI, networking and data processing, integrating your app, and taking it into production * Includes sample code and sample apps, ideal for hands-on learning * Examines using social media aggregators, real-time currency converters, QR scanners, customer tracking and quality payment system * Provides in-depth examples from the author's extensive career, as well as numerous case studies Take your programming skills to an advanced level with Professional iOS Programming.

Create a review

About Author

Peter van de Put is CEO and lead developer of YourDeveloper, a global software development company based in France. He began developing software in 1980, delivering high-end software solutions for companies like Shell, Unilever, and Bridgestone. He started his own software company in 2006, developing iOS applications and backend software solutions. Wrox Professional guides are written by working developers to address everyday needs. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.

Contents

Foreword xix Introduction xxi Part I: Developing a Professional UI Chapter 1: Creating a Personal Library 3 Creating Your Personal Library 4 Understanding Project Basics 4 Starting a New Project 5 Configuring Your Project 6 Defining Constants 8 Using the Configuration 8 Importing the Header File 10 Registration Login 11 Creating Registration Logic 12 Initializing Data 15 Initializing Application Defaults 15 Creating Login Logic 16 Securing Passwords 18 Storing the Password in a Keychain 20 Crash Management 20 Understanding Crashes 21 Implementing a Crash Handler 21 Summary 28 Chapter 2: Advancing with Tableviews 29 Understanding the UITableView 29 datasource and delegate 30 Scrolling 34 Building a Chat View Controller 38 Building a datasource 39 Building a Chat Data Object 39 Building a Custom UITableView 42 Flexible Cell Height 45 Developing Custom Cells 46 Creating the Chat User Object 49 Putting It All Together 50 Drilling Down with UITableView 56 Implementing a UISearchBar 66 Adding an Alphabet Index 72 Summary 77 Chapter 3: Advancing with Map Kit 79 Simulating iOS Device Movement 80 Why You Need a GPS Simulator 80 Creating the Simulator 80 Creating a GPS Route File with Google Maps 84 Implementing the YDLocationSimulator 87 Working with Annotations 90 Creating Custom Annotations 90 Responding to Annotation Call-Outs 95 Clustering Annotations 100 Summary 118 Chapter 4: Understanding Action Views and Alerts 119 Asking for User Input 119 Creating a UIActionSheet with Multiple Options 120 Presenting the UIActionSheet 125 Responding to User Input 133 Processing the User Selection 133 Extending the UIAlertView 136 Adding a UITextField to a UIAlertView 136 Summary 140 Chapter 5: Internationalization: Building Apps for the World 141 Localizing Your Application 141 Setting Up Localization 143 Localizing Interface Builder Files 144 Localizing Strings 145 Localizing Images 148 Localize the Name of Your Application 150 Working with Date Formats 151 What Is a Locale? 151 Understanding Calendars 155 Storing Dates in a Generic Way 159 Working with Numbers 160 Introducing Number Formatters 160 Summary 164 Chapter 6: Using Multimedia 165 Portable Document Format 165 Displaying a PDF Document with a UIWebView 166 Displaying a PDF Document using QuickLook 170 Creating a Thumbnail from a PDF Document 173 Creating a PDF Document 177 Playing and Recording Audio 181 Introduction to the Frameworks 182 Playing an Audio File from the Bundle 182 Playing Audio from Your iTunes Library 187 Playing Streaming Audio 191 Recording Audio 193 Playing and Recording Video 198 Playing a Video File from the Bundle 199 Playing a Video from Your iTunes Library 202 Playing a YouTube Video 205 Recording Video 207 Summary 210 Part II: Networking Data Processing Chapter 7: Using Web Services and Parsing 213 Why Would You Need to Use a Web Service? 213 Understanding Basic Networking 214 Understanding Protocols 214 Understanding Operations 215 Understanding Response Codes 215 Introduction to Web Services 216 Calling an HTTP Service 216 Requesting a Website 216 Downloading an Image from an HTTP URL 219 Requesting a Secure Website Using HTTPS 225 Using Blocks 228 Calling a REST Service 232 Constructing Your Request 232 Processing the Response 236 Posting to a RESTful Service 242 Making SOAP Requests 248 Preparing Your Request 250 Passing Values to an Operation 252 Understanding Secure SOAP Requests 258 More Parsing 260 What about Comma-Separated Value Files? 260 Transforming XML to an NSDictionary 266 Summary 270 Chapter 8: Using FTP 271 Developing an FTP Client 272 Writing a Simple FTP Client 272 Downloading a Remote File 277 Creating a Remote Directory 279 Listing a Remote Directory 280 Uploading a File 283 Reading from an NSStream 284 Writing to an NSStream 285 Writing a Complex FTP Client 288 Working with an FTP Client 297 Summary 297 Chapter 9: Implementing Core Data 299 Introduction to Core Data 299 Why Should You Use Core Data? 300 Introducing Managed Object Context 300 Introducing the Managed Object Model 300 Introducing Managed Objects 301 Introducing Persistent Stores 301 Introducing Fetch Requests 301 Using Core Data in Your Application 302 Creating a Managed Object Model 302 Creating Managed Objects 305 Creating Persistent Stores 306 Setting Up Your Appdelegate 307 Using Core Data in Your Application 309 Using Managed Objects 309 Fetching Managed Objects 311 Using Relationships 316 Understanding Model Changes 320 Tuning for Performance 324 Concurrency with Core Data 331 Summary 332 Part III: Integrating Your App Chapter 10: Notifications 335 Implementing Local Notifications 336 Understanding Local Notifications 336 Creating a Notification 337 Receiving a Notification 340 Understanding Push Notifications 341 Configuring the Developer Portal 343 Obtaining Certificates 346 Implementation with Urban Airship 349 External Notifications 352 Defining a Custom URL Scheme 352 Responding to the URL Request 353 Summary 354 Chapter 11: Sending E Mail, SMS, and Dialing a Phone 355 Sending E Mail 355 Composing an E Mail 356 Working with Attachments 358 Sending SMS (Text Message) 359 Verifying if SMS Is Available 359 Composing a Text Message 359 Dialing a Phone Number 360 Verifying Dialing Capability 360 Summary 361 Chapter 12: Understanding the Address Book 363 Introduction to the Address Book Framework 363 Accessing the Address Book 364 Selecting a Contact 364 Requesting Access Permission 367 Displaying and Editing a Contact 370 Creating a Contact 373 Deleting a Contact 375 Programmatically Accessing the Address Book 375 Understanding Address Books 376 Understanding Records 379 Understanding Properties 380 Creating a Contact Programmatically 381 Deleting a Contact Programmatically 384 Summary 384 Chapter 13: Event Programming 385 Introduction to the Event Kit Framework 385 Using the EventKitUI Framework 386 Requesting Access Permission 386 Accessing a Calendar 388 Creating and Editing a Calendar Event 390 Programmatically Accessing the Calendar Database 391 Creating an Event 392 Editing an Event 396 Deleting an Event 397 Stay Synchronized 397 Working with Reminders 397 Creating a Reminder 398 Editing a Reminder 399 Deleting a Reminder 399 Working with Alarms 399 Summary 401 Chapter 14: Integrating with Social Media 403 Introduction to Social Media Integration 403 Understanding the Accounts Framework 404 Understanding the Social Framework 408 Making a Post 409 Retrieving Tweets 418 Integrating with Facebook 419 Creating a Single Sign-In Application 426 Summary 431 Part IV: Taking Your Application to Production Chapter 15: Analyzing Your Application 435 Performing a Technical Analysis 435 Application Crashes 436 Blocking the Main Thread 436 Memory Leaks 437 Using Synchronized HTTP Requests 438 Extensive Bandwidth Usage 438 Battery Drainage 442 Bad User Interface 444 Performing a Commercial Analysis 444 Introducing Flurry Analytics 445 Summary 446 Chapter 16: Monetize Your App 447 Introduction to Monetizing 447 Paid Application 448 Advertising 448 In-App Purchases 448 Subscriptions 448 Lead Generation 449 Affiliate Sales 449 Developing In-App Purchases 449 Introduction to In-App Purchase 449 Registering Products 450 Choosing the Product Type 450 Understanding the In-App Purchase Process 451 Implementing an In-App Purchase 452 Monetizing with Advertisements 473 Introducing the iAd Framework 473 Implementing the AdMob Network 476 Summary 479 Chapter 17: Understanding iTunes Connect 481 IOS Developer Member Center 482 Obtaining a Developer Certificate 482 Managing Devices 486 Managing Apps 489 Creating a Development Provisioning Profile 496 Creating a Distribution Provisioning Profile 499 Summary 503 Chapter 18: Building and Distribution 505 App Store Review 505 Understanding the Review Guidelines 506 Understanding the Review Process 506 Understanding Rejections 509 Avoiding Common Pitfalls 509 Building for Ad Hoc Distribution 510 Building Your Application 510 Distribute for Testing 512 Building for App Store Distribution 514 Summary 521 Appendix a: Audio Codes 523 Appendix b: Artwork Dimensions 527 Device Dimensions 527 iTunes Connect Artwork Dimensions 529 Index 531

Product Details

  • publication date: 28/01/2014
  • ISBN13: 9781118661130
  • Format: Paperback
  • Number Of Pages: 576
  • ID: 9781118661130
  • weight: 948
  • ISBN10: 1118661133

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly

Close