iOS System Framework Overview

Source: Internet
Author: User
Tags uikit

iOS System Mining Overview

The iOS OS is an operating system provided by Apple for the company's mobile devices, with advanced design patterns for the convenience of application developers. The classic MVC design pattern and frame pattern are adopted. This article focuses on the framework provided by the iOS system and does not describe the MVC design pattern too much.

What we usually call iOS is the Cocoa touch framework, Cocoa Touch is a collection of frames that contain a multitude of sub-frames. Each sub-framework is a directory that contains a shared repository, a header file for accessing code stored in the repository, and other resources such as images, sound files, and shared libraries that define the functions and methods that an application can invoke. The classes in the framework depend on each other to form a whole, providing a perfect service or solution for one aspect, and multiple frameworks to implement the entire application structure together. Because the structure of the application is universal, the developers can handle the different needs of different applications by using the functions and methods provided by the framework. The development of an application is the integration of the required detailed code into the design provided by the framework to form a whole to complete the final application design.

The structure of the framework is a generic structure that provides a template for the application. Like developers to develop a good blank room, you need to use application code to decorate different furniture flooring doors and windows, which makes different houses have different style, different happiness. Of course, sometimes, when you do the decoration you need to simply modify your house, but the load-bearing wall can not be modified. As we said before, multiple frameworks implement the entire application structure together, and we have to accept the application structure that it defines, so that our application is designed to fit the structure.

In Android development, using template mode to implement some of the characteristics of the application behavior, Android provides activity,service,content Providers,broadcast receivers four components of the default features, Application development is done by inheriting these components to overwrite components as needed. In iOS, the proxy and protocol patterns are used to implement the behavior of the app's properties. For example, the UIApplication object of the Uikit framework in the Cocoa Touch Framework collection, which is responsible for event distribution throughout the application life cycle. Is the core of the application of an object, the Android design needs to subclass it, the method of overriding the parent class, iOS is given to uiapplication agent Appdeleagte to handle the application of various state changes related events ( Appdelegate need to implement Uiapplicationdelegate protocol). In the framework of iOS, a large number of proxies and protocols are used.

Many of the available frameworks provided by iOS form the hierarchy of iOS operating systems, from bottom to top: Core OS, Core ssevices, Medialayer, Cocoa touch, all four layers. Framework diagram for the iOS8.3 system.

Core OS layer, the system core layer contains most of the low-level near-hardware capabilities, and the frameworks it contains are often used by other frameworks. The accelerate framework contains digital signals, linear algebra, and image processing interfaces. Optimize for the differences between all iOS device hardware, ensuring that code is written once to run efficiently on all iOS devices. The Corebluetooth framework uses Bluetooth and peripheral interactions, including scanning to connect Bluetooth devices, saving connection status, disconnecting, acquiring peripheral data or transmitting data to peripherals, and more. The security framework provides management certificates, public and private key Trust policies, Keychain,hash-certified digital signatures, and other safety-related solutions.

Core services layer, the system service tier provides the basic system services required by the application. such as accounts account framework, advertising framework, data storage framework, network connectivity framework, geo-location framework, motion framework and so on. The core of these services is the Corefoundation and foundation framework, which defines the types of data used by all applications. Corefoundation is a C-based set of interfaces, and the foundation is the OC package for corefoundation.

Media layer, which provides audio-visual technology in the application, Coregraphics,coreimage,glkit,opengl Es,coretext,imageio and so on for image-related applications. Sound technology related to the coreaudio,openal,avfoundation, video-related Coremedia,media player framework, audio and video transmission of the airplay framework, etc.

The Cocoa touch layer provides the key technical support for application Foundation and the appearance of the application. such as Notificationcenter's local notification and remote push service, IAD advertising framework, gamekit Game Tool framework, message UI Framework, Picture UI framework, map frame, link watch frame, auto adaptation, etc.

In all of the above frameworks, the most important and most frequently used is the Uikit and foundation framework. The Foundation framework provides a number of basic object classes and data types that make it the foundation for application development, providing the most basic system services for all applications, regardless of interface. The class provided by the UIKIT framework is the underlying UI class library for creating a touch-based user interface, all IOS applications are based on UIKit, which provides an application's infrastructure for building user interfaces, drawing, processing and user interaction events, responding to gestures, and so on. Uikit organizes applications through the controller object to manage the content displayed on the screen, and to jump through the interface. There is no iOS app without the Uikit framework.

Original address: http://www.jianshu.com/p/0f2ab4b09e8b

iOS System Framework Overview

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.