Introduction to Dynamically Loading Code
This programming topic describes the available techniques for loading executable code while an application is running.
Due to a limitation in the Objective-C runtime system, at the time of writing there is no way to unload Cocoa loadable bundles.
Organization of This Document
To learn about the concepts related to dynamic loading, read the following articles:
“About Loadable Bundles” describes how loadable bundles are structured and when you should use them.
“Loadable Bundles in Cocoa” describes features specific to loadable bundles in Cocoa.
“CFBundle and NSBundle” describes the relationship between the Core Foundation CFBundle opaque type and the Cocoa NSBundle class.
“Multi-Bundle Applications” explains how to organize your application into multiple bundles for increased modularity and extensibility.
“Plug-in Architectures” describes the plug-in concept and how to architect an application around plug-ins.
The following tasks are covered:
“Loading Objective-C Libraries From Java” describes how to load an Objective-C dynamic library into a Java application.
It is recommended that you read Bundle Programming Guide as a prerequisite; this document provides an overview to bundles, including their purpose, types, structure, and the API for accessing bundle resources. Resource Programming Guide, which is a document related to Dynamically Loading Code, describes how to access non-code bundle resources, particularly those in nib files. Finally, to learn more about the Core Foundation CFPlugIn API (
CFPlugInRef), which is a popular architecture for bundle-based plug-ins, see Plug-in Programming Topics; in addition, “Core Foundation CFPlugIn” in this document gives a summary of the architecture.
© 2003, 2007 Apple Inc. All Rights Reserved. (Last updated: 2007-08-10)