Update cookies preferences

E-book: Learning Cocoa with Objective-C: Developing for the Mac and iOS App Stores

3.43/5 (55 ratings by Goodreads)
  • Format: 398 pages
  • Pub. Date: 24-Dec-2012
  • Publisher: O'Reilly Media
  • Language: eng
  • ISBN-13: 9781449363413
Other books in subject:
  • Format - EPUB+DRM
  • Price: 29,84 €*
  • * the price is final i.e. no additional discount will apply
  • Add to basket
  • Add to Wishlist
  • This ebook is for personal use only. E-Books are non-refundable.
  • Format: 398 pages
  • Pub. Date: 24-Dec-2012
  • Publisher: O'Reilly Media
  • Language: eng
  • ISBN-13: 9781449363413
Other books in subject:

DRM restrictions

  • Copying (copy/paste):

    not allowed

  • Printing:

    not allowed

  • Usage:

    Digital Rights Management (DRM)
    The publisher has supplied this book in encrypted form, which means that you need to install free software in order to unlock and read it.  To read this e-book you have to create Adobe ID More info here. Ebook can be read and downloaded up to 6 devices (single user with the same Adobe ID).

    Required software
    To read this ebook on a mobile device (phone or tablet) you'll need to install this free app: PocketBook Reader (iOS / Android)

    To download and read this eBook on a PC or Mac you need Adobe Digital Editions (This is a free app specially developed for eBooks. It's not the same as Adobe Reader, which you probably already have on your computer.)

    You can't read this ebook with Amazon Kindle

Mobile software engineers Manning and Buttfield-Addison explain how to develop software for iOS and OS X in the Cocoa, Cocoa Touch, and Objective-C programming environments. Readers are assumed to be reasonably capable programmers but not familiar with these environments, and that they are fairly comfortable navigating OS X as a user and know how to use an iOS device. Among the topics are object-oriented programming with Objective-C, blocks and operation quotes, model objects and data storage, networking, and working with text. Annotation ©2013 Book News, Inc., Portland, OR (booknews.com)

Get up to speed on Cocoa and Objective-C, and start developing applications on the iOS and OS X platforms. If you don’t have experience with Apple’s developer tools, no problem! From object-oriented programming to storing app data in iCloud, this book covers everything you need to build apps for the iPhone, iPad, and Mac.

You’ll learn how to work with the Xcode IDE, Objective-C’s Foundation library, and other developer tools such as Event Kit framework and Core Animation. Along the way, you’ll build example projects, including a simple Objective-C application, a custom view, a simple video player application, and an app that displays calendar events for the user.

  • Learn the application life cycle on OS X and iOS
  • Work with the user-interface system in Cocoa and Cocoa Touch
  • Use AV Foundation to display video and audio
  • Build apps that let users create, edit, and work with documents
  • Store data locally with the file system, or on the network with iCloud
  • Display lists or collections of data with table views and collection views
  • Interact with the outside world with Core Location and Core Motion
  • Use blocks and operation queues for multiprocessing
Preface xi
1 Cocoa Development Tools
1(20)
The Mac and iOS Developer Programs
1(1)
Registering for a Developer Program
2(1)
Downloading Xcode from Apple Developer
3(1)
Getting Around in Xcode
3(4)
The Xcode Interface
7(7)
Developing a Simple Objective-C Application
14(1)
Designing the Interface
15(1)
Connecting the Code
16(2)
Using the iOS Simulator
18(3)
2 Object-Oriented Programming with Objective-C
21(16)
Object-Oriented Programming
21(1)
Objects
22(1)
Inheritance
23(1)
Interfaces and Implementations
23(1)
Methods
24(1)
Messages
25(1)
Properties
26(3)
Protocols
29(1)
Class Extensions
30(1)
Memory Management
31(1)
Reference Counting
32(1)
Automatic Reference Counting
32(1)
Object Graphs in Objective-C
32(1)
The NSObject Lifecycle
33(1)
Allocation and Initialization
33(1)
Retain and Release
34(1)
Finalization and Deallocation
34(3)
3 Foundation
37(22)
Mutable and Immutable Objects
37(1)
Strings
38(1)
Creating Strings
39(1)
Working with Strings
39(3)
Comparing Strings
42(1)
Searching Strings
43(1)
Arrays
43(3)
Fast Enumeration
46(1)
Mutable Arrays
46(1)
Dictionaries
47(2)
NSValue and NSNumber
49(1)
Data
50(1)
Loading Data from Files and URLs
50(2)
Serialization and Deserialization
52(2)
Design Patterns in Cocoa
54(1)
Model-View-Controller
55(1)
Delegation
56(1)
Key-Value Observing
57(2)
4 Applications on OS X and iOS
59(14)
What Is an Application?
59(1)
Applications, Frameworks, Utilities, and More
60(1)
What Are Apps Composed Of?
61(2)
Using NSBundle to Find Resources in Applications
63(1)
The Application Lifecycle
64(1)
OS X Applications
64(2)
iOS Applications
66(3)
The Application Sandbox
69(1)
Application Restrictions
70(3)
5 Graphical User Interfaces
73(16)
Interfaces in OS X and iOS
73(1)
MVC and Application Design
74(1)
Nib Files
74(1)
Structure of a Nib File
75(4)
Outlets and Actions
79(1)
How Nib Files Are Loaded
80(1)
Constructing an Interface
80(1)
Guidelines and Constraints
80(2)
Building an App with Nibs and Constraints
82(2)
Core Animation
84(1)
Layers
85(1)
Animations
85(4)
6 Blocks and Operation Quotes
89(14)
Blocks
89(1)
Block Syntax
90(2)
Block Lifecycles
92(1)
Methods with Block Parameters
93(1)
Blocks and Memory Management
94(1)
Modifying Local Variables from Inside Blocks with _block
95(1)
Concurrency with Operation Queues
95(1)
Operation Queues and NSOperation
96(1)
Performing Work on Operation Queues
97(1)
Putting It All Together
98(5)
7 Drawing Graphics in Views
103(26)
How Drawing Works
103(2)
The Pixel Grid
105(1)
Retina Displays
105(2)
Pixels and Screen Points
107(1)
Drawing in Views
108(1)
Frame Rectangles
108(1)
Bounds Rectangles
109(1)
Building a Custom View
110(1)
Creating the Project
110(1)
Filling with a Solid Color
110(3)
Working with Paths
113(1)
Creating Custom Paths
114(3)
Multiple Subpaths
117(1)
Shadows
118(4)
Gradients
122(4)
Transforms
126(3)
8 Audio and Video
129(16)
AV Foundation
129(1)
Playing Video with AVPlayer
130(1)
AVPlayerLayer
131(1)
Putting It Together
131(4)
Playing Sound with AVAudioPlayer
135(2)
Working with the Photo Library
137(1)
Capturing Photos and Video from the Camera
138(2)
Building a Photo Application
140(2)
The Photo Library
142(3)
9 Model Objects and Data Storage
145(18)
Key-Value Coding
146(2)
Key-Value Observing
148(1)
Registering for Change Notifications
148(2)
Notifying Observers of Changes
150(1)
Notifications with NSNotification
150(1)
Preferences
151(1)
Registering Default Preferences
152(1)
Accessing Preferences
153(1)
Setting Preferences
154(1)
Working with the Filesystem
154(2)
Using NSFileManager
156(3)
File Storage Locations
159(1)
Working with the Sandbox
159(1)
Enabling Sandboxing
159(1)
Open and Save Panels
160(1)
Security-Scoped Bookmarks
160(3)
10 Cocoa Bindings
163(12)
Binding Views to Models
164(1)
A Single Bindings App
164(3)
Binding to Controllers
167(1)
Array and Object Controllers
168(1)
A More Complex Bindings App
169(6)
11 Table Views and Collection Views
175(20)
Data Sources and Delegates
175(1)
Table Views
176(1)
UITableView on iOS
176(1)
Sections and Rows
177(1)
Table View Controllers
178(1)
Table View Cells
178(4)
Implementing a Table View
182(2)
NSTableView on OS X
184(4)
Sorting a Table View
188(1)
NSTableView with Bindings
189(1)
Collection Views
190(1)
UICollectionView on iOS
190(5)
12 Document-Based Applications
195(20)
The NSDocument and UIDocument Classes
196(1)
Document Objects in MVC
196(1)
Kinds of Documents
196(1)
The Role of Documents
197(1)
Document-Based Applications on OS X
198(1)
Autosaving and Versions
198(1)
Representing Documents with NSDocument
199(1)
Saving Simple Data
200(2)
Saving More Complex Data
202(4)
Document-Based Applications on iOS
206(1)
Representing Documents with UIDocument
206(9)
13 Networking
215(8)
Connections
215(1)
NSURL
216(1)
NSURLRequest
217(1)
NSURLConnection
218(1)
NSURLResponse and NSHTTPURLResponse
218(1)
Building a Networked Application
218(2)
Discovering Nearby Services
220(1)
Browsing for Shared iTunes Libraries
220(3)
14 Working with the Real World
223(20)
Working with Location
223(1)
Location Hardware
224(1)
The Core Location Framework
225(1)
Working with Core Location
226(4)
Geocoding
230(2)
Locations and Privacy
232(1)
Device Motion
233(1)
Working with Core Motion
234(5)
Printing Documents
239(1)
Printing on OS X
239(1)
Printing on iOS
240(3)
15 Event Kit
243(12)
Understanding Events
243(1)
Accessing the Event Store
244(1)
Accessing Calendars
245(1)
Accessing Events
245(1)
Working with Events
246(1)
Building an Events Application
247(5)
User Privacy
252(3)
16 Instruments and the Debugger
255(20)
Getting Started with Instruments
256(1)
The Instruments Interface
256(3)
Observing Data
259(1)
Adding Instruments from the Library
260(1)
Fixing Problems with Instruments
260(6)
Retain Cycles and Leaks
266(3)
Using the Debugger
269(1)
Setting Breakpoints
269(4)
Inspecting Memory Contents
273(1)
Working with the Debugger Console
273(2)
17 Sharing and Notifications
275(14)
Sharing
275(2)
Sharing on iOS
277(3)
Sharing on OS X
280(1)
Notifications
281(1)
Push Notifications
281(1)
Sending Push Notifications
282(2)
Setting Up to Receive Push Notifications
284(2)
Receiving Push Notifications
286(1)
Local Notifications
287(2)
18 Nonstandard Apps
289(10)
Command-Line Tools
289(2)
Preference Panes
291(1)
How Preference Panes Work
291(1)
Preference Domains
292(1)
Building a Sample Preference Pane
293(2)
Status Bar Items
295(1)
Building a Status Bar App
295(4)
19 Working with Text
299(10)
Internationalization and Localization
299(1)
Strings Files
299(1)
Creating a Sample Localized Application
300(2)
Formatting Data with NSFormatter
302(1)
Formatting Dates with NSDateFormatter
302(2)
Detecting Data with NSDataDetector
304(1)
Testing a Data Detector
305(4)
20 iCloud
309(16)
What iCloud Stores
309(1)
Setting Up for iCloud
310(2)
Testing Whether iCloud Works
312(1)
Storing Settings
312(5)
iCloud Storage
317(8)
Index 325
Paris Buttfield-Addison is a mobile app engineer, game designer and researcher with a passion for making technology simpler and as engaging as possible. He has written two books on game development and currently spends his time designing mobile products for millions upon millions of users while drinking too much coffee. Paris has coded for everything from Qt to 6502 assembly to iOS and thinks digital watches are a pretty neat idea. He claims he will soon have a PhD. Jon Manning is a world renown iOS development trainer and writer, game designer and mobile software engineering wizard. He has co-authored two books on mobile development and enjoys re-implementing such things as OpenGL and the Objective-C runtime (in his spare time). Jon is also a researcher in Human-Computer Interaction working towards a PhD.