معرفی کتاب «Professional iOS Programming» نوشتهٔ Peter van de Put, Pertti Karjlainen، منتشرشده توسط نشر Wrox / John Wiley & Sons در سال 2014. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Professional iOS Programming» در دستهٔ بدون دستهبندی قرار دارد.
With over 50 billion app downloads and counting, app development can be lucrative, but you must be able to stand out from the crowd. In order to accomplish this, your app will likely need to incorporate advanced functionality. This book will show you how. It walks you step by step through building professional level iOS applications by taking advantage of available iOS frameworks using modern Objective-C programming principles. Throughout the chapters, you'll find 70 real-world sample programs that you can download and use as a starting point. With this helpful guidance, you'll create your own cutting-edge app ready for the App Store. Copyright 6 Dedication 7 Credits 8 About the Author 9 About the Technical Editor 9 Acknowledgments 11 Contents 13 Foreword 21 Introduction 23 Part I: Developing a Professional UI 31 Chapter 1: Creating a Personal Library 33 Creating Your Personal Library 34 Understanding Project Basics 34 Starting a New Project 35 Configuring Your Project 36 Defining Constants 38 Using the Configuration 38 Importing the Header File 40 Registration—Login 41 Creating Registration Logic 42 Initializing Data 45 Initializing Application Defaults 45 Creating Login Logic 46 Securing Passwords 48 Storing the Password in a Keychain 50 Crash Management 50 Understanding Crashes 51 Implementing a Crash Handler 51 Summary 58 Chapter 2: Advancing with Tableviews 59 Understanding the UITableView 59 datasource and delegate 60 Scrolling 64 Building a Chat View Controller 68 Building a datasource 69 Building a Chat Data Object 69 Building a Custom UITableView 72 Flexible Cell Height 75 Developing Custom Cells 76 Creating the Chat User Object 79 Putting It All Together 80 Drilling Down with UITableView 86 Implementing a UISearchBar 96 Adding an Alphabet Index 102 Summary 107 Chapter 3: Advancing with Map Kit 109 Simulating iOS Device Movement 110 Why You Need a GPS Simulator 110 Creating the Simulator 110 Creating a GPS Route File with Google Maps 114 Implementing the YDLocationSimulator 117 Working with Annotations 120 Creating Custom Annotations 120 Responding to Annotation Call-Outs 125 Summary 148 Chapter 4: Understanding Action Views and Alerts 149 Asking for User Input 149 Creating a UIActionSheet with Multiple Options 150 Presenting the UIActionSheet 155 Responding to User Input 163 Processing the User Selection 163 Extending the UIAlertView 166 Adding a UITextField to a UIAlertView 166 Summary 170 Chapter 5: Internationalization: Building Apps for the World 171 Localizing Your Application 171 Setting Up Localization 173 Localizing Interface Builder Files 174 Localizing Strings 175 Localizing Images 178 Localize the Name of Your Application 180 Working with Date Formats 181 What Is a Locale? 181 Understanding Calendars 185 Storing Dates in a Generic Way 189 Working with Numbers 190 Introducing Number Formatters 190 Summary 194 Chapter 6: Using Multimedia 195 Portable Document Format 195 Displaying a PDF Document with a UIWebView 196 Displaying a PDF Document using QuickLook 200 Creating a Thumbnail from a PDF Document 203 Creating a PDF Document 207 Playing and Recording Audio 211 Introduction to the Frameworks 212 Playing an Audio File from the Bundle 212 Playing Audio from Your iTunes Library 217 Playing Streaming Audio 221 Recording Audio 223 Playing and Recording Video 228 Playing a Video File from the Bundle 229 Playing a Video from Your iTunes Library 232 Playing a YouTube Video 235 Recording Video 237 Summary 240 Part II: Networking—Data Processing 241 Chapter 7: Using Web Services and Parsing 243 Why Would You Need to Use a Web Service? 243 Understanding Basic Networking 244 Understanding Protocols 244 Understanding Operations 245 Understanding Response Codes 245 Introduction to Web Services 246 Calling an HTTP Service 246 Requesting a Website 246 Downloading an Image from an HTTP URL 249 Requesting a Secure Website Using HTTPS 255 Using Blocks 258 Calling a REST Service 262 Constructing Your Request 262 Processing the Response 266 Posting to a RESTful Service 272 Making SOAP Requests 278 Preparing Your Request 280 Passing Values to an Operation 282 Understanding Secure SOAP Requests 288 More Parsing 290 What about Comma-Separated Value Files? 290 Transforming XML to an NSDictionary 296 Summary 300 Chapter 8: Using FTP 301 Developing an FTP Client 302 Writing a Simple FTP Client 302 Downloading a Remote File 307 Creating a Remote Directory 309 Listing a Remote Directory 310 Uploading a File 313 Reading from an NSStream 314 Writing to an NSStream 315 Writing a Complex FTP Client 318 Working with an FTP Client 327 Summary 327 Chapter 9: Implementing Core Data 329 Introduction to Core Data 329 Why Should You Use Core Data? 330 Introducing Managed Object Context 330 Introducing the Managed Object Model 330 Introducing Managed Objects 331 Introducing Persistent Stores 331 Introducing Fetch Requests 331 Using Core Data in Your Application 332 Creating a Managed Object Model 332 Creating Managed Objects 335 Creating Persistent Stores 336 Setting Up Your Appdelegate 337 Using Core Data in Your Application 339 Using Managed Objects 339 Fetching Managed Objects 341 Using Relationships 346 Understanding Model Changes 350 Tuning for Performance 354 Concurrency with Core Data 361 Summary 362 Part III: Integrating Your App 363 Chapter 10: Notifications 365 Implementing Local Notifications 366 Understanding Local Notifications 366 Creating a Notification 367 Receiving a Notification 370 Understanding Push Notifications 371 Configuring the Developer Portal 373 Obtaining Certificates 376 Implementation with Urban Airship 379 External Notifications 382 Defining a Custom URL Scheme 382 Responding to the URL Request 383 Summary 384 Chapter 11: Sending E‐Mail, SMS, and Dialing a Phone 385 Sending E‐Mail 385 Composing an E‐Mail 386 Working with Attachments 388 Sending SMS (Text Message) 389 Verifying if SMS Is Available 389 Composing a Text Message 389 Dialing a Phone Number 390 Verifying Dialing Capability 390 Summary 391 Chapter 12: Understanding the Address Book 393 Introduction to the Address Book Framework 393 Accessing the Address Book 394 Selecting a Contact 394 Requesting Access Permission 397 Displaying and Editing a Contact 400 Creating a Contact 403 Deleting a Contact 405 Programmatically Accessing the Address Book 405 Understanding Address Books 406 Understanding Records 409 Understanding Properties 410 Creating a Contact Programmatically 411 Deleting a Contact Programmatically 414 Summary 414 Chapter 13: Event Programming 415 Introduction to the Event Kit Framework 415 Using the EventKitUI Framework 416 Requesting Access Permission 416 Accessing a Calendar 418 Creating and Editing a Calendar Event 420 Programmatically Accessing the Calendar Database 421 Creating an Event 422 Editing an Event 426 Deleting an Event 427 Stay Synchronized 427 Working with Reminders 427 Creating a Reminder 428 Editing a Reminder 429 Deleting a Reminder 429 Working with Alarms 429 Summary 431 Chapter 14: Integrating with Social Media 433 Introduction to Social Media Integration 433 Understanding the Accounts Framework 434 Understanding the Social Framework 438 Making a Post 439 Retrieving Tweets 448 Integrating with Facebook 449 Creating a Single Sign-In Application 456 Summary 461 Part IV: Taking Your Application to Production 463 Chapter 15: Analyzing Your Application 465 Performing a Technical Analysis 465 Application Crashes 466 Blocking the Main Thread 466 Memory Leaks 467 Using Synchronized HTTP Requests 468 Extensive Bandwidth Usage 468 Battery Drainage 472 Bad User Interface 474 Performing a Commercial Analysis 474 Introducing Flurry Analytics 475 Summary 476 Chapter 16: Monetize Your App 477 Introduction to Monetizing 477 Paid Application 478 Advertising 478 In-App Purchases 478 Subscriptions 478 Lead Generation 479 Affiliate Sales 479 Developing In-App Purchases 479 Introduction to In-App Purchase 479 Registering Products 480 Choosing the Product Type 480 Understanding the In-App Purchase Process 481 Implementing an In-App Purchase 482 Monetizing with Advertisements 503 Introducing the iAd Framework 503 Implementing the AdMob Network 506 Summary 509 Chapter 17: Understanding iTunes Connect 511 IOS Developer Member Center 512 Obtaining a Developer Certificate 512 Managing Devices 516 Managing Apps 519 Creating a Development Provisioning Profile 526 Creating a Distribution Provisioning Profile 529 Summary 533 Chapter 18: Building and Distribution 535 App Store Review 535 Understanding the Review Guidelines 536 Understanding the Review Process 536 Understanding Rejections 539 Avoiding Common Pitfalls 539 Building for Ad Hoc Distribution 540 Building Your Application 540 Distribute for Testing 542 Building for App Store Distribution 544 Summary 551 Appendix A: Audio Codes 553 Appendix B: Artwork Dimensions 557 Device Dimensions 557 iTunes Connect Artwork Dimensions 559 Index 561 Advertisement 578 Copyright......Page 6 Dedication......Page 7 Credits......Page 8 About the Technical Editor......Page 9 Acknowledgments......Page 11 Contents......Page 13 Foreword......Page 21 Introduction......Page 23 Part I: Developing a Professional UI......Page 31 Chapter 1: Creating a Personal Library......Page 33 Understanding Project Basics......Page 34 Starting a New Project......Page 35 Configuring Your Project......Page 36 Using the Configuration......Page 38 Importing the Header File......Page 40 Registration—Login......Page 41 Creating Registration Logic......Page 42 Initializing Application Defaults......Page 45 Creating Login Logic......Page 46 Securing Passwords......Page 48 Crash Management......Page 50 Implementing a Crash Handler......Page 51 Summary......Page 58 Understanding the UITableView......Page 59 datasource and delegate......Page 60 Scrolling......Page 64 Building a Chat View Controller......Page 68 Building a Chat Data Object......Page 69 Building a Custom UITableView......Page 72 Flexible Cell Height......Page 75 Developing Custom Cells......Page 76 Creating the Chat User Object......Page 79 Putting It All Together......Page 80 Drilling Down with UITableView......Page 86 Implementing a UISearchBar......Page 96 Adding an Alphabet Index......Page 102 Summary......Page 107 Chapter 3: Advancing with Map Kit......Page 109 Creating the Simulator......Page 110 Creating a GPS Route File with Google Maps......Page 114 Implementing the YDLocationSimulator......Page 117 Creating Custom Annotations......Page 120 Responding to Annotation Call-Outs......Page 125 Summary......Page 148 Asking for User Input......Page 149 Creating a UIActionSheet with Multiple Options......Page 150 Presenting the UIActionSheet......Page 155 Processing the User Selection......Page 163 Adding a UITextField to a UIAlertView......Page 166 Summary......Page 170 Localizing Your Application......Page 171 Setting Up Localization......Page 173 Localizing Interface Builder Files......Page 174 Localizing Strings......Page 175 Localizing Images......Page 178 Localize the Name of Your Application......Page 180 What Is a Locale?......Page 181 Understanding Calendars......Page 185 Storing Dates in a Generic Way......Page 189 Introducing Number Formatters......Page 190 Summary......Page 194 Portable Document Format......Page 195 Displaying a PDF Document with a UIWebView......Page 196 Displaying a PDF Document using QuickLook......Page 200 Creating a Thumbnail from a PDF Document......Page 203 Creating a PDF Document......Page 207 Playing and Recording Audio......Page 211 Playing an Audio File from the Bundle......Page 212 Playing Audio from Your iTunes Library......Page 217 Playing Streaming Audio......Page 221 Recording Audio......Page 223 Playing and Recording Video......Page 228 Playing a Video File from the Bundle......Page 229 Playing a Video from Your iTunes Library......Page 232 Playing a YouTube Video......Page 235 Recording Video......Page 237 Summary......Page 240 Part II: Networking—Data Processing......Page 241 Why Would You Need to Use a Web Service?......Page 243 Understanding Protocols......Page 244 Understanding Response Codes......Page 245 Requesting a Website......Page 246 Downloading an Image from an HTTP URL......Page 249 Requesting a Secure Website Using HTTPS......Page 255 Using Blocks......Page 258 Constructing Your Request......Page 262 Processing the Response......Page 266 Posting to a RESTful Service......Page 272 Making SOAP Requests......Page 278 Preparing Your Request......Page 280 Passing Values to an Operation......Page 282 Understanding Secure SOAP Requests......Page 288 What about Comma-Separated Value Files?......Page 290 Transforming XML to an NSDictionary......Page 296 Summary......Page 300 Chapter 8: Using FTP......Page 301 Writing a Simple FTP Client......Page 302 Downloading a Remote File......Page 307 Creating a Remote Directory......Page 309 Listing a Remote Directory......Page 310 Uploading a File......Page 313 Reading from an NSStream......Page 314 Writing to an NSStream......Page 315 Writing a Complex FTP Client......Page 318 Summary......Page 327 Introduction to Core Data......Page 329 Introducing the Managed Object Model......Page 330 Introducing Fetch Requests......Page 331 Creating a Managed Object Model......Page 332 Creating Managed Objects......Page 335 Creating Persistent Stores......Page 336 Setting Up Your Appdelegate......Page 337 Using Managed Objects......Page 339 Fetching Managed Objects......Page 341 Using Relationships......Page 346 Understanding Model Changes......Page 350 Tuning for Performance......Page 354 Concurrency with Core Data......Page 361 Summary......Page 362 Part III: Integrating Your App......Page 363 Chapter 10: Notifications......Page 365 Understanding Local Notifications......Page 366 Creating a Notification......Page 367 Receiving a Notification......Page 370 Understanding Push Notifications......Page 371 Configuring the Developer Portal......Page 373 Obtaining Certificates......Page 376 Implementation with Urban Airship......Page 379 Defining a Custom URL Scheme......Page 382 Responding to the URL Request......Page 383 Summary......Page 384 Sending E‐Mail......Page 385 Composing an E‐Mail......Page 386 Working with Attachments......Page 388 Composing a Text Message......Page 389 Verifying Dialing Capability......Page 390 Summary......Page 391 Introduction to the Address Book Framework......Page 393 Selecting a Contact......Page 394 Requesting Access Permission......Page 397 Displaying and Editing a Contact......Page 400 Creating a Contact......Page 403 Programmatically Accessing the Address Book......Page 405 Understanding Address Books......Page 406 Understanding Records......Page 409 Understanding Properties......Page 410 Creating a Contact Programmatically......Page 411 Summary......Page 414 Introduction to the Event Kit Framework......Page 415 Requesting Access Permission......Page 416 Accessing a Calendar......Page 418 Creating and Editing a Calendar Event......Page 420 Programmatically Accessing the Calendar Database......Page 421 Creating an Event......Page 422 Editing an Event......Page 426 Working with Reminders......Page 427 Creating a Reminder......Page 428 Working with Alarms......Page 429 Summary......Page 431 Introduction to Social Media Integration......Page 433 Understanding the Accounts Framework......Page 434 Understanding the Social Framework......Page 438 Making a Post......Page 439 Retrieving Tweets......Page 448 Integrating with Facebook......Page 449 Creating a Single Sign-In Application......Page 456 Summary......Page 461 Part IV: Taking Your Application to Production......Page 463 Performing a Technical Analysis......Page 465 Blocking the Main Thread......Page 466 Memory Leaks......Page 467 Extensive Bandwidth Usage......Page 468 Battery Drainage......Page 472 Performing a Commercial Analysis......Page 474 Introducing Flurry Analytics......Page 475 Summary......Page 476 Introduction to Monetizing......Page 477 Subscriptions......Page 478 Introduction to In-App Purchase......Page 479 Choosing the Product Type......Page 480 Understanding the In-App Purchase Process......Page 481 Implementing an In-App Purchase......Page 482 Introducing the iAd Framework......Page 503 Implementing the AdMob Network......Page 506 Summary......Page 509 Chapter 17: Understanding iTunes Connect......Page 511 Obtaining a Developer Certificate......Page 512 Managing Devices......Page 516 Managing Apps......Page 519 Creating a Development Provisioning Profile......Page 526 Creating a Distribution Provisioning Profile......Page 529 Summary......Page 533 App Store Review......Page 535 Understanding the Review Process......Page 536 Avoiding Common Pitfalls......Page 539 Building Your Application......Page 540 Distribute for Testing......Page 542 Building for App Store Distribution......Page 544 Summary......Page 551 Appendix A: Audio Codes......Page 553 Device Dimensions......Page 557 iTunes Connect Artwork Dimensions......Page 559 Index......Page 561 Advertisement......Page 578 Professional iOS Programming is written for iOS developers who want to improve and extend their skills to create advanced level apps that get noticed in the app store. It goes beyond the obvious examples most books provide and gives real-world development advice from the authors global clients and his vast experience from planning to development to deployment to maintenance. All sections contain both running case studies and those individual to the topic. The books covers: Part 1 Developing a Professional UI - professional UI differentiates an app from the millions of others out there. In Part I, the book builds on basic iOS skills by leading readers through building astonishing tableview functionality, advancing mapkit with navigation, clustering and GPS simulation, adding multimedia to applications and making an application international by mastering localization techniques. The reader will learn how to create an application framework that can be used, reused and modified for future use. Part 2 Networking & Data processing - each application has to work with data and since most data is coming from external sources, Part II is dedicated to networking and data processing. Readers will master using web services, either REST or SOAP, by sending and receiving information, processing the result by parsing the XML or JSON response and storing information using core data. For large file data exchange the book will demonstrate how to write an FTP client in Objective C. Part 3 Integrating Your App - part III shows how to integrate an app with the outside world. Readers learn to implement internal notifications, external push notifications, sending email, SMS and dial phone numbers from within an app. The address book will be used to read from and write to and integrate a user's contacts within an application. Social media integration has been made a lot easier in recent version of iOS -- the book will show readers how to integrate with Facebook and Twitter from an app. Part 4 Taking Your App Into Production - taking an app into production is not as easy as it sounds, especially the first time. In Part IV, readers learn how to implement usage analysis and how to monetize an app by displaying advertisements and making it a paid app. Readers learn how to work with certificates, provisioning profiles, building for ad-hoc and App Store distribution. The Apple store submission not just explained, but the author offers choices a developer can make and explains the consequences of each.
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.
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. Hands-on guidance for programming the next generation of iOS appsIf 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 . 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 including: all topics necessary to help you build professional iOS applications perfectly targeted to clients' needs; essential topics including creating a professional UI, networking and data processing, integrating your app, and taking it into production; sample code and sample apps, ideal for hands-on learning; and social media aggregators, real-time currency converters, QR scanners, customer tracking and quality payment system. The book provides in-depth examples from the author's extensive career, as well as numerous case studies