Home > Store

Learning MonoTouch: A Hands-On Guide to Building iOS Applications with C# and .NET

Register your product to gain access to bonus material or receive a coupon.

Learning MonoTouch: A Hands-On Guide to Building iOS Applications with C# and .NET

eBook (Watermarked)

  • Your Price: $28.79
  • List Price: $35.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.


  • Copyright 2012
  • Dimensions: 7" x 9"
  • Edition: 1st
  • eBook (Watermarked)
  • ISBN-10: 0-13-296403-1
  • ISBN-13: 978-0-13-296403-6

Develop State-of-the-Art iPhone/iPad Apps with MonoTouch and .NET!

Are you an experienced C#/.NET developer who wants to reach the huge iPhone/iPad market? Now, you can create great iOS apps without first mastering Objective-C and Apple’s development toolset. With MonoTouch, you can leverage the skills you already have to create powerful apps that can be sold in Apple’s App Store or deployed throughout your organization. In Learning MonoTouch, Michael Bluestein helps you get started with MonoTouch fast and make the most of its remarkably robust capabilities.

The book first walks you through setting up your MonoTouch development environment, explaining how MonoTouch abstracts the iOS SDK to permit development against native iOS classes from C#. Through simple examples, you’ll start building working apps, establishing a firm foundation for more advanced coding. One step at a time, you’ll master increasingly sophisticated cases through practical examples. Bluestein even shows you how to leverage powerful .NET tools in your iOS apps, including LINQ.

Coverage includes

• Applying common iOS development patterns and techniques in C#

• Using MonoTouch to handle memory management and garbage collection

• Structuring MonoTouch apps for the MVC design pattern

• Making the most of iOS user interface classes

• Leveraging the address book, camera access, email, and iOS media features

• Customizing tables and navigation for richer experiences and better performance

• Accessing the iOS Core Graphics and Core Animation subsystems

• Building iOS location-based applications with Core Location and MapKit

• Consuming web services from MonoTouch

• Integrating iOS and .NET networking capabilities

• Saving data with the ADO.NET provider to SQLite, .NET serialization, and NSUserDefaults

All code samples are available for download at github.com/mikebluestein.

Sample Content

Table of Contents

Preface     xiii

The Audience for This Book     xiii

About the Sample Code     xiv

Acknowledgments     xv

About the Author     xvi

Introduction     1

How This Book Is Organized     1

Chapter 1: Hello MonoTouch     1

Chapter 2: iOS SDK via MonoTouch    2

Chapter 3: Views and View Controllers    2

Chapter 4: Common iOS Classes     2

Chapter 5: Tables and Navigation     2

Chapter 6: Graphics and Animation    2

Chapter 7: Core Location     3

Chapter 8: MapKit     3

Chapter 9: Connecting to Web Services    3

Chapter 10: Networking     3

Chapter 11: Saving Application Data    3

Chapter 12: iPad Development     3

Chapter 1 Hello MonoTouch     5

Setting Up Your Environment     5

Installing the iOS SDK and Apple Developer Tools     5

Installing MonoTouch     10

Creating a MonoTouch Application     14

Creating the User Interface     14

Adding Outlets     16

Developing on the Device     24

Provisioning for Development     24

Using the MonoTouch Debugger    29

Summary     31

Chapter 2 iOS SDK via MonoTouch     33

iOS SDK Overview     33

Objective-C Versus MonoTouch By Example     35

Getting the App Started from Xcode    36

Implementing the Same Functionality with MonoTouch     41

Comparing the AppDelegate Implementations     43

Implementing UIActionSheet via Xcode     46

Implementing UIActionSheet in MonoTouch     48

How MonoTouch Works     52

Memory Management     54

Summary     56

Chapter 3 Views and View Controllers     57

Structuring a MonoTouch Application to MVC     57

Working with Views and Controllers in Interface Builder     59

Adding Functionality to a View Controller and Its View     67

Working with Multiple Views and Controllers     71

Implementing a Custom UIView     75

Summary     80

Chapter 4 Common iOS Classes     81

User Interface Views and Controls    81

UISegmentedControl     81

UISlider    85

UISwitch     88

UIPageControl and UIScrollView     89

UIActivityIndicatorView     92

UIProgressView     94

UIImageView     95

UIWebView     97

ADBannerView     100

Device Capabilities    103

MFMailComposeViewController     103

MPMediaPickerController and MPMusicPlayerController     105

Address Book     108

UIImagePickerController    111

Summary     116

Chapter 5 Tables and Navigation    117

Introduction to UITableView and UITableViewController    117

What Are Tables Used For?     117

Displaying Data in a UITableView     119

UITableViewCell Parts and Styles     125

Using Tables and Navigation     128

Additional UITableView Customizations     144

Customizing Tables Further with Custom Cells    144

Adding Multiple Sections     148

MonoTouch.Dialog     153

Summary 155

Chapter 6 Graphics and Animation     157

Core Graphics     157

Core Graphics Fundamentals     157

Drawing Images     165

Drawing PDFs    170

Animation     180

UIView Animation     181

Core Animation    185

Summary     194

Chapter 7 Core Location     195

Introducing Core Location     195

Standard Location Service     197

Retrieving Heading Updates     207

Significant Location Changes     209

Region Monitoring    211

Background Location    214

Summary     216

Chapter 8 MapKit     217

Introducing MapKit     217

Adding Annotations     224

Map Overlays     233

Summary     240

Chapter 9 Connecting to Web Services    241

Connecting to REST-based Web Services     241

Connecting over HTTP     241

Parsing XML Results     244

Parsing JSON Results    247

Consuming SOAP-based Web Services     248

Using a .NET 2.0 Client Proxy    248

WCF under MonoTouch     250

Using CocoaTouch HTTP Classes     251

Using NSUrlConnection and Friends     252

Summary     254

Chapter 10 Networking     255

GameKit Networking     255

Core GameKit Networking Classes     255

Using GKPeerPickerController     264

GameKit Voice Chat    268

Bonjour    272

Summary    281

Chapter 11 Saving Application Data    283

The Notes Sample Application     283

SQLite     289

Serialization     295

Settings Bundle and NSUserDefaults     297

Summary     306

Chapter 12 iPad Development    307

Porting to iPad    307

iPhone Applications with Pixel Doubling    307

Universal Applications    308

Designing for the iPad     311

UISplitViewController     312

UIPopoverController    323

Summary     326

Index    327


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership