NEW TITLE RELEASE ANNOUNCEMENT
See the latest about a temporary release delay on new titles. Learn more.
Mac OS X Advanced Development Techniques introduces intermediate to advanced developers to a wide range of topics they will not find so extensively detailed anywhere else.
The book concentrates on teaching Cocoa development first, and then takes that knowledge and teaches in-depth, advanced Mac OS X development through detailed examples. Topics covered include: writing applications in Cocoa, supporting plug-in architectures, using shell scripts as startup items, understanding property lists, writing screen savers, implementing preference panes and storing global user preferences, custom color pickers, components, core and non-core services, foundations, frameworks, bundles, tools, applications and more. Source code in Objective-C, Perl, Java, shell script, and other languages are included as appropriate.
These solutions are necessary when developing Mac OS X software, but many times are overlooked due to their complexities and lack of documentation and examples. The project-oriented approach of Mac OS X Advanced Development Techniques lends itself perfectly to those developers who need to learn a specific aspect of this new OS. Stand-alone examples allow them to strike a specific topic with surgical precision. Each chapter will be filled with snippets of deep, technical information that is difficult or impossible to find anywhere else.
I. OVERVIEW.1. Introduction to Mac OS X.
Darwin. UNIX. File Systems. Industry Standard Protocols. Quartz. OpenGL. QuickTime. Classic (OS 9). Carbon. Cocoa. Java. Aqua. Software. Conclusion.2. Introduction to Programming in Mac OS X.
Programming Languages. Tools. Frameworks. Conclusion.
II. APPLICATION LEVEL.3. Cocoa Applications.
The Result. The Project. Try This. Conclusion.4. Cocoa Plug-ins.
The Results. The First Project: plistPlugin. SearchWindowController. The Second Project: MyNSBP_App and MyNSBP_Plugin. A Word About Symbol Collisions. Try This. Conclusion.5. Carbon Plug-ins.
The Results. The CFPlugin Project. What Is a UUID? The CFPlugin Project Source Code. The CFPluginCarbonApp Host Application Project. The CFPluginCocoaApp Host Application Project. Try This. Conclusion.6. Frameworks.
Apple Frameworks. Third-Party Frameworks. The Result. The Carbon Framework Project. The Cocoa Framework Project. The Cocoa Application Project. Try This. Conclusion.
III. ENHANCING THE SYSTEM.7. System Services.
The Result. The Project. The Application Connection. Try This. Conclusion.8. System Preference Panes.
The Result. The Project. More NSPreferencePane. Try This. Conclusion.9. Status Items.
The Result. The Project. Try This. Conclusion.10. Screen Effects.
The Result. The Project. Try This. Conclusion.11. Color Pickers.
The Result. The Project. Try This. Conclusion.
IV. ADVANCED METHODS.12. Threads.
The Result. The Project. Serial Versus Parallel. Thread Priority. Thread Data. Try This. Conclusion.13. Terminal.
The Result. The Project. Try This. Conclusion.14. XML-RPC.
The Result. The PHP Server. The PHP Client. The Cocoa Client. Try This. Conclusion.15. SOAP.
The Result. The PHP Server. The PHP Client. The Cocoa Client. Try This. Conclusion.16. Snippets.
Calling Carbon from Cocoa. Drawing with QuickDraw in a Cocoa Application. Displaying the Username. Finding a Users Home Directory. Finding Application Support Directories. Display Alert Panel and Write to Log. Updating the Applications Dock Image. Updating the Applications Dock Menu. Open a URL. Get the Icon of a File. Scrolling About Box. Checking Network Status. Checking for Modifier Keys. Executing AppleScripts via URL. Defaults. Find. Sample. Localizing Your Cocoa Application. CURLHandle. Conclusion.17. Conclusion.
V. APPENDIXES.Appendix A. Source Code.
Chapter 3—RadarWatcher. Chapter 4—MyNSBP_App. Chapter 4—MyNSBP_Desaturate. Chapter 4—MyNSBP_RemoveColor. Chapter 4—plistPlugin. Chapter 5—CFPlugin. Chapter 5—CFPluginCarbonApp. Chapter 5—CFPluginCocoaApp. Chapter 5—Shared. Chapter 6—MyCarbonFramework. Chapter 6—MyCocoaFramework. Chapter 6—MyCocoaApp. Chapter 7—MyTextService. Chapter 8—MyPreferencePane. Chapter 9—MyStatusItem. Chapter 10—MyScreenEffect. Chapter 11—MyColorPicker. Chapter 12—MyThread. Chapter 13—MyTerminal. Chapter 14—MyXMLRPC. Chapter 15—MySOAP.Appendix B. Online Resources.