Xamarin Mobile Application Development for iOS

Xamarin Mobile Application Development for iOS
eBook: $21.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $58.98    Print cover: $36.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • A clear and concise look at how to create your own apps building on what you already know of C#
  • Create advanced and elegant apps by yourself
  • Ensure that the majority of your code can also be used with Android and Windows Mobile 8 devices

Book Details

Language : English
Paperback : 222 pages [ 235mm x 191mm ]
Release Date : October 2013
ISBN : 1783559187
ISBN 13 : 9781783559183
Author(s) : Paul F. Johnson
Topics and Technologies : All Books, Mobile Application Development, Other

Table of Contents

Chapter 1: Installing the Xamarin Product Range for Android and iOS
Chapter 2: The User Interface
Chapter 3: Views and Layouts
Chapter 4: Controllers
Chapter 5: UI Controls
Chapter 6: Events
Chapter 7: Gestures
Chapter 8: Threading
Chapter 9: Threading Tasks
Chapter 10: Animation
Chapter 11: Handling Data
Chapter 12: Peripherals
Chapter 13: User Preferences
Chapter 14: Testing and Publishing
    • Chapter 2: The User Interface
      • Creating the User Interface with Xcode
        • Screen origins and sizes
      • MonoTouch.Dialog (MT.D)
        • Changing the keyboard type
          • Using ShouldReturn
          • Using ResignFirstResponder
          • Adding a toolbar to the keyboard
        • Creating your own Pickers on MT.D
        • UITableView and UITableViewCell
        • Colors, buttons, and labels
          • Ensuring you have the correct size bounding boxes
          • UIColor
          • UIButton
          • UIControlStates
      • Summary
      • Chapter 3: Views and Layouts
        • Selection of the project type
          • Application types and their view types
        • The iOS layout
          • The Canvas model
          • How to avoid some of these problems
        • Views and View Controllers
          • Other Views
            • Activity Indicator and Progress View
            • UIImageView
            • UICollectionView
            • UIWebView
            • MapView
            • UIScrollView
            • AdBannerView
          • Implementing a view with multiple View Controllers
        • Summary
        • Chapter 4: Controllers
          • UITableView and UITableViewCell
            • Creating a read-only table
            • UITableViewCell
              • Reusable cells within a table
              • Sections and Rows
              • Indexes on a TableView
            • Navigation with UITableView
              • Within code
              • With Xcode
            • Navigation using UITableView
              • Returning to the RootView
          • TabBars
            • Handling the Tab Bar in code
          • PageControl
          • GLKit
          • Summary
          • Chapter 5: UI Controls
            • Controls and widgets
            • UI Controls
              • Control selection
                • UIButton
              • UIStepper
              • The other controls
            • Comparing Android to iOS UI controls
            • Summary
            • Chapter 6: Events
              • Handling events
                • Delegates
                  • Attaching an event to multiple controls
                • Synchronous versus asynchronous event handling
                  • Synchronous walk
                  • Asynchronous walk
                  • In a programming context
              • Events and controls reference
                • Other significant control events
                  • AVAudioPlayer and AVRecordClass
                  • AVAudioSession
                  • ABAddressBook
                  • ABNewPersonViewController
                  • ABPeoplePickerNavigationController
                  • ABPersonViewController
                  • ABUnknownPersonViewController
                  • AudioConverter
                  • AudioSession
                  • InputAudioQueue
                  • OutputAudioQueue
                  • AUGraph and AudioUnit
                  • AudioConverter
                  • CAAnimation
                  • CBCentralManager
                  • CBPeripheral
                  • CBPeripheralManager
                  • CFSocket
                  • CFStream
                  • CLLocationManager
                  • MidiClient
                  • MidiEndpoint and MidiPort
                  • Monotouch.Dialog
                  • BadgeElement, BaseBooleanImageElement, GlassButton, LoadMoreElement, MessageElement, and StringElement
                  • BoolElement
                  • DateTimeElement
                  • DialogViewController
                  • EntryElement
                  • StyledStringElement
                  • EKCalendarChooser
                  • EKEventEditViewController and EKEventViewController
                  • EAAccessory
                • The NS classes
                  • NSCache
                  • NSKeyedArchiver
                  • NSKeyedUnarchiver
                  • NSNetService
                  • NSNetServiceBrowser
                  • NSStream
                  • GLKView
                  • GK classes
                  • GKAchievementViewController, GKFriendRequestComposeViewController, and GKLeaderboardViewController
                  • GKGameCenterViewController
                  • GKMatch
                  • GKMatchmakerViewController
                  • GKSession
                  • MKMapView
                  • MPMediaPickerController
                  • MFMailComposeViewController and MFMessageComposeViewController
                  • PKAddPassesViewController
                  • QLPreviewController
                • SK classes
                  • SKProductsRequest
                  • SKRequest
                  • SKStoreProductViewController
                • UIClasses
                  • UIAccelerometer
                  • UIActionSheet and UIAlertView
                  • UIButtonBarItem
                  • UIImagePickerController
                  • UIPageViewController
                  • UIPopoverController
                  • UIPrintInteractionController
                  • UIScrollView
                  • UISearchBar
                  • UISplitViewController
                  • UITabBar
                  • UITabBarController
                  • UITextField
                  • UITextView
                  • UIView
                  • UIWebView
                • Ad classes
                  • AdBannerView
                  • AdInterstitialAd
                  • OpenTK
                  • IGameWindow
                  • IPhoneOSGameView
                • Summary
              • Chapter 7: Gestures
                • Gestures
                  • Gesture code
                  • Types
                  • Adding a gesture in code
                  • Continuous types
                    • Other UIGestureRecognizerState values
                • Handling drag-and-drop
                • Summary
                • Chapter 8: Threading
                  • Threading Concepts
                  • The main UI thread
                    • Deadlocking
                    • Avoiding deadlocks for synchronized accessors
                  • Starting a new thread from the main UI thread
                    • Using locks
                  • The AppDelegate class
                  • Summary
                  • Chapter 9: Threading Tasks
                    • A brief introduction to threading
                      • Using background threading within your app
                        • BackgroundWorker
                        • ThreadPool.QueueUserWorkItem
                      • Using System.Threading.Tasks
                      • Problems while using Tasks on threads
                    • Using Asynchronous code
                      • Tasks and EventHandlers
                      • A more practical example
                    • Summary
                    • Chapter 10: Animation
                      • Handling bitmaps
                        • Scaling the image
                        • Rotating the image – Part 1
                          • Underpinning bindings
                        • Analysis of the code
                      • Freeing memory after use
                        • Rotating the image – Part 2
                      • Summary
                      • Chapter 11: Handling Data
                        • Using SQLite
                          • Installing and setting up SQLite
                          • Database basics
                            • A simple database class
                            • Create a connection to the database
                        • Setting up an SQLite helper class
                          • Writing helper class methods
                          • Adding data to the database
                        • Data manipulation using LINQ
                          • LINQ – a whistle-stop tour
                            • SELECT and WHERE in LINQ – a common cause of confusion
                            • Using Select in LINQ
                            • Replacing SQL with LINQ
                        • Summary
                        • Chapter 12: Peripherals
                          • Using the camera
                            • Accessing the camera (Xamarin.Mobile)
                            • Accessing the camera (Native)
                            • Saving to the Photo album (Native)
                          • GPS and Mapping
                            • GPS with Xamarin.Mobile
                              • Calculating your speed
                            • Using Core Location
                              • Setting up Core Location and delegate
                              • Finding where the user is
                              • Adding a map
                              • Adding a pin
                          • Storage on the phone
                          • Making a phone call
                          • Sending and receiving a text message
                          • Accessing the Internet
                          • Multimedia
                            • Playing a video
                              • External URL
                              • Internal source
                              • From the photo library
                            • Recording a video
                              • To record a video
                              • Saving the video
                            • The audio system
                              • Playback
                            • Recording Audio
                              • Setting up the audio NSDictionary
                          • Summary
                          • Chapter 13: User Preferences
                            • The built-in system
                              • Reading and writing to the .plist file
                            • Rolling your own settings system
                              • Serializing and deserializing data
                              • Setting up the Settings file
                                • The handler class
                                • The data class
                            • Summary
                            • Chapter 14: Testing and Publishing
                              • Provisioning and signing your app
                              • TestFlight
                                • Provisioning
                                  • Registering the app
                                  • Creating the developer profile
                                  • Creating your certificate
                                  • Back to registering your app
                                  • Enabling TestFlight within Xamarin Studio
                                • Registering on TestFlight
                                • Inviting and registering devices
                                • Building to TestFlight
                                • Releasing your app
                                  • App checklist
                                  • Icon sizes
                              • Preparing to package
                                • Packaging your app
                                • Creating the build configuration
                              • The App Store Submission Process
                                • Creating an archive
                                • Submission via Xcode
                                • The submission wizard
                              • Summary

                              Paul F. Johnson

                              Paul F. Johnson has been writing about software since the days of the old 8-bit micros in the 1980s, with his first piece on software being published in 1984 for BBC Micro. From there, his passion to learn and develop increased, along with his love for chemistry. For many years, he married the two at the University of Salford, culminating in commercial work for RiscStation Ltd. as well as working on the award winning Scribus desktop publishing application. For many years, he contributed a great amount of time to the Fedora Project (a community-based Linux distribution sponsored by RedHat) and, in 2002, he started becoming interested in the Mono project from Ximian. That was the beginning of the end of his time in the field of education and, over the next 10 years, he learned how to code in VB.NET. and C#. Ximian was sold to Novell, which was in turn bought out, and from that, Xamarin was born. The rest is history. With the advent of a workable .NET system that can be used in a non-Windows environment, the stage was set for the hard work to begin. When Xamarin released monodroid, he could see that his years of learning could now be turned into a profit.He started developing code full-time for the platform. Shortly afterwards, he began working on iOS devices as well. At the start of 2013 he, along with Andrei and his good friend Scott, formed Sporkish, the objective being to produce unbeatable software for the mobile world. This is his first foray into the world of books, though he has had many articles published in the Overload and C Vu journals of Association of C and C++ Users (he edited the latter for over a year). He is currently developing mobile applications for Farmtrack Pty (Australia) and HelloU (London, UK), and is in discussions with Packt Publishing on the publication of another book, this time on AI and Expert Systems. Paul is 42, lives with his wife, dog, cats, and son, and drinks way too much coffee!
                              Sorry, we don't have any reviews for this title yet.

                              Code Downloads

                              Download the code and support files for this book.

                              Submit Errata

                              Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

                              Sample chapters

                              You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

                              Frequently bought together

                              Xamarin Mobile Application Development for iOS +    Railo 3 Beginner’s Guide =
                              50% Off
                              the second eBook
                              Price for both: $33.95

                              Buy both these recommended eBooks together and get 50% off the cheapest eBook.

                              What you will learn from this book

                              • Create a working user interface
                              • Understand and write a cross-platform configuration system
                              • Learn how to create an SQLite helper system and master the basics of LINQ
                              • Use and manipulate graphics
                              • Get the most out of your iOS device with very little code
                              • Publish your very own app on Apple’s app store
                              • Come to terms with threading in a mobile world

                              In Detail

                              Before the release of monotouch, development on iOS was purely in Objective C. There was nothing wrong with that except for one thing – it’s very unpleasant to write code in! The release of Xamarin changed all of that, and with it brought cross-platform development to the mobile world.

                              Xamarin Mobile Application Development for iOS is not just your normal everyday book on iOS app development. Everything is written for a point and not for effect, and therefore you will learn everything you need to know quickly and efficiently without getting bogged down in needless information. The code has been taken from fully tested apps, so you can just drop it into your code and it will work out of the box.

                              In this clear and informative guide, you will be taken on a whirlwind tour of iOS application development with Xamarin, from setting up a development environment on your PC or Mac to testing and distribution through the Apple Store with plenty of practical examples along the way.

                              The book begins by discussing the installation of the IDE (for both PC and Mac) as well as how to set up your PC so it can be used to develop for iOS. From there, successive chapters cover the user interface, views, view controllers, customisation of controls, animation, events and event handling, getting the most from your app using threading, creating your own settings system, the internal database system and LINQ, sending texts, making calls, taking photos, videos, and audio recordings as well as using the mapping system. The book culminates by showing you how to test your app using testflight and finally how to release your app on the Apple Store. It is an all-encompassing book that leaves nothing out.


                              This book is a standard tutorial aimed at teaching you everything you need to know about iOS app development using Xamarin.

                              Who this book is for

                              This book is written for those who are new to iOS app development as well as more experienced developers who just need a quick reference book. It is assumed that you are already comfortable using C#. Those teaching iOS to new students will also find this book invaluable as a form of reference material.

                              Code Download and Errata
                              Packt Anytime, Anywhere
                              Register Books
                              Print Upgrades
                              eBook Downloads
                              Video Support
                              Contact Us
                              Awards Voting Nominations Previous Winners
                              Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
                              Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software