Programming Mac OS X


Book Description

A guide for UNIX developers who want accurate information on getting up to speed with Mac OS X and its software development environment, this book provides programmers all the information they need to understand and use the operating system, its development tools, and key technologies such as Darwin, Cocoa, and AppleScript. Users are introduced to the UNIX-based foundations of Mac OS X and shown how they fit into Mac OS X architecture. Also provided is coverage of both GUI and command-line software development tools, realistic programming examples that developers will encounter, and a discussion of Macintosh-style software development.




Step Into Xcode


Book Description

A Step-by-Step Guide to the Xcode Mac OS Development Environment Every copy of Mac OS X comes with Xcode, the powerful development suite that Apple uses to build applications ranging from Safari to iTunes. But because Xcode is complex and subtle, even experienced Mac programmers rarely take full advantage of it. Now, Mac developer Fritz Anderson has written the definitive introduction and guide to using Xcode to build applications with any Macintosh technology or language. Anderson helps you master Xcode's powerful text editor, industry-standard gcc compiler, graphical interactive debugger, mature UI layout and object linkage editor, and exceptional optimization tools. One step at a time, you'll develop a command-line utility, then use Xcode tools to evolve it into a full-fledged Cocoa application. Anderson provides expert guidance on development frameworks, source code management, Core Data modeling, localization, and much more. Coverage includesUnderstanding Xcode workflow and the Mac OS X application lifecyclePorting established legacy projects into XcodeUsing the Model-View-Controller design pattern to build robust graphical applicationsBuilding static libraries and working with Xcode's build systemMaking the most of bundles and package directoriesCreating applications compatible with older versions of Mac OS X Creating universal binaries to run on both Intel and PowerPC MacintoshesAdding Spotlight searchability to data filesLeveraging Xcode's built-in support for unit testingUsing Xcode on makefile-based UNIX development projects "Step Into Xcode"'s breadth, depth, and practical focus make it indispensable to every Mac developer: current Xcode users upgrading to Xcode 2.1, experienced Mac programmers migrating from CodeWarrior, UNIX/Linux programmers moving to Mac OS X, and even novices writing their first programs or scripts.




Mac OSX Developer's Guide


Book Description

Mac OS X, Apple's newest operating system for the Macintosh platform, is profoundly different from its earlier versions because of its similarity to the UNIX operating system. For developers writing software for OS X this means adjusting to two new environments to create applications and to access the enhanced features of the new OS, Cocoa and Carbon. Cocoa is an object-oriented API in which all future OS X programs will be written. Carbon is a transitional technology allowing compatibility of applications written for earlier versions of the Mac OS with Mac OS X.Mac OS X Developer's Guide focuses equally on Cocoa and Carbon, guiding the reader through these technologies and showing how to write applications in both. It is the first book for Mac OS X developers written for those who are already working on applications, as well as new developers just getting started. It starts off describing the new OS and its development tools then focuses on specific programming issues, providing tips on making the transition from classic Mac OS code to Mac OS X.* A guide for developers already writing applications as well as new developers just getting started* Focuses equally on both Cocoa and Carbon environments* Provides tips on transitioning from writing code for classic Mac OS to OS X* References Apple online materials extensively, to keep developers up to speed on changes




Advanced Mac OS X Programming


Book Description

While there are several books on programming for Mac OS X, Advanced Mac OS X Programming: The Big Nerd Ranch Guide is the only one that contains explanations of how to leverage the powerful underlying technologies. This book gets down to the real nitty-gritty. The third edition is updated for Mac OS X 10.5 and 10.6 and covers new technologies like DTrace, Instruments, Grand Central Dispatch, blocks, and NSOperation.




Xcode Tools Sensei


Book Description

Xcode Tools Sensei is a book about Apple's developer tools that are used to create Mac and iOS applications. This book doesn't stop with Xcode and Interface Builder. Xcode Tools Sensei covers a dozen developer tools, both graphical and command-line tools. You will learn how to profile your code and check for memory leaks with Instruments, write shaders with OpenGL Shader Builder, and uncover performance problems with OpenGL ES Performance Detective. If you want to spend more time creating, testing, and profiling your applications and less time wading through Apple's documentation, get a copy of Xcode Tools Sensei. This edition has been updated for Xcode 4.5 and iOS 6. Some of the new material in this edition includes auto layout for iOS applications, cherry picking commits, and creating base localizations to simplify application localization.




Developer Testing


Book Description

How do successful agile teams deliver bug-free, maintainable software—iteration after iteration? The answer is: By seamlessly combining development and testing. On such teams, the developers write testable code that enables them to verify it using various types of automated tests. This approach keeps regressions at bay and prevents “testing crunches”—which otherwise may occur near the end of an iteration—from ever happening. Writing testable code, however, is often difficult, because it requires knowledge and skills that cut across multiple disciplines. In Developer Testing, leading test expert and mentor Alexander Tarlinder presents concise, focused guidance for making new and legacy code far more testable. Tarlinder helps you answer questions like: When have I tested this enough? How many tests do I need to write? What should my tests verify? You’ll learn how to design for testability and utilize techniques like refactoring, dependency breaking, unit testing, data-driven testing, and test-driven development to achieve the highest possible confidence in your software. Through practical examples in Java, C#, Groovy, and Ruby, you’ll discover what works—and what doesn’t. You can quickly begin using Tarlinder’s technology-agnostic insights with most languages and toolsets while not getting buried in specialist details. The author helps you adapt your current programming style for testability, make a testing mindset “second nature,” improve your code, and enrich your day-to-day experience as a software professional. With this guide, you will Understand the discipline and vocabulary of testing from the developer’s standpoint Base developer tests on well-established testing techniques and best practices Recognize code constructs that impact testability Effectively name, organize, and execute unit tests Master the essentials of classic and “mockist-style” TDD Leverage test doubles with or without mocking frameworks Capture the benefits of programming by contract, even without runtime support for contracts Take control of dependencies between classes, components, layers, and tiers Handle combinatorial explosions of test cases, or scenarios requiring many similar tests Manage code duplication when it can’t be eliminated Actively maintain and improve your test suites Perform more advanced tests at the integration, system, and end-to-end levels Develop an understanding for how the organizational context influences quality assurance Establish well-balanced and effective testing strategies suitable for agile teams




Cocoa Programming for OS X


Book Description

Covering the bulk of what you need to know to develop full-featured applications for OS X, this edition is updated for OS X Yosemite (10.10), Xcode 6, and Swift. Written in an engaging tutorial style and class-tested for clarity and accuracy, it is an invaluable resource for any Mac programmer. The authors introduce the two most commonly used Mac developer tools: Xcode and Instruments. They also cover the Swift language, basic application architecture, and the major design patterns of Cocoa. Examples are illustrated with exemplary code, written in the idioms of the Cocoa community, to show you how Mac programs should be written. After reading this book, you will know enough to understand and utilize Apple’s online documentation for your own unique needs. And you will know enough to write your own stylish code. This edition was written for Xcode 6.3 and Swift 1.2. At WWDC 2015, Apple announced Xcode 7 and Swift 2, both of which introduce significant updates that (along with some changes to Cocoa for OS X 10.11) affect some of the exercises in this book. We have prepared a companion guide listing the changes needed to use Xcode 7 to work through the exercises in the book; it is available at https://github.com/bignerdranch/cocoa-programming-for-osx-5e/blob/master/Swift2.md.




Learning Objective-C 2.0


Book Description

Get Started Fast with Objective-C 2.0 Programming for OS X, iPhone, iPod touch, and iPad If you want to learn Objective-C 2.0 to write programs for Mac OS X, iPhone, iPad, or iPod touch, you've come to the right place! Concise, readable, and friendly, Learning Objective-C 2.0 is the perfect beginner's guide to the latest version of Objective-C. Longtime Mac OS X and iPhone developer Robert Clair covers everything from the absolute basics to Objective-C 2.0's newest innovations. Clair begins with a practical refresher on C and object-oriented programming and walks you through creating your first Objective-C program with Xcode. Next, you'll master each core language feature, from objects and classes to messaging, frameworks, and protocols. Every concept is illustrated with simple examples, and many chapters contain hands-on practice exercises. Throughout, Learning Objective-C 2.0 focuses on the features, concepts, and techniques that matter most day to day. The result is an outstanding first book for everyone who wants to begin programming for iPhone, iPod touch, iPad, or Mac OS X. COVERAGE INCLUDES Understanding methods, messages, and the Objective-C messaging system Defining classes, creating object instances, and using class objects Using categories to extend classes without subclassing Simplifying development with Objective-C 2.0 declared properties Using protocols to emphasize behavior rather than class Working with common Foundation classes for strings, arrays, dictionaries, sets, and number objects Using Objective-C control structures, including Objective-C 2.0's new fast enumeration construct Understanding application security and hiding the declaration of methods that should stay private Using the new blocks feature provided in Objective-C 2.0.




Programming IOS 6


Book Description

Get a solid grounding in all the fundamentals of Cocoa Touch, and avoid problems during iPhone and iPad app development. With this revised and expanded edition, you'll dig into Cocoa and learn how to work effectively with Objective-C and Xcode. This book covers iOS 6 in a rigorous, orderly fashion--ideal whether you're approaching iOS for the first time or need a reference to bolster existing skills. Learn about features introduced with iOS 6, including Objective-C language advances, autosynthesis, autolayout, new view controller rotation rules, unwind segues, state restoration, styled text, and collection views. Learn Objective-C language details and object-oriented programming concepts Understand the anatomy of an Xcode project and all the stages of its lifecycle Grasp key Cocoa concepts such as relationships between classes, receiving events, and model-view-controller architecture Learn how views and layers are managed, drawn, composited, and animated Become familiar with view controllers and their relationships, along with nib and storyboard management Fully explore all basic interface objects such as scroll views, table views, and controls Delve into Cocoa frameworks for sound, video, sensors, maps, and other features Touch on advanced topics such as threading and networking




Mac OS X


Book Description

Apple's Mac OS X operating system marries the power of Unix with the elegance of the Macintosh user interface. By harnessing the advanced features of Unix at its core, Mac OS X arguably becomes the most powerful consumer operating system available today. With its Aqua user interface implementation, Mac OS X also provides a unique and approachable experience for the user. Mac OS X also includes a complete suite of free development tools from Apple and third parties that allow programmers to create applications in Objective-C, C++, Java, Perl, PHP, and other languages. Mac OS X Advanced Development Techniques provides intermediate to advanced software developers with a collection of useful programming projects and techniques. Each project chapter contains complete source code and detailed explanations to help give developers an edge. Examples include applications, Coca and Carbon plug-ins, frameworks, system services, preference panes, status items, threads, XML-RPC, SOAP and more. No matter what type of software a developer may be tasked to create, Mac OS X Advanced Development Techniques helps get it done. Book jacket.