Sort by Title |
Sorted by Topic |
Sort by Resource Type |
Sort by Date |
Building Universal Binaries from "configure"-based Open Source Projects
(HTML)
TN2137: Describes some methods for building some existing "configure"-based Open Source packages as universal binaries.
|
Porting |
Technical Notes |
2006-10-05
|
Developing Cross-Platform UNIX Applications with Mac OS X
(HTML)
Learn tips for developing code on Mac OS X for deployment on other UNIX platforms.
|
Porting |
Articles |
2004-08-30
|
Getting List of All Processes on Mac OS X
(HTML)
()
QA1123: Describes how, using Carbon and BSD respectively, to list all applications and processes.
|
Porting |
Technical Q&As |
2002-03-05
|
Is dlopen available on all versions of Mac OS X?
(HTML)
()
QA1180: Describes how to dynamically link to libraries and plug-ins, typically done with dlopen.
|
Porting |
Technical Q&As |
2008-08-19
|
MoreIsBetter
(HTML)
(DMG)
(ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
|
Porting |
Sample Code |
2003-10-27
|
Moriarity
(HTML)
(DMG)
(ZIP)
Implementing a Cocoa GUI that wraps command-line functionality, calling a UNIX task and presenting the results in a GUI.
|
Porting |
Sample Code |
2003-01-14
|
Packaging UNIX Software
(HTML)
Explains how to post UNIX and other command-line tools to Apple's Macintosh Product Guide.
|
Porting |
Guides |
2001-04-20
|
Pascal to C: PROCEDURE Parameters
(HTML)
Deprecated - PT31: Nested procedures and PROCEDURE parameters in Pascal when converting them into C or C++.
|
Porting |
Technical Notes |
1990-02-01
|
Perl, Python, and Ruby Extensions Release Notes
(HTML)
Describes how to create universal binary extensions for Perl, Python, and Ruby.
|
Porting |
Release Notes |
2007-10-31
|
PIDFromBSDProcessName
(HTML)
(DMG)
(ZIP)
Provides a simple API to do process PID lookup based on BSD process name.
|
Porting |
Sample Code |
2003-02-13
|
Porting Command Line Unix Tools to Mac OS X
(HTML)
()
TN2071: A general guide for Unix developers porting software to Mac OS X.
|
Porting |
Technical Notes |
2003-09-03
|
Porting Drivers to Mac OS X
(HTML)
(PDF)
Tips and code samples to help UNIX/Linux device driver developers bring their drivers to Mac OS X.
|
Porting |
Guides |
2009-05-06
|
Porting UNIX/Linux Applications to Mac OS X
(HTML)
(PDF)
Conceptual information and tips about porting UNIX and Linux applications to Mac OS X.
|
Porting |
Guides |
2008-04-08
|
Setting environment variables for user processes
(HTML)
QA1067: Tells how to set environment variables for user processes.
|
Porting |
Technical Q&As |
2001-10-25
|
Static linking of user binaries on Mac OS X
(HTML)
()
QA1118: Explains why static linking of user binaries is not supported on Mac OS X, and possible workarounds.
|
Porting |
Technical Q&As |
2002-02-07
|
Symbol Variants Release Notes
(HTML)
Describes symbol variants, a way of providing multiple versions of symbols for backwards compatibility.
|
Porting |
Release Notes |
2007-10-16
|
Tiger Developer Overview Series: Developing 64-bit Applications
(HTML)
Learn how Mac OS X Tiger breaks the limitations of 32-bit computing.
|
Porting |
Articles |
2004-12-20
|
Bonjour Printer Subtype for HTTP
(HTML)
QA1555: Describes how printer vendors can register their bonjour service such that Safari can see them.
|
Printing |
Technical Q&As |
2008-03-25
|
Affinity API Release Notes for Mac OS X v10.5
(HTML)
Explains how to influence which CPU core runs a group of threads (for performance optimization).
|
Process Management |
Release Notes |
2007-10-31
|
BootstrapDump
(HTML)
(DMG)
(ZIP)
Print Mach bootstrap namespace information.
|
Process Management |
Sample Code |
2008-06-18
|
CFLocalServer
(HTML)
(DMG)
(ZIP)
Uses UNIX domain sockets to communicate between client and server programs on the same machine.
|
Process Management |
Sample Code |
2005-07-26
|
Customizing Process Stack Size
(HTML)
QA1419: Describes methods for setting the stack size of a process and/or thread.
|
Process Management |
Technical Q&As |
2008-02-20
|
Daemons and Agents
(HTML)
TN2083: Describes the most common problems encountered with daemons and agents, and suggests detailed solutions.
|
Process Management |
Technical Notes |
2007-11-05
|
Determining console user login status
(HTML)
QA1133: How to determine whether a user is logged in on the console, and be notified of changes.
|
Process Management |
Technical Q&As |
2008-04-14
|
Getting Started with launchd
(HTML)
Learn about launchd and see how to migrate your configuration files.
|
Process Management |
Articles |
2005-08-22
|
Mach Absolute Time Units
(HTML)
QA1398: Describes how to convert Mach absolute time units to real time, and vice versa.
|
Process Management |
Technical Q&As |
2005-01-06
|
MoreIsBetter
(HTML)
(DMG)
(ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
|
Process Management |
Sample Code |
2003-10-27
|
Observing Process Lifetimes Without Polling
(HTML)
TN2050: Shows a variety of methods to observe process lifetimes without polling.
|
Process Management |
Technical Notes |
2008-09-10
|
PIDFromBSDProcessName
(HTML)
(DMG)
(ZIP)
Provides a simple API to do process PID lookup based on BSD process name.
|
Process Management |
Sample Code |
2003-02-13
|
Running At Login
(HTML)
TN2228: Describes how to write code that's coordinated with the login process.
|
Process Management |
Technical Notes |
2008-09-16
|
SampleD
(HTML)
(DMG)
(ZIP)
Demonstrates use of launchd and Apple System Logger.
|
Process Management |
Sample Code |
2005-10-27
|
UTXplorer
(HTML)
(DMG)
(ZIP)
Uses the <utmpx.h> API to display current login sessions and login history.
|
Process Management |
Sample Code |
2008-03-19
|
Customizing Process Stack Size
(HTML)
QA1419: Describes methods for setting the stack size of a process and/or thread.
|
Resource Management |
Technical Q&As |
2008-02-20
|
I/O Kit Fundamentals
(HTML)
(PDF)
The basics of developing device drivers. Includes descriptions of I/O Kit families.
|
Resource Management |
Guides |
2007-05-17
|
Mach Absolute Time Units
(HTML)
QA1398: Describes how to convert Mach absolute time units to real time, and vice versa.
|
Resource Management |
Technical Q&As |
2005-01-06
|
MachPortDump
(HTML)
(DMG)
(ZIP)
Dumps out the Mach port name space of a process; useful when debugging port right leaks.
|
Resource Management |
Sample Code |
2005-08-10
|
MapLargeFile
(HTML)
(DMG)
(ZIP)
Shows a technique for mapping files greater than 4GB into memory for faster access.
|
Resource Management |
Sample Code |
2003-11-19
|
MoreIsBetter
(HTML)
(DMG)
(ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
|
Resource Management |
Sample Code |
2003-10-27
|
Preventing sleep
(HTML)
QA1160: Explains how your application can prevent the system from sleeping.
|
Resource Management |
Technical Q&As |
2004-10-22
|
Registering and unregistering for sleep and wake notifications
(HTML)
QA1340: Explains how applications can register and unregister for sleep and wake notifications on Mac OS X.
|
Resource Management |
Technical Q&As |
2008-08-08
|
CheckExecutableArchitecture
(HTML)
(DMG)
(ZIP)
Determine whether a particular Mach-O executable contains a version suitable for executing on a given processor architecture.
|
Runtime Architecture |
Sample Code |
2006-02-07
|
Dynamic Library Programming Topics
(HTML)
(PDF)
Explains how to design, implement, and use dynamic libraries.
|
Runtime Architecture |
Guides |
2009-02-26
|
Is dlopen available on all versions of Mac OS X?
(HTML)
()
QA1180: Describes how to dynamically link to libraries and plug-ins, typically done with dlopen.
|
Runtime Architecture |
Technical Q&As |
2008-08-19
|
Mac OS X ABI Dynamic Loader Reference
(HTML)
(PDF)
Describes the functions used to access Mach-O files.
|
Runtime Architecture |
Reference |
2005-11-09
|
Mac OS X ABI Mach-O File Format Reference
(HTML)
(PDF)
Describes the data structures that make up the Mach-O file format.
|
Runtime Architecture |
Reference |
2009-02-04
|
Mac OS X Notification Overview
(HTML)
(PDF)
|
Runtime Architecture |
Guides |
2007-05-15
|
MemoryBasedBundle
(HTML)
(DMG)
(ZIP)
Shows how to execute Mach-O code from memory, much like GetMemFragment in CFM.
|
Runtime Architecture |
Sample Code |
2005-08-10
|
MoreIsBetter
(HTML)
(DMG)
(ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
|
Runtime Architecture |
Sample Code |
2003-10-27
|
Static linking of user binaries on Mac OS X
(HTML)
()
QA1118: Explains why static linking of user binaries is not supported on Mac OS X, and possible workarounds.
|
Runtime Architecture |
Technical Q&As |
2002-02-07
|
System Startup Programming Topics
(HTML)
(PDF)
Explains the boot process used to initialize the Mac OS X operating system.
|
Runtime Architecture |
Guides |
2008-11-19
|
Authorization Services Programming Guide
(HTML)
(PDF)
Explains how to add fine-grained control of privileged operations in an application.
|
Security |
Guides |
2009-01-06
|
Code Signing Guide
(HTML)
(PDF)
Explains how you can sign your code and why you should.
|
Security |
Guides |
2008-11-19
|
Code Signing Release Notes
(HTML)
|
Security |
Release Notes |
2007-10-31
|
CryptNoMore
(HTML)
(DMG)
(ZIP)
Shows how to authenticate a user using Open Directory (Directory Services).
|
Security |
Sample Code |
2008-03-17
|
CryptoSample
(HTML)
(DMG)
(ZIP)
Contains sample code showing symmetric encryption and message digest calculation.
|
Security |
Sample Code |
2003-02-06
|
GetMACAddressSample
(HTML)
(DMG)
(ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
|
Security |
Sample Code |
2003-01-14
|
GetPrimaryMACAddress
(HTML)
(DMG)
(ZIP)
Demonstrates retrieving the MAC address of the built-in Ethernet controller. Useful for uniquely identifying a Macintosh system.
|
Security |
Sample Code |
2005-10-27
|
KauthORama
(HTML)
(DMG)
(ZIP)
Prints each Kauth request, illustrating how Kauth interacts with high-level operations, like copying files.
|
Security |
Sample Code |
2007-04-30
|
Kerberos: Highly Secure Single Sign On Authentication in Mac OS X
(HTML)
Learn how you can take advantage of Kerberos in your application.
|
Security |
Articles |
2007-02-05
|
Kernel Authorization
(HTML)
TN2127: Describes the kernel authorization (kauth) subsystem and its associated KPI.
|
Security |
Technical Notes |
2007-01-16
|
Mac OS X and root access
(HTML)
QA1013: Describes how to enable root access in Mac OS X.
|
Security |
Technical Q&As |
2008-09-16
|
Mac OS X Code Signing In Depth
(HTML)
TN2206: Intermediate to expert level overview of code signing that details specific options and gotchas
|
Security |
Technical Notes |
2008-08-06
|
MoreIsBetter
(HTML)
(DMG)
(ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
|
Security |
Sample Code |
2003-10-27
|
QISA
(HTML)
(DMG)
(ZIP)
Demonstrates the basics of writing an Internet setup assistant for traditional Mac OS and Mac OS X.
|
Security |
Sample Code |
2003-05-15
|
Secure Coding Guide
(HTML)
(PDF)
Describes techniques to use and factors to consider to make your code more secure from attack.
|
Security |
Guides |
2008-05-23
|
Security Framework Error Codes
(HTML)
QA1499: Explains how to interpret errors returned by the Security Framework with an overview of Security error handling.
|
Security |
Technical Q&As |
2006-11-16
|
Security Overview
(HTML)
(PDF)
An introduction to computer security concepts and the security APIs in Mac OS X and iPhone OS.
|
Security |
Guides |
2008-10-15
|
SSLSample
(HTML)
(DMG)
(ZIP)
Contains examples showing how to use SecureTransport.
|
Security |
Sample Code |
2003-01-14
|
Suppressing the "unexpectedly quit" alert
(HTML)
QA1288: Describes how to suppress the "unexpectedly quit" alert.
|
Security |
Technical Q&As |
2008-03-11
|
Uniquely Identifying a Macintosh Computer
(HTML)
()
TN1103: How to identify a specific Macintosh computer.
|
Security |
Technical Notes |
2006-04-25
|
Building Universal Binaries from "configure"-based Open Source Projects
(HTML)
TN2137: Describes some methods for building some existing "configure"-based Open Source packages as universal binaries.
|
Tools |
Technical Notes |
2006-10-05
|
Cross-Development Programming Guide
(HTML)
(PDF)
Explains how to build software for versions of Mac OS X other than the one the development tools are running on.
|
Tools |
Guides |
2006-11-07
|
Developing Cross-Platform UNIX Applications with Mac OS X
(HTML)
Learn tips for developing code on Mac OS X for deployment on other UNIX platforms.
|
Tools |
Articles |
2004-08-30
|
GNU C 4.0 Preprocessor User Guide
(HTML)
Describes the Apple version of the GNU C 4.0 Preprocessor.
|
Tools |
Reference |
2007-10-31
|
GNU C 4.2 Preprocessor User Guide
(HTML)
Describes the Apple version of the GNU C 4.2 Preprocessor.
|
Tools |
Reference |
2008-01-23
|
GNU C/C++/Objective-C 3.3 Compiler
(HTML)
Explains how to use the GNU compilers from the command line.
|
Tools |
Reference |
|
GNU C/C++/Objective-C 4.0.1 Compiler User Guide
(HTML)
Describes the Apple version of the GNU 4.0.1 compiler.
|
Tools |
Reference |
2007-10-31
|
GNU C/C++/Objective-C 4.2.1 Compiler User Guide
(HTML)
Describes the Apple version of the GNU 4.2.1 compiler.
|
Tools |
Reference |
2008-01-23
|
HeaderDoc User Guide
(HTML)
(PDF)
Explains how to extract API reference documentation from commented header files.
|
Tools |
Guides |
2008-04-08
|
IOKit Framework Headers
(HTML)
()
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
|
Tools |
Technical Q&As |
2002-01-15
|
Is dlopen available on all versions of Mac OS X?
(HTML)
()
QA1180: Describes how to dynamically link to libraries and plug-ins, typically done with dlopen.
|
Tools |
Technical Q&As |
2008-08-19
|
Mac OS X ABI Mach-O File Format Reference
(HTML)
(PDF)
Describes the data structures that make up the Mach-O file format.
|
Tools |
Reference |
2009-02-04
|
Mac OS X Man Pages
(HTML)
HTML versions of the Mac OS X, Mac OS X Server, Xcode Tools, and CHUD man pages.
|
Tools |
Reference |
2008-04-29
|
Netwide Assembler Guide
(HTML)
Describes the Netwide Assembler for Intel-based Macs.
|
Tools |
Reference |
2008-06-19
|
Packaging UNIX Software
(HTML)
Explains how to post UNIX and other command-line tools to Apple's Macintosh Product Guide.
|
Tools |
Guides |
2001-04-20
|
Perl, Python, and Ruby Extensions Release Notes
(HTML)
Describes how to create universal binary extensions for Perl, Python, and Ruby.
|
Tools |
Release Notes |
2007-10-31
|
PIDFromBSDProcessName
(HTML)
(DMG)
(ZIP)
Provides a simple API to do process PID lookup based on BSD process name.
|
Tools |
Sample Code |
2003-02-13
|
Porting UNIX/Linux Applications to Mac OS X
(HTML)
(PDF)
Conceptual information and tips about porting UNIX and Linux applications to Mac OS X.
|
Tools |
Guides |
2008-04-08
|
Setting environment variables for user processes
(HTML)
QA1067: Tells how to set environment variables for user processes.
|
Tools |
Technical Q&As |
2001-10-25
|
Signals and Threads
(HTML)
()
QA1184: Describes how threads and signals interact.
|
Tools |
Technical Q&As |
2002-08-27
|
Symbol Variants Release Notes
(HTML)
Describes symbol variants, a way of providing multiple versions of symbols for backwards compatibility.
|
Tools |
Release Notes |
2007-10-16
|
X11 FAQ
(HTML)
()
QA1232: Frequently Asked Questions about using Apple's X Window System (X11) implementation.
|
Tools |
Technical Q&As |
2003-11-17
|