< Previous Page Hide TOC

Document Revision History

This table describes the changes to Universal Binary Programming Guidelines, Second Edition.

DateNotes
2009-02-04Made minor content additions.
 

Updated “Programmatically Detecting a Translated Application ” with details about the behavior of the sysctl call when working with the proc_native variable.

2007-02-26Updated for Mac OS X v10.5.
 

Removed the Appendix “Using PowerPlant” because an Open Source version that supports Intel-based Macintosh computers is available. See “Metrowerks PowerPlant.”

 

Replaced the content in “64-Bit Application Binary Interface” with cross-references to documents that are more thorough at describing the ABI.

2007-01-08Added information on 64-bit and made technical corrections.
 

Added “64-Bit Application Binary Interface.”

 

Added a note to “OpenGL.”

 

Revised the explanation of the return values for the code in Listing A-4.

 

Removed the code example in “Archived Bit Fields” because it was incorrect.

2006-07-24Made a few minor technical corrections.
 

Revised “Network-Related Data.”

 

Clarified how Listing A-4 works.

2006-06-28Fixed link.
 

Added “PostScript Printing.”

 

Redirected link from Kernel Extensions Reference to Kernel Framework Reference.

2006-05-23Removed outdated links and made a few other minor changes.
 

Revised code regarding flippers to use an explicit UInt16 pointer and to assign back to dataptr the advanced countPtr.

 

Updated instructions in “Troubleshooting.”

 

Added information about the CCSResourcesFileMapped flag to “using PowerPlant”.

 

Removed links to documentation that is no longer relevant.

 

Added a note to “LStream.h” concerning reading and writing bool values.

2006-04-04Corrected two function names.
 

Revised information in “32-Bit Application Binary Interface” so that it now only provides a link to the primary ABI reference.

2006-03-08Improved wording and added information on Spotlight importers.
 

Added information to “Objective-C Runtime: Sending Messages” and “Objective-C: Messages to nil.”

2006-02-07Improved the wording in several sections.
 

Revised wording in “Bit Shifting,” “Bit Test, Set, and Clear Functions: Carbon and POSIX,” “Troubleshooting,” and “Guidelines for Swapping Bytes.”

 

Revised code in Listing A-4 by adding a statement to handle versions of Mac OS that pre-date Rosetta.

2006-01-10 Updated content for Mac OS X v10.4.4.
 

Removed the note about preliminary documentation from “Introduction to Universal Binary Programming Guidelines.”

 

Changed Xcode 2.1 to Xcode 2.2 in various places throughout the document because this is the recommended version for building a universal binary.

 

Updated screenshots.

 

Updated information in “Disk Partitions,” “Finder Information and Low-Level File System Operations,” “Multithreading,” “Objective-C: Messages to nil,” “QuickTime Components,” “Runtime Code Generation,” and “Values in an Array.”

 

Added the sections “Code on the Stack: Disabling Execution,” “Extensible Firmware Interface (EFI),” and “Mach Processes: The Task for PID Function.”

 

In “Rosetta,” updated the sections “What Can Be Translated?” and “Forcing an Application to Run Translated.”

 

In “Rosetta,” added the section “Programmatically Detecting a Translated Application .”

2005-12-06 Made refinements to existing content.
 

Added code that shows how to swap bytes for values in an array. See “Values in an Array.”

 

Added “Automator Scripts,” “Dashboard Widgets,” and “QuickTime Metadata Functions.”

2005-11-09 Updated for Xcode 2.2; includes pointers to newly revised tools documentation as well as improved guidelines and tips.
 

Revised “Building Your Code.”

 

Added “Debugging.”

 

Added information to “Pixel Data ” on how to track down color problems.

 

Added the section “Quartz Bitmap Data.”

 

Added information about IP addresses and other “false” numerical values.

 

In several places throughout the book, added cross references to newly revised, relevant documentation.

 

Added clarification on the long double data type. See “Data Types.”

 

Added information about using the PinRect function. See “QuickDraw Routines.”

 

Added information about the need for Xcode targets to be native. See “Build Assumptions” and “Building Your Code.”

 

Corrected information about how ATS for Fonts handles font resources. See “Font-Related Resources.”

 

Changed extended markup language to extensible markup language.

 

Improved the grammar in “Objective-C: Messages to nil.”

 

Fixed a link to information on Hyper-Threading Technology. See the “See Also” section in “Guidelines for Specific Scenarios.”

 

Made numerous editorial changes throughout.

2005-10-04 Made technical improvements and minor editorial changes throughout.
 

Added a few resources to See Also in “Building a Universal Binary.”

 

Changed the title of the Appendix Fast Matrix Multiplication to “Architecture-Independent Vector-Based Code.”

 

Added new sections to the chapter “Guidelines for Specific Scenarios.” See “FireWire Device Access” and “USB Device Access.”

 

Added information about a relevant technical note to “QuickTime Components.”

 

Added an example of a color issue to “Troubleshooting Your Built Application.”

 

Revised the section “Objective-C: Messages to nil.”

 

Revised the code for swapping floating-point values. See “Floating-Point Values.”

 

Add a reference to Cross-Development Programming Guide in the chapter “Building a Universal Binary.”

 

Made corrections to the section “OpenGL.”

2005-09-08 Updated a substantial amount of task and conceptual information.
 

Completely replaced information related to PowerPlant.

 

Removed most of the content from “Preparing Vector-Based Code” because the document AltiVec/SSE Migration Guide provides a more complete discussion of porting AltiVec code to SSE.

 

Removed most of the content from the appendix titled Application Binary Interface because the document Mac OS X ABI Function Call Guide provides a more complete description of the IA-32 ABI for Intel-based Macintosh computers.

 

Added a section—“Java Applications”—that provides information about Java on Intel-based Macintosh computers, including what happens under Rosetta. Added cross-references to a technical note on this topic to “Rosetta.”

2005-08-11 Numerous minor technical and editorial changes throughout.
 

Removed the appendix titled x86 Equivalent Instructions for AltiVec Instructions.”

2005-07-07 Made numerous minor technical refinements and fixed a few typographical errors.
2005-06-17 Fixed typographical and linking errors. Made several improvements to technical content.
2005-06-07 New document that describes the architectural differences between PowerPC and Intel and provides tips for writing code that can run on both.



< Previous Page Hide TOC


© 2005, 2009 Apple Inc. All Rights Reserved. (Last updated: 2009-02-04)


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.