CFNetwork Provides iPhone Developers Object-oriented Abstractions for Making Use Of Network Protocols
Let's take a look at other two layers which play a magnificent role in iPhone application development. Core Services layer is comprised of fundamental system services which iPhone application developers must use for all applications. If ever, iPhone developers avoid the use of these types of services directly, each technology throughout the system revolves around these services. Some of the most crucial frameworks of this layer comprise of Core Foundation framework, CFNetwork framework, Security framework and many others
The Core Foundation framework is closely associated with the Foundation framework. It's made of C-based interfaces offering standard data management and service features when it comes to iPhone applications. The Foundation framework delivers Objective-C interfaces for a similar elementary characteristics. You will discover a characteristic called toll-free bridging which links both of these frameworks. Toll-free bridging allows iphone application developers use some Core Foundation and Foundation types interchangeably in the methods and functions of both framework. With the help of this particular function, developers can utilize the types of these two frameworks interchangeably. A number of data types like collection and string data types make use of such support. The framework features class and type descriptions that will point out if an object will be bridged using toll-free bridging if it is bridged, with which object it is carried out.
CFNetwork is another framework within Core Services layer. CFNetwork includes set of high-performance, C-based interfaces that give object-oriented abstractions for dealing with network protocols. These kind of abstractions offer developers thorough command over the protocol stack to make it simple to implement lower-level constructs like BSD sockets. Tasks like communicating to File transfer protocol and HTTP servers or fixing DNS hosts get simpler utilizing this type of framework.
You can find built-in security characteristics found in iPhone. But, aside from all of these features, iOS has the benefit of separate Security framework to use by iPhone app developer to cover your data that application looks after. This kind of framework can be utilized to look after certificates, private and public keys and trust policies. A generation of cryptographically secure pseudo random numbers also is supported by this. The storage of certificates and cryptographic keys in the key chain also are supported by this specific framework; key chain contains private consumer information. CommonCrypto interfaces feature further support with respect to symmetric encryption, HMAC, and Digests. Digests attribute will provide functions which are primarily compatible with functionality usually discovered in the OpenSSL library, which isn't available in iPhone OS.
With the intention to obtain elements from an XML document, the Foundation framework has got the NSXMLParser class. Additional support with regard to manipulating XML content is available from libXML2 libraries. iPhone application developers can leverage this particular free library to parse or even produce arbitrary XML data quicker as well as transform XML content to HTML.
The fourth layer - Core OS layer - is also called the deepest layer of the iOS. It has kernel environment, drivers, and also basic interfaces of the operating system. The kernel is in accordance with Mach and it is responsible for every aspect of operating system. All the characteristics such as virtual memory system, threads, file system, network, and interprocess communication can be monitored through the kernel. However, kernel and drivers could be looked at by a limited set of system frameworks and apps by the drivers with this layer. Some interfaces is furnished via iPhone OS. iPhone OS gives a list of interfaces intended for accessing several low-level features of the operating-system and the features could be used through the LibSystem library.
