[ios/translation] Core Services Layer

Source: Internet
Author: User
Tags gcd new set sqlite database

This article is my own hard translation, please reprint the friend annotated, translated in Z.mjun csdn blog http://blog.csdn.net/Zheng_Paul, thank you.

Translated on October 4, 2015

Core Services Layer

This core service layer contains the application's basic system services. The key to these services is between the core functionality and the core function library, and all of the applications must use these underlying types.

This layer contains individual technologies at the same time, such as local, iCloud, public media, and networking.

High-level features

The next section describes some of the high-level features under the core service layer

  • Point-to-point service (Peer-to-peer services)
    Multipoint connection libraries provide a point-to-point connection over Bluetooth. You can initialize a point-to-point connection and a nearby device for an interactive session.

    Although point-to-point connections are mostly used in games. However, you can use this feature in other types of applications.

  • icloud storage ( icloud Design guide )
    icloud storage lets apps write user documents and data to the local hub. Users can access these from their computer or from an iOS device. So that users ' documents are stored in icloud, users are not required to synchronize. Use other devices to change or view their documents, and to understand the transfer of files. Secure storage of documents to the user's icloud account.

    Even if the user loses the device. The document is also in icloud storage. The
    app can use these two icloud storage feature methods.

    • icloud document storage documents store
      can store documents and data in the user's icloud account
    • icloud key-value data storage Key data store
      can share small data through an interface between apps
    • CloudKit storage
      When you want to create a public share, or manage your own data transfer

    Many apps use icloud documents to share documents with icloud accounts.

    Users are concerned about when a document is shared with the device, or they can see and manage the documents from the share. In contrast, ICloud key-value data users are invisible. However, this is a way to share this small data (10k) through the application interface. Applications should use this feature to store non-critical application data. For example, preferences configuration. Rather than important application data.

  • Object Block (Blocks programming Topics) (Guide)
    Block objects is based on the C language structure and can be used under the C language code and obj-c language code. A block object is essentially a non-named function and data obtained through this method, some in other applications by calling closure or lambda. Blocks has the use of unique, such as callbacks or in one place you need a way to simply combine running code and related data.
    In Ios,blocks is usually used in

    • Similar alternative delegate and delegate methods
    • Similar alternative callback functions
    • Run complete handler for one-time operation
    • Easy to run tasks for all item in and centralized
    • Use with dispatch queues to run asynchronous tasks
  • Data protection (APP Programming Guide for IOS)
    Data protection consents to the use of more advantageous, built-in encrypted user data in some devices.

    When your application specifies a special file that needs to be protected, the system uses encryption to store the file on the hard disk. When the device is locked and your app is even hacked, you won't be able to access the file.

    However, when the user unlocks the device. The application is able to make the decrypted file created to access the file. You can use different levels of data protection.


    Implementing data protection you need to think about how you create and manage the files you want to protect.

    The app must be designed to protect the data when it is created. And when the user locks and unlocks the device, visit the file condition.

  • Support file sharing
    Share file support allows the app to get user data on iTunes9.1 or higher version numbers.

    An app needs to declare support for file sharing and share content under/documents's dictionary. Users can move files that have been shared to itunes into or out of the dictionary. This feature does not allow apps to share files from other apps to the app on the same device. This feature requires pasteboard and a document management object.


    Agree to share files in your app

    • Add uifilesharingenabled key to your app info.plist inside, set this value to Yes
    • Put the files you want to share under the documents of the application
    • When the device is connected to the computer, itunes displays the file share to display on the selected device's performance.
    • Users can add files to the dictionary, or move files to the desktop.

    Apps that support file sharing should have the ability to manage them.

    When the file is added to documents, and the corresponding response is made. Like what. Your app. Some seem to add content through the interface here, you should not let the file list of this folder be presented to the user, but tell them to decide how to use these files.

  • GCD (Guide)
    GCD is a BSD-level technology that enables you to manage running tasks in your application. GCD combines asynchronous compilation mode. is a very convenient and efficient. A pattern of high-level languages for different threads. GCD provides many convenient methods for low-level tasks at the same time, such as reading and writing descriptive narratives of documents. Implement the timer. Monitor signals and handle events.

  • In-app Purchanse
    In-app Purchase provides services for the sale of the specified content in the app. and itunes content into your app.

    These features are implemented using the Storekit library, which provides the ability to use itunes accounts to process transactions. The app controls the entire user experience and the content or service that visualizes the payment presentation.

    For content that can be downloaded. You can host your own content or let the Apple service help you carry it.

  • Sqlite
    The SQLite library provides an efficient embedded database that you can use without the need for an external database service.

    For apps, you can create local databases and manage or log files.

    This library is designed for the general user and has an efficient access and processing capability.
    Visit the SQLite library header file in/usr/include/sqlite3.h. Under the installation path for Xcode.

  • supports XML documentation for LIBXML2
    This library provides the Nsxmlparser class with the ability to process content from XML documents. In addition, the operation of XML data under the LIBXML2 library is also supported.

    This is an open source library. Let you quickly parse or write XML data or convert XML content into HTML.
    The header file of the LIBXML2 library is under/usr/include/libxml2/, under the installation path of Xcode.

Core Service Libraries Core Services Framework

The next step is to introduce the functions under this library and library.

List
  • 5.0 System Users accounts.framework (AC)
  • 2.0 Contacts addressbook.framework(AB)
  • 6.0 Advertising adsupport.framework (AS)
  • 2.0 Network Processing _cfnetwork.framework
    _ (Guide) (CF)
  • 8.0 Cloud Processing _cloudkit.framework
    _ (CK)
  • 3.0 Core Data _coredata.framework
    _ (NS)
  • 2.0 core Function _corefoundation.framework
    _ (NS)
  • 2.0 Core Position _corelocation.framework
    _ (Guide) (CL)
  • 4.0 Core Media _coremedia.framework
    _ (CM)
  • 4.2 Core gesture _coremotion.framework
    _ (CM)
  • 4.2 Core Phone _coretelephony.framework
    _ (CT)
  • 4.0 Calendar Event _eventkit.framework
    _ (EK)
  • 2.0 function _foundation.framework
    _ (NS)
  • 8.0 Health healthkit.framework (HK)
  • 7.0 Javescript javascriptcore.framework(JS)
  • 3.0 Mobile Core Services mobilecoreservices.framework(UT)
  • 7.0多-point connection multipeer Connectivity Framework(MC)
  • 5.0 News newsstandkit.framework(Guide) (NK)
  • 6.0 Passes passkit.framework (Guide) (PK)
  • 4.0 High-speed preview quicklook.framework(QL)
  • 7.0 Safari Services safariservices.framework(SS)
  • 6.0 Social social.framework(SL)
  • 3.0 Payment storekit.framework (Guide) (SK)
  • 2.0 System Configuration systemconfiguration.framework(SC)
  • 8.0 Network webkit.framework (WK)
  • 5.0 System Users accounts.framework
    Provides a single sign-on mode.

    This mode avoids multi-account login. and an optimized login experience. Ability to log in and change user data through this library.

    At the same time. Simplifies management-time licensing issues for your app.

    Using this library is able to use the federated social Framework together.

    (AC)

  • 2.0 Contacts addressbook.framework
    Directly into the user's address book. Assuming your app needs to use Address book information, you can use this library to access and change your address book information. For example, you need to find information about recently added contacts and display information. (AB)

  • 6.0 advertising adsupport.framework
    Provides an access to an identifier for advertising purposes. The framework also provides a flag that infers whether the user has chosen ad tracking. The application needs to be readable before using identifiers to access the questions. and loyal to ad tracking.

    (AS)

  • 2.0 Network Processing _cfnetwork.framework
    _ (Guide)
    A C language-based, object-oriented. Efficient processing of network libraries. This library provides a lot of detail in dealing with the network component heap and easier use of the underlying modules. such as BSD socket. and simplifies the ftp,http service, or resolves DNS host. (CF)

    • Using BSD sockets
    • Create encrypted links when using SLL or TLS
    • Resolve DNS Hosts
    • For HTTP services, verify the HTTP service. HTTPS Services and other work
    • Working with the FTP service
    • Publish, process and browse bonjour services, etc.(Guide)
  • 8.0 Cloud Processing _cloudkit.framework
    _
    Provides a channel from your app to icloud for data transfer. Different from other icloud technologies. Such transmissions are more straightforward. This library is given when the data changes. You can control his ability.

    It can be used to manage all types of data at the same time.
    The app is able to share the store data directly with all users, and this public library is set up to apply bindings. Even if you don't have an icloud account.

    Application developers are able to manage data directly here, and are able to understand the behavior of the user regardless of any changes to the data.

    (CK)

  • 3.0 Core Data _coredata.framework
    _
    is a management data model technology. Model-view-controller applications. This library is intended to make the data model used by the application the highest standard. Instead of defining the data structure, use the graphical tools inside Xcode to construct a pattern representation of the pattern.

    When the application is running, the creation, management, and visualization of the data schema in the instance is completed through this library.

    (NS)

    • Object data is stored in a high-performance SQLite database
    • Results of a Nsfetchedresultscontroller class management TableView
    • Ability to manage redo/restore above basic text churn capability
    • Supports validation of property values
    • Supports inheritance and ensures consistent relationships between classes
    • Support for forming groups in memory, filtering data and organizing data capabilities
      Suppose you are going to be ready to develop a new application or plan to upgrade an already existing application.

      You should consider using this library. For example, using this library in iOS apps, see Core Data Tutorial for iOS

  • 2.0 core Functions _corefoundation.framework
    _
    Some columns are based on the C language interface. Provides the most basic data processing. and iOS service features.

    (CF)

    • collection data types (arrays, groups, and others)
    • Bundles
    • string Management
    • time date and temporal administration
    • raw data fast management
    • network connections, network flow Management
    • Multi-threading, looping operations
    • ports port and Socket connections
      This library has a very large relationship with the Foundation library. Provides the same basic features as OBJ-C-based interfaces. When you need to mix class functions or types. You can take advantage of the "toll-free bridging" that exists in two different classes, this "toll-free bridging" refers to the use of this library and library type Exchange and arbitrary library in some methods.

      This is a lot of data types that can be used, including collections and string data types.

      The class and type descriptions for each of the framework state whether a object is toll-free bridged and, if so, what OB Ject it is connected to.

  • 2.0 Core Position _corelocation.framework
    _ (Guide)
    This library provides location and header information for your app. For location information, this library uses Gps,cell, or WiFi remote control. To find the actual dimensions and precision of the user. You can use this technique in your application to provide the user with coordinate information. For example, you might have a business that wants to get a restaurant near the user. Shops or factories. or the right position for him at the moment. (CL)

    • Access compass information in a gyroscope-equipped iOS device
    • Get monitoring area information on a map or in a Bluetooth message
    • Use low-energy local Search
    • Used in conjunction with Mapkit to improve coordinate quality in a given situation, for example. Navigation.
  • 4.0 Core Media _coremedia.framework
    _
    Provides the underlying image type for the Avfoundation library. Many applications need to use this library, but he is only used by a very small number of developers for the precise creation or presentation of audio and video content. (CM)

  • 4.2 Core gesture _coremotion.framework
    _
    Provides a set of interface based on gesture data for a device. The library supports access to raw and processed accelerator data using a new set of block-based interfaces.

    With a gyroscope device, you can detect the original gyroscope data and the game based on gyroscope data, or other applications that use gestures, or as a way to improve the user experience. With exercise statistics, you can access these data and use the data for health care activities. (CM)

  • 4.2 Core Phone _coretelephony.framework
    _
    Provides a phone-based information interface for devices that have a phone call function.

    The app uses this library to get phone services about the user. Suitable for some phone applications. For example, VoIP (Internet telephony) applications, and the ability to accept all phone notifications.

    (CT)

  • 4.0 Calendar Event _eventkit.framework
    _
    Contains the most general audio and video that can be manipulated. Do not use this framework directly.

    Provides an interface to access the calendar on the user's device. (EK)

    • Get events that already exist, and get event reminders from the user's calendar
    • Adding events to the user's calendar
    • The user can create a reminder event. and displays the alarm on the app for the reminder event + Configure calendar events. Contains this is the content of the alarm clock
      Important: Ask the user's calendar, and the data need to get the user's consent ability to use.

      The app must handle the user's no-access questions. The application is also inspired to provide info.plist on the keys descriptive narrative. Ask for requests.

  • 2.0 function _foundation.framework
    _
    In the Core Foundation library, this library provides a number of features based on the Obj-c base class. Can find descriptive narratives in the core Foundation library. (NS)

    • Collection data types (arrays, groups, and others)
    • Bundles
    • Strings String Management
    • Date and time management
    • Fast management of raw data
    • Network connectivity, network flow Management
    • Multi-threaded, cyclic operations
    • Ports port and Socket connections
    • Internet
    • Regular match expression
    • Caching mechanism
  • 8.0 Health healthkit.framework
    A brand new library that manages user and health-related information. In diffusion-based applications, it is possible to track healthy devices, and health information. It's very difficult for users to know how they do it.

    But. This library allows the app to share information about health care. The information is from an iOS device, or manually by the user. User health information is kept in a safe and centralized location. Users can see all their health information in health applications.
    When your app supports this library. You will be able to access user-related health information. Get some user information. And there is no need to track health care equipment.

    The sharing of information is determined by the user. When your app is able to get this data, you can register a notification to get information changes and get information time to fine-regulate him.

    Like what. You can request the user's blood pressure in the app and set up a notification. Warning about the high and low blood pressure.

    (HK)

  • 7.0 Javescript javascriptcore.framework
    Many Javescript standard classes based on OBJ-C packaging are provided. Use this library to test Javescript code and parse JSON data.

    (JS)

  • 3.0 Mobile Core Services mobilecoreservices.framework
    Defines the underlying type for the UTIs standard definition (UT)

  • 7.0多-point connection multipeerconnectivity.framework
    Devices that provide search attachments and interact directly with devices that are not connected over the network. This library makes it easy to create multi-point sessions. Supports reliable, sequential data transmission and real-time transmission. Under this library, you can interact and seamlessly exchange data with nearby devices.
    This library provides the interface for scanning and managing the network services.

    The app is able to integrate Mcbrowserviewcontroller into the interface to display a list of devices that allow the user to choose.

    Alternatively, you can use the Mcnearbyservicebrowser class to view and manage devices. (MC)

  • 5.0 News newsstandkit.framework(Guide)
    Provide a center for reading magazines and news.

    The publisher is able to create apps through this library to publish magazines, news to Newsstand. Newsstand supports background downloads. After you start the download, the system controls the download operation and notifies the user when it is finished.

    (NK)

  • 6.0 Passes passkit.framework (Guide)
    The Passbook app provides a place for users to buy coupons, airline tickets, other tickets and business discount cards. Replace the previous offline purchase method. Users can now purchase them under iOS devices and use them as they once did. This library provides the Obj-c interface to integrate items into your application. You can use this app to combine network interfaces and file formats to create and manage your company offers.
    Create a passes through your company's server. And through the user's device (via Email,safairi. and applications) to pay the fee. The pass itself is a very special file format. It is encrypted before payment is made. The ID of this file is related to information about the service so that users can know what these services are doing. It can have a bar code at the same time, or other information so that you can use him to verify or return and use. (PK)

  • 4.0 High-speed preview quicklook.framework
    , in the application, provide a direct interface preview file content.

    This library is prepared for working files that download files and location sources from the network.

    After obtaining the files, you use the Viewcontroller provided by the library to directly display the contents of these files. (QL)

  • 7.0 Safari Services safariservices.framework
    Add URLs to the user's Safari reading list for the program.

    (SS)

  • 6.0 Social social.framework
    Provides a simple interface to access users ' social media accounts.

    This library replaces the Twitter library, and adds support for other social accounts, including Facebook. Sina Micro-Blog. and others.

    The app uses this library to change the state. and account avatar. This library works with the account library to provide users with a simple login mode and to determine the authentication through user accounts.

    (SL)

  • 3.0 Payment storekit.framework (Guide)
    Supports payment content and services for iOS apps such as In-app Purchase. For example, you can use this feature to allow users to unlock additional content in the app. Or suppose you're a game developer. You can use it to provide additional game levels.

    The same.

    This library manages transactions by processing payment requests and obtaining information about purchases through the user's account with the itunes store. (SK)

  • 2.0 System Configuration systemconfiguration.framework
    Provides a accessibility interface. You can use it to determine the network settings for your device.

    You can use this library to determine whether WiFi settings or cellular networks can be used to access specific servers. (SC)

  • 8.0 Network webkit.framework
    ([Core Services layer][2])
    Let the app display HTML content. In addition to displaying HTML, you can provide major changes, with the ability to replace text, change document content and properties, including CSS. WebKit also supports the creation and modification of content under DOM-level HTML documents at the same time. For example, you can use a single page of summary link lists. Change them and replace them with the priority shown. Within the interface of a network. (WK)

[ios/translation] Core Services Layer

Related Article

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.