iOS Development with Xamarin Cookbook
()
About this ebook
Related to iOS Development with Xamarin Cookbook
Related ebooks
Libgdx Cross-platform Game Development Cookbook Rating: 0 out of 5 stars0 ratingsOData Programming Cookbook for .NET Developers Rating: 0 out of 5 stars0 ratingsHTML5 Data and Services Cookbook Rating: 5 out of 5 stars5/5AngularJS Web Application Development Cookbook Rating: 0 out of 5 stars0 ratingsElasticsearch 5.x Cookbook - Third Edition Rating: 0 out of 5 stars0 ratingsHTML5 Multimedia Development Cookbook Rating: 0 out of 5 stars0 ratingsD Cookbook Rating: 0 out of 5 stars0 ratingsLiferay 6.x Portal Enterprise Intranets Cookbook Rating: 0 out of 5 stars0 ratingsSpring Cookbook Rating: 0 out of 5 stars0 ratingsAlfresco 3 Cookbook Rating: 0 out of 5 stars0 ratingsPhpStorm Cookbook Rating: 0 out of 5 stars0 ratingsPhantomJS Cookbook Rating: 0 out of 5 stars0 ratingsPHP Ajax Cookbook Rating: 2 out of 5 stars2/5Meteor Cookbook Rating: 5 out of 5 stars5/5Xamarin Mobile Development for Android Cookbook Rating: 0 out of 5 stars0 ratingsCentOS 6 Linux Server Cookbook Rating: 0 out of 5 stars0 ratingsJavaFX 1.2 Application Development Cookbook Rating: 0 out of 5 stars0 ratingsCross-platform UI Development with Xamarin.Forms Rating: 0 out of 5 stars0 ratingsXamarin Blueprints Rating: 0 out of 5 stars0 ratingsBeginning DotNetNuke Skinning and Design Rating: 0 out of 5 stars0 ratingsMulti-Tier Application Programming with PHP: Practical Guide for Architects and Programmers Rating: 0 out of 5 stars0 ratingsArchitecting CSS: The Programmer’s Guide to Effective Style Sheets Rating: 0 out of 5 stars0 ratingsSwift 2 Design Patterns Rating: 0 out of 5 stars0 ratingsBuilding Websites with VB.NET and DotNetNuke 4 Rating: 1 out of 5 stars1/5Flex 3 with Java Rating: 0 out of 5 stars0 ratingsEmber.js in Action Rating: 0 out of 5 stars0 ratingsMastering Swift 3 Rating: 0 out of 5 stars0 ratingsMastering Google App Engine Rating: 0 out of 5 stars0 ratingsObject–Oriented Programming with Swift 2 Rating: 0 out of 5 stars0 ratingsRestlet in Action: Developing RESTful web APIs in Java Rating: 0 out of 5 stars0 ratings
Programming For You
Python: Learn Python in 24 Hours Rating: 4 out of 5 stars4/5Python: For Beginners A Crash Course Guide To Learn Python in 1 Week Rating: 4 out of 5 stars4/5SQL: For Beginners: Your Guide To Easily Learn SQL Programming in 7 Days Rating: 5 out of 5 stars5/5Python Programming : How to Code Python Fast In Just 24 Hours With 7 Simple Steps Rating: 4 out of 5 stars4/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Game Development with Unreal Engine 5: Learn the Basics of Game Development in Unreal Engine 5 (English Edition) Rating: 0 out of 5 stars0 ratingsHTML & CSS: Learn the Fundaments in 7 Days Rating: 4 out of 5 stars4/5Modern C++ for Absolute Beginners: A Friendly Introduction to C++ Programming Language and C++11 to C++20 Standards Rating: 0 out of 5 stars0 ratingsThe Unofficial Guide to Open Broadcaster Software: OBS: The World's Most Popular Free Live-Streaming Application Rating: 0 out of 5 stars0 ratingsCoding All-in-One For Dummies Rating: 4 out of 5 stars4/5SQL All-in-One For Dummies Rating: 3 out of 5 stars3/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Excel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5Python Projects for Beginners: A Ten-Week Bootcamp Approach to Python Programming Rating: 0 out of 5 stars0 ratingsLearn PowerShell in a Month of Lunches, Fourth Edition: Covers Windows, Linux, and macOS Rating: 0 out of 5 stars0 ratingsLinux: Learn in 24 Hours Rating: 5 out of 5 stars5/5Web Designer's Idea Book, Volume 4: Inspiration from the Best Web Design Trends, Themes and Styles Rating: 4 out of 5 stars4/5Learn JavaScript in 24 Hours Rating: 3 out of 5 stars3/5PYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5
Reviews for iOS Development with Xamarin Cookbook
0 ratings0 reviews
Book preview
iOS Development with Xamarin Cookbook - Dimitris Tavlikos
Table of Contents
iOS Development with Xamarin Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Development Tools
Introduction
Installing prerequisites
Getting ready
How to do it...
How it works...
Xcode
Interface Builder
iOS Simulator
There's more...
Useful links
Updates
See also
Creating an iOS project with Xamarin Studio
Getting ready...
How to do it...
How it works...
MyFirstiOSProjectViewController.xib
MyFirstiOSProjectViewController.cs
MyFirstiOSProjectViewController.designer.cs
AppDelegate.cs
Main.cs
Info.plist
There's more...
List of Xamarin.iOS assemblies
See also
Interface Builder
How to do it...
How it works...
There's more...
More information
See also
Creating the UI
Getting ready
How to do it...
Adding a label
Adding a button
How it works...
There's more...
Setting titles on Buttons
See also
Accessing the UI with Outlets
Getting ready
How to do it...
How it works...
There's more...
Adding Outlets through code
See also
Adding Actions to controls
Getting ready
How to do it...
How it works...
There's more...
See also
Compiling an iOS project
Getting ready
How to do it...
How it works...
iOS build options
iOS application options
There's more...
See also
Debugging our application
Getting ready
How to do it...
How it works...
There's more...
App performance when debugging
Breakpoints in FinishedLaunching
See also
2. User Interface – Views
Introduction
Adding and customizing views
Getting ready
How to do it...
How it works...
There's more...
Adding views programmatically
View content layout
See also
Receiving user input with buttons
Getting ready
How to do it...
How it works...
There's more...
Changing the appearance of buttons
See also
Displaying images
Getting ready
How to do it...
How it works...
There's more...
Using images for different screen sizes
See also
Displaying and editing text
Getting ready
How to do it...
How it works...
There's more...
See also
Using the keyboard
Getting ready
How to do it...
How it works...
There's more...
See also
Displaying progress
Getting ready
How to do it...
How it works...
There's more...
UIProgressView height
See also
Displaying content larger than the screen
Getting ready
How to do it...
How it works...
There's more...
UIScrollView events
See also
Navigating through the content divided into pages
Getting ready
How to do it...
How it works...
There's more...
Proper usage of UIPageControl
See also
Displaying alerts
Getting ready
How to do it…
How it works...
There's more...
See also
Creating a custom view
Getting ready
How to do it...
How it works...
There's more...
See also
Styling views
Getting ready
How to do it…
How it works…
There's more…
Limitations of UIAppearance
See also
3. User Interface – View Controllers
Introduction
Loading a view with a view controller
Getting ready
How to do it...
How it works...
There's more...
UIViewController methods to override
See also
Navigating through different view controllers
Getting ready
How to do it...
How it works...
There's more...
Managing navigation bar buttons
See also
Providing controllers in tabs
Getting ready
How to do it…
How it works...
There's more...
Useful UITabBarController properties
Determining tab selection
See also
Modal view controllers
Getting ready
How to do it…
How it works...
There's more...
Accessing a modal controller
How many modal controllers?
See also
Creating a custom view controller
Getting ready
How to do it...
How it works...
There's more...
See also
Using view controllers efficiently
Getting ready
How to do it…
How it works...
There's more...
See also
iPad view controllers
Getting ready
How to do it…
How it works...
There's more...
iPad-specific controller usage
See also
UI flow design with storyboards
Getting ready
How to do it...
How it works...
There's more...
Passing data
See also
Unwinding in storyboards
Getting ready
How to do it…
How it works…
There's more…
Where is the unwind segue in the storyboard?
See also
4. Data Management
Introduction
Creating files
Getting ready
How to do it…
How it works...
There's more...
The Documents folder
The Caches folder
See also
Using a SQLite database
Getting ready
How to do it...
How it works...
There's more...
SQL table creation
See also
Preparing for iCloud support
Getting ready
How to do it...
How it works...
There's more...
See also
iCloud key/value storage
Getting ready
How to do it...
How it works...
There's more...
Getting notified on key/value store changes
See also
5. Displaying Data
Introduction
Providing lists
Getting ready
How to do it...
How it works...
There's more...
More UIPickerView customization
Date and time selection
See also
Displaying data in a table
Getting ready
How to do it...
How it works...
There's more...
The UITableView styles
The UITableViewCell styles
See also
Customizing rows
Getting ready
How to do it...
How it works...
There's more...
Useful properties of the UITableViewCell class
UINib class
Adding content programmatically
See also
Editing a table
Getting ready
How to do it...
How it works...
There's more...
Enabling editing modes for individual rows
See also
Table indexing
Getting ready
How to do it...
How it works...
There's more...
See also
Searching through the data
Getting ready
How to do it...
How it works...
There's more...
See also
Creating a simple web browser
Getting ready
How to do it...
How it works...
There's more...
Scaling the content
UIWebView supported files
Displaying data in a grid
Getting ready
How to do it...
How it works...
There's more...
More information on UICollectionView
See also
Customizing the grid
Getting ready
How to do it...
How it works...
There's more...
See also
6. Web Services
Introduction
Consuming web services
Getting ready
How to do it...
How it works...
There's more...
Invoking web service methods asynchronously
The XSP shutdown
See also
Consuming REST services
Getting ready
How to do it...
How it works...
There's more...
See also
Communicating with native APIs
Getting ready
How to do it…
How it works…
There's more…
Synchronous NSUrlConnection
Usability
See also
Using WCF services
Getting ready
How to do it...
How it works...
There's more...
More information on Xamarin Studio's WCF support
WCF service creation
See also
7. Multimedia Resources
Introduction
Selecting images and videos
Getting ready
How to do it...
How it works...
There's more...
Picking videos
See also
Capturing media with the camera
Getting ready
How to do it...
How it works...
There's more...
Image editing
See also
Playing videos
Getting ready
How to do it...
How it works...
There's more...
Wireless streaming
See also
Playing music and sounds
Getting ready
How to do it...
How it works...
There's more...
Playing sound files
See also
Recording with the microphone
Getting ready
How to do it...
How it works...
There's more...
Recording for a predefined amount of time
See also
Managing album items directly
Getting ready
How to do it...
How it works...
There's more...
Reading EXIF data
Retrieving individual assets
Checking for permission
See also
8. Integrating iOS Features
Introduction
Starting phone calls
Getting ready
How to do it...
How it works...
There's more...
More information on OpenUrl
See also
Sending text messages and e-mails
Getting ready
How to do it...
How it works...
There's more...
More information on opening external apps
See also
Using text messaging in our application
Getting ready
How to do it...
How it works...
There's more...
Attachments
Using e-mail messaging in our application
Getting ready
How to do it...
How it works...
There's more...
See also
Managing the address book
Getting ready
How to do it...
How it works...
There's more...
Adding a phone number to a contact
Displaying contacts
Getting ready
How to do it...
How it works...
There's more...
Other address book controllers
See also
Managing the calendar
Getting ready
How to do it...
How it works...
There's more...
Reminders
See also
9. Interacting with Device Hardware
Introduction
Detecting the device orientation
Getting ready
How to do it...
How it works...
There's more...
The device orientation and user interface orientation
See also
Adjusting the UI orientation
Getting ready
How to do it...
How it works...
There's more...
User interface orientation on child controllers
See also
Proximity sensor
Getting ready
How to do it...
How it works...
There's more...
See also
Retrieving the battery information
Getting ready
How to do it...
How it works...
There's more...
Disabling battery monitoring
See also
Handling motion events
Getting ready
How to do it...
How it works...
There's more...
More information on motion events
See also
Handling touch events
Getting ready
How to do it...
How it works...
There's more...
Getting the tap count
See also
Recognizing gestures
Getting ready
How to do it...
How it works...
There's more...
The advantage of gesture recognizers
See also
Custom gestures
Getting ready
How to do it...
How it works...
There's more...
Another use of custom gesture recognizers
See also
Using the accelerometer
Getting ready
How to do it...
How it works...
There's more...
Consideration when using the accelerometer
See also
Using the gyroscope
Getting ready
How to do it...
How it works...
There's more...
Determining the availability of the gyroscope hardware
Converting radians to degrees
See also
10. Location Services and Maps
Introduction
Determining location
Getting ready
How to do it...
How it works...
There's more...
GPS accuracy
Location services availability
Location services usage indicator
See also
Determining heading
Getting ready
How to do it...
How it works...
There's more...
Magnetic vs true heading
Compass availability
See also
Using region monitoring
Getting ready
How to do it...
How it works...
There's more...
Region monitoring availability
See also
Using a significant-change location service
Getting ready
How to do it...
How it works...
There's more...
Significant-change location service availability
See also
Location services in the background
Getting ready
How to do it...
How it works...
There's more...
Restricting to supported hardware
UI updates while in the background
See also
Displaying maps
Getting ready
How to do it...
How it works...
There's more...
See also
Geocoding
Getting ready
How to do it...
How it works...
There's more...
Things to have in mind for CLGeocoder
Obsolete API
See also
Adding map annotations
Getting ready
How to do it...
How it works...
There's more...
An annotation's performance
See also
Adding map overlays
Getting ready
How to do it...
How it works...
There's more...
Creating custom overlays
Standard overlay objects
See also
11. Graphics and Animation
Introduction
Animating views
Getting ready
How to do it...
How it works...
There's more...
Animatable properties
Transforming views
Getting ready
How to do it...
How it works...
There's more...
Transformation and Frame
See also
Animating images
Getting ready
How to do it...
How it works...
There's more...
Checking for animation
See also
Animating layers
Getting ready
How to do it...
How it works...
There's more...
Layers
See also
Drawing lines and curves
Getting ready
How to do it...
How it works...
There's more...
Graphics context on a UIImageView class
See also
Drawing shapes
Getting ready
How to do it...
How it works...
There's more...
Transparent colors
See also
Drawing text
Getting ready
How to do it...
How it works...
There's more...
Size of the drawn text
See also
A simple drawing app
Getting ready
How to do it...
How it works...
There's more...
Clear the drawing
See also
Creating an image context
Getting ready
How to do it...
How it works...
There's more...
Drawing on UIImageView
Background on saved drawings
See also
12. Multitasking
Introduction
Detecting application states
Getting ready
How to do it...
How it works...
There's more...
Proper usage
Receiving notifications for app states
Getting ready
How to do it...
How it works...
There's more...
Removing notification observers
See also
Running code in the background
Getting ready
How to do it...
How it works...
There's more...
Important considerations for the background code
See also
Playing audio in the background
Getting ready
How to do it...
How it works...
There's more...
The background state for audio
See also
Updating data in the background
Getting ready
How to do it...
How it works...
There's more
UI updates
See also
13. Localization
Introduction
Creating an app for different languages
Getting ready
How to do it...
How it works...
There's more...
Localization in real-world app scenarios
The localizable.strings encoding
Localizable resources
Getting ready
How to do it...
How it works...
There's more...
More information on localizable resources
See also
Regional formatting
Getting ready
How to do it...
How it works...
There's more...
14. Deploying
Introduction
Creating profiles
How to do it...
How it works...
There's more...
Expiration of provisioning profiles
See also
Creating an ad hoc distribution bundle
Getting ready
How to do it...
How it works...
There's more...
Syncing ad hoc app bundles with iTunes
See also
Preparing an app for the App Store
Getting ready
How to do it...
How it works...
There's more...
The 4-inch screen launch image
See also
Submitting an app to the App Store
Getting ready
How to do it...
How it works...
There's more...
See also
15. Advanced Features
Introduction
Reproducing the page curl effect
Getting ready
How to do it...
How it works...
There's more...
Double-sided pages
Integrating content sharing
Getting ready
How to do it...
How it works...
There's more...
Implementing custom transitions
Getting ready
How to do it...
How it works...
There's more...
Transitioning between child controllers
See also
Using physics in UI elements
Getting ready
How to do it...
How it works...
There's more...
UIKit Dynamics usage
Implementing the text-to-speech feature
Getting ready
How to do it…
How it works…
There's more...
Adjusting the utterance
Index
iOS Development with Xamarin Cookbook
iOS Development with Xamarin Cookbook
Copyright © 2014 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: December 2011
Second edition: May 2014
Production reference: 1160514
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-84969-892-4
www.packtpub.com
Cover image by Kelly Gibson (<gibsonkelly36@yahoo.com>)
Credits
Author
Dimitris Tavlikos
Reviewers
Ryan Alford
Yaroslav Bigus
William Smith
Acquisition Editors
Joanne Fitzpatrick
Usha Iyer
Content Development Editor
Amit Ghodake
Technical Editors
Neha Mankare
Humera Shaikh
Faisal Siddiqui
Copy Editors
Dipti Kapadia
Sayanee Mukherjee
Deepa Nambiar
Karuna Narayanan
Stuti Srivastava
Laxmi Subramanian
Project Coordinator
Amey Sawant
Proofreaders
Simran Bhogal
Bridget Braund
Lauren Harkins
Indexer
Mariammal Chettiyar
Production Coordinators
Aparna Bhagat
Arvindkumar Gupta
Saiprasad Kadam
Nilesh R. Mohite
Aditi Gajjar Patel
Cover Work
Nilesh R. Mohite
About the Author
Dimitris Tavlikos is a freelance software developer living in Greece. With over 10 years of professional experience as a programmer, he specializes in mobile development with clients all over the world. Dimitris has a passion for programming, and has recently been awarded the Xamarin MVP designation for his work. He has written a book on iOS development and various articles on his blog.
About the Reviewers
Ryan Alford is a .NET software engineer who works from home. Ryan has been a .NET developer for over 7 years, with the majority of his focus being on C#. In his early years, he worked almost exclusively on WinForms and Windows Mobile. He then started working with ASP.Net, AJAX, and Silverlight. In the past few years, as mobile development really started to take off, he took an interest in Xamarin and MonoTouch.
Ryan was able to help convince the management at his employer to use Xamarin for their upcoming enterprise application on iOS, as the company was using .Net and C# in other projects. It was at this point that Ryan was added to the three-person development team to write the new iOS enterprise application.
Ryan has written and released two Android applications: MotoTorch LED and Phase 10 Score Center. MotoTorch LED has more than 500,000 downloads and was one of the first applications on Android that used the camera LEDs as a flashlight.
Today, Ryan is currently rewriting Phase 10 Score Center in Xamarin.Android to ease the development of new features. He is still on his iOS team and continues to add new features to his company's enterprise application.
Yaroslav Bigus is an expert in building cross-platform web and mobile applications. He has over 4 years experience in development and has worked for companies in Leeds and New York. He has been using the .NET Framework stack for developing backend systems, JavaScript for the frontend side, and Xamarin for mobile devices.
He is now working for an Israeli startup called yRuler. Previously, Yaroslav reviewed Xamarin Mobile Application Development for iOS, Paul F. Johnson, Packt Publishing.
I am thankful to my family and friends.
William Smith has been developing with Xamarin Studio for over 3 years and has been developing software since 2001. He currently works as a Geospatial Developer at Geographic Information Services, Inc., specializing in mobile-platform development. He is also the founder of Websmiths, LLC (www.websmithsllc.com), a consulting firm that offers services in cross-platform mobile application development and web development. William holds two BSc degrees in Computer Science and Business Administration from the University of Maryland.
www.PacktPub.com
Support files, eBooks, discount offers, and more
You might want to visit www.PacktPub.com for support files and downloads related to your book.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks.
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read, and search across Packt's entire library of books.
Why subscribe?
Fully searchable across every book published by Packt
Copy and paste, print and bookmark content
On demand and accessible via web browser
Free access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.
Preface
This book will provide you with all the necessary skills to develop and deploy rich and powerful applications for the iPhone and iPad, with the C# programming language. Xamarin.iOS, formerly known as MonoTouch, is already established as a powerful software development kit that brings iOS development to .NET programmers. Packed with easy-to-understand and detailed examples, this book will be your best companion in your iOS development journey.
What this book covers
Chapter 1, Development Tools, teaches you how to install and use the development tools necessary to create your first iOS app. From there, you will create and debug your first Xamarin.iOS project.
Chapter 2, User Interface – Views, discusses the essential User Interface components of the iOS SDK. Covering the most commonly used views and controls and many more in detail, we will get familiar with the platform through a number of example projects. We will also discuss the similarities and differences with standard .NET components.
Chapter 3, User Interface – View Controllers, introduces you to the view controllers, the objects that are responsible for providing the interaction mechanism between your app and the user. Explained with simple step-by-step processes, you will start creating complete apps that can run on both the iPhone and iPad devices.
Chapter 4, Data Management, covers data management practices available on the iOS platform and how to use them efficiently with the convenience of C#. You will learn to manage locale SQLite database files, but also work on using iCloud to store data across different devices.
Chapter 5, Displaying Data, focuses on another important part of data management. Through a series of simple and complete projects, you will learn about the available components to display data on the screen of the iPhone, which are smaller than computer screens. Displaying various types of data in a user-friendly manner is essential for mobile devices, and by the time you finish reading this chapter, you will certainly be more skillful in this area.
Chapter 6, Web Services, guides you through .NET SOAP, WCF, and REST services for creating apps that connect the user to the world. These powerful .NET features would not have been part of iOS development without Xamarin.iOS.
Chapter 7, Multimedia Resources, will teach you to create applications that capture, reproduce, and manage multimedia content through the device's hardware. You will not only learn to use the camera to capture images and video, but also learn how to play back and record audio.
Chapter 8, Integrating iOS Features, will walk you through the ways to incorporate the platform's native applications and components. You will learn how to provide e-mail, text messaging, and address book features in your application and how to use the native calendar to create events.
Chapter 9, Interacting with Device Hardware, discusses creating applications that are fully aware of their surrounding environment through the device's sensors. You will learn to adjust the User Interface according to device orientations and respond to accelerometer and gyroscope events.
Chapter 10, Location Services and Maps, is a detailed guide for using the built-in location services to create applications that provide location information to the user. You will not only learn to use the GPS hardware, but also how to display and layout information on maps.
Chapter 11, Graphics and Animation, introduces 2D graphics and animation. You will learn to animate components and draw simple graphics on the screen. By the end of this chapter, you will create a small finger-drawing application.
Chapter 12, Multitasking, will walk you through the details of implementing multitasking in iOS applications. This dramatically enhances the user experience by executing code behind the scenes.
Chapter 13, Localization, discusses how to provide localized content in applications. You will learn how to prepare your application to target users worldwide.
Chapter 14, Deploying, will not only walk you through the required steps to deploy your finished application to devices, but also to prepare and distribute it to the App Store.
Chapter 15, Advanced Features, introduces some of the key features introduced in newer iOS versions, such as implementing physics to User Interface components through the power of iOS 7's UIKit Dynamics, customizing animated transitions between view controllers, and more!
What you need for this book
The minimum requirement for this book is a Mac computer running at least Mac OS X Lion (10.7.*). Almost all projects you will create with the help of this book work on iOS Simulator. However, some projects will require a device to work properly. You will find all the appropriate details in Chapter 1, Development Tools.
Who this book is for
This book is essential for C# and .NET developers with no previous experience in iOS development, but it is also for Objective-C developers who want to make a transition to the benefits of Xamarin.iOS and C# language to create complete, compelling iPhone, iPod, and iPad applications and deploy them to the App Store.
Conventions
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text, cookbook names, recipe names, scripts, database table names, folder names, filenames, file extensions, and pathnames are shown as follows: The Register attribute is used to expose classes to the underlying Objective-C runtime.
A block of code is set as follows:
using System;
using System.Collections.Generic;
using System.Linq;
using MonoTouch.Foundation;
using MonoTouch.UIKit;
When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:
EKEvent newEvent = EKEvent.FromStore(evStore);
newEvent.StartDate = DateTime.Now.AddDays(1);
newEvent.EndDate = DateTime.Now.AddDays(1.1);
newEvent.Title = Xamarin event!
;
Any command-line input or output is written as follows:
cd
New terms and important words are shown in bold. Words you see on