Programming Ios 11 Matt Neuburg PDF, EPUB Download - Programming Ebook


Download Programming Ebook

Tuesday, January 9, 2018

Programming Ios 11 Matt Neuburg PDF, EPUB Download

Programming Ios 11
Programming Ios 11

Book Details 
             TitleProgramming Ios 11
         Author: Matt Neuburg
     Publisher: Matt Neuburg
    Language: English
        SubjectSwift / Computers & Technology / Programming / Apple Programming
No. of pages: 1172
         Format: PDF, EPUB


Aut lego vel scribo; doceo scrutorve sophian.
—Sedulius Scottus

On June 2, 2014, Apple’s WWDC keynote address ended with a shocking announce‐ ment: “We have a new programming language.” This came as a huge surprise to the developer community, which was accustomed to Objective-C, warts and all, and doubted that Apple could ever possibly relieve them from the weight of its venerable legacy. The developer community, it appeared, had been wrong.

Having picked themselves up off the floor, developers immediately began to consider this new language — Swift — studying it, critiquing it, and deciding whether to use it. My own first move was to translate all my existing iOS apps into Swift; this was enough to convince me that Swift deserved to be, and probably would be, adopted by new students of iOS programming, and that my books, therefore, should henceforth assume that readers are using Swift.

Therefore, Swift is the programming language used throughout this book. Still, the reader may also need some awareness of Objective-C (including C). The Foundation and Cocoa APIs, the built-in commands with which your code must interact in order to make anything happen on an iOS device, are still written in C and Objective-C. In order to interact with them, you might have to know what those languages would expect.

 IOS 11 by Tutorials Ray Wenderlich, IOS 11 and Swift 4 PDF - EPUB - Full source code

The Scope of This Book

Programming iOS 11 is actually the second of a pair with my other book, iOS 11 Pro‐ gramming Fundamentals with Swi ; it picks up exactly where the other book leaves off. They complement and supplement one another. The two-book architecture should, I believe, render the size and scope of each book tractable for readers. Together, they provide a complete grounding in the knowledge needed to begin writ‐ ing iOS apps; thus, when you do start writing iOS apps, you’ll have a solid and rigor‐ ous understanding of what you are doing and where you are heading. If writing an iOS program is like building a house of bricks, iOS 11 Programming Fundamentals with Swi teaches you what a brick is and how to handle it, while Programming iOS 11 hands you some actual bricks and tells you how to assemble them.

Like Homer’s Iliad, Programming iOS 11 begins in the middle of the story, with the reader jumping with all four feet into views and view controllers. Discussion of the Swift programming language, as well as the Xcode IDE (including the nature of nibs, outlets, and actions, and the mechanics of nib loading), plus the fundamental conven‐ tions, classes, and architectures of the Cocoa Touch framework (including delegation, the responder chain, key–value coding, key–value observing, memory management, and so on), has been relegated to iOS 11 Programming Fundamentals with Swift .

So if something appears to be missing from this book, that’s why! If you start reading Programming iOS 11 and wonder about such unexplained matters as Swift language basics, the UIApplicationMain function, the nib-loading mechanism, Cocoa patterns of delegation and notification, and retain cycles, wonder no longer — I don’t explain them here because I have already explained them in iOS 11 Programming Fundamen‐ tals with Swi . If you’re not sufficiently conversant with those topics, I’d suggest that you might want to read that book first; you will then be completely ready for this one.

Here’s a summary of the major sections of Programming iOS 11:

Part I describes views, the fundamental units of an iOS app’s interface. Views are what the user can see and touch in an iOS app. To make something appear before the user’s eyes, you need a view. To let the user interact with your app, you need a view. This part of the book explains how views are created, arranged, drawn, lay‐ ered, animated, and touched.

Part II starts by discussing view controllers. Perhaps the most important aspect of iOS programming, view controllers enable views to come and go coherently within the interface, thus allowing a single-windowed app running on what may be a tiny screen to contain multiple screens of material. View controllers are used to manage interface and to respond to user actions; most of your app’s code will be in a view controller. This part of the book talks about how view controllers work, and the major built-in types of view controller that iOS gives you. It also describes every kind of view provided by the Cocoa framework — the primary building blocks with which you’ll construct an app’s interface.

Part III surveys the most commonly used frameworks provided by iOS. These are clumps of code, sometimes with built-in interface, that are not part of your app by default, but are there for the asking if you need them, allowing you to work with such things as sound, video, user libraries, maps, and the device’s sensors.

Part IV wraps up the book with some miscellaneous but significant topics: files, networking, threading, and how to implement undo.

Appendix A summarizes the basic lifetime event messages sent to your app dele‐ gate.

Appendix B catalogs some useful Swift utility functions that I’ve written. My example code takes advantage of these functions, but they aren’t built into iOS, so you should keep an eye on this appendix, consulting it whenever a mysterious method name appears.

Appendix C is an excursus discussing an often misunderstood aspect of iOS pro‐ gramming: asynchronous code.

Someone who has read this book (and is conversant with the material in iOS 11 Pro‐ gramming Fundamentals with Swi ) will, I believe, be capable of writing a real-life iOS app, with a clear understanding of what he or she is doing and where the app is going as it grows and develops. The book itself doesn’t show how to write any particularly interesting iOS apps; but it is backed by dozens of example projects that you can download from my GitHub site, Examples, and it constantly uses my own real apps and real programming situations to illustrate and motivate its explanations.

This book is also intended to prepare you for your own further explorations. Certain chapters, especially in Parts III and IV, introduce a topic, providing an initial basic survey of its concepts, its capabilities, and its documentation, along with some code examples; but the topic itself may be far more extensive than that. Your feet, never‐ theless, will now be set firmly on the path, and you will know enough that you can now proceed on your own whenever the need or interest arises. In Part IV, for exam‐ ple, I peek at Core Data, and demonstrate its use in code, but a true study of Core Data would require an entire book of its own (and such books exist); so, having opened the door, I quickly close it again, lest this book suddenly double in size.

Indeed, there is always more to learn about iOS. iOS is vast! It is all too easy to find areas of iOS that have had to be ruled outside the scope of this book, and are not mentioned at all. For example:


An open source C library for drawing, including 3D drawing, that takes full advantage of graphics hardware. This is often the most efficient way to draw, especially when animation is involved. iOS incorporates a simplified version of OpenGL called OpenGL ES. Open GL interface configuration, texture loading, shading, and calculation are simplified by the GLKit framework. The Metal and Metal Kit and Model I/O classes allow you to increase efficiency and perfor‐ mance.

Sprite Kit

Sprite Kit provides a built-in framework for designing 2D animated games.

Scene Kit

Ported from macOS, this framework makes it much easier to create 3D games and interactive graphics.


Certain computation-intensive processes will benefit from the vector-based Accelerate framework.

Game Kit

The Game Kit framework covers three areas that can enhance your user’s game experience: wireless or Bluetooth communication directly between devices (peer- to-peer); voice communication across an existing network connection; and Game Center, which facilitates these and many other aspects of interplayer communica‐ tion, such as posting and viewing high scores and setting up competitions. Users can even make screencasts of their own game play for sharing with one another.


See the “Printing” chapter of the Drawing and Printing Guide for iOS.

This book does not discuss security topics such as keychains, certificates, and encryption. See the Security Overview and the Security framework.


VoiceOver assists visually impaired users by describing the interface aloud. To participate, views must be configured to describe themselves usefully. Built-in views already do this to a large extent, and you can extend this functionality. See the Accessibility Programming Guide for iOS.


The Core Telephony framework lets your app get information about a particular cellular carrier and call. Call Kit allows VoIP apps to integrate with the built-in Phone app.

Pass Kit

The Pass Kit framework allows creation of downloadable passes to go into the user’s Wallet app.

Health Kit

The Health Kit framework lets your app obtain, store, share, and present data and statistics related to body activity and exercise.


The user can attach an external accessory to the device, either directly via USB or wirelessly via Bluetooth. Your app can communicate with such an accessory. See External Accessory Programming Topics. The Home Kit framework lets the user

communicate with devices in the physical world, such as light switches and door locks. This book also doesn’t discuss iBeacon or near field communication (the Core NFC framework, new in iOS 11).


Handoff permits your app to post to the user’s iCloud account a record of what the user is doing, so that the user can switch to another copy of your app on another device and resume doing the same thing. See the 

Hando Programming Guide.


The user’s Spotlight search results can include data supplied by your app. See the App Search Programming Guide.

Siri Kit

The SiriKit framework lets you configure your app so that the user can talk to the device to tell it what to do.

Augmented Reality

New in iOS 11, certain devices can impose drawn objects into the world viewed live through the device’s camera by means of the ARKit framework.

Machine Learning

New in iOS 11, the Core ML framework embraces image analysis (the Vision framework) as well as decision trees (Gameplay Kit) and language analysis (NSLinguisticTagger). 

No comments:

Post a Comment