Unit 4 Assignment 1: Research iOS App Development
Frameworks
Frameworks are bundles that contain a linkable library (usually a dylib) and the associated resources and headers for development. There are “public” and “private” frameworks. The former are usually well documented and prepared for use by general developers, while the latter are (supposed to be) restricted for internal use only. Public frameworks can be found in /System/Library/Frameworks, and private ones in /System/Library/PrivateFrameworks. Other than this artificial division, there are no differences between public and private frameworks. Since iOS 3.1, all default (public and private) libraries have been combined into a big cache file in /System/Library/Caches/com.apple.dyld/dyld_shared_cache_armv6 (or_armv7) to improve performance. See dyld_shared_cache. The original libraries are no longer useful for non-on-device-developers, so they are eliminated from the system. The framework folders still contain other resources, such as localization strings.
Frameworks have an extension of .framework. Headers, if any, are stored in a subdirectory called Headers.
The Foundation framework The Foundation framework defines a base layer of Objective-C classes. In addition to providing a set of useful primitive object classes, it introduces several paradigms that define functionality not covered by the Objective-C language. The Foundation framework is designed with these goals in mind:
Provide a small set of basic utility classes.
Make software development easier by introducing consistent conventions for things such as de-allocation.
Support Unicode strings, object persistence, and object distribution.
Provide a level of OS independence, to enhance portability. The Foundation framework includes the root object class, classes representing basic data types such as strings and byte arrays, collection classes for storing other objects, classes representing system