iOS private APIs and explanations of APIs and SDKs

Source: Internet
Author: User

The iOS API is divided into four types:

Published API (Public API) (or documented API )

There are also two categories: privateAPI:Private APIand non-publicAPI:Unpublished API (orundocumented API).

PrivateAPIit means putting it inPrivateframeworksin the frameworkAPI, undisclosedAPIit means that although placed inFrameworksframework, but not in Apple's official documentation for instructions, code, etc.API.

According to Apple's statement, the undisclosedAPIIt 's not mature enough, it's probably going to change.API, and when it 's fully formed, it becomes public.API, but there is no commitment to it at this time that the system version may fail after an upgrade. and privateAPIthat Apple definitely can't use.API. Although there is a difference between the two, it is similar to the specific use method.

Private APIs are subject to audit pass-through but not online, but there are also GoogleVoice appsthat are audited using private APIs, so the details of a specific audit are unclear.

Example one:

Get a native number using a private api--coretelephony

1) Import Coretelephony This private framework
2) Add the Scarlet Letter part to XXX.M:

#import "xxx.h"

extern nsstring *ctsettingcopymyphonenumb er ();


@implementation
+ (NSString *) mynumber{
Return ctsettingcopymyphonenumb er ();
}
@end

3) Call NSLog (@ "mynumber=%@", [xxx MyNumber]) Elsewhere, which is the native number

In addition, the unique identification code of the machine and other information can be used [Uidevice Currentdevice] Uniqueidentifier,name and other properties to obtain




Explanation of the API

API (application programming Interface, application programming Interface" is a pre-defined function application with developers based on a software or hardware to access a set of routines


Explanation of the SDK

Software Development Kit (Foreign language initials: SDK, foreign language full name: Software Development Kit)It is generally a collection of development tools that are used by software engineers to build applications for specific software packages, software frameworks, hardware platforms, operating systems, and so on. A Software development toolkit broadly refers to a collection of related documents, examples, and tools that assist in the development of a class of software. A software development Kit is a collection of development tools used by software engineers to create applications for specific software packages, software frameworks, hardware platforms, operating systems, and so on, and the SDK is generally used to develop applications under the Windows platform. It can simply provide an application interface for a programming language APISome of the files, but may also include complex hardware that communicates with some kind of embedded system. Generic tools include utilities for debugging and other purposes. The SDK also often includes sample code, supportive technical annotations, or other supporting documentation that clarifies doubts for basic reference. To encourage developers to use their systems or languages, many SDKs are provided free of charge. Software engineers often get software development kits from Target system developers, or they can be downloaded directly from the Internet and sometimes used as a marketing tool. For example, a marketing company would provide a component SDK free of charge to encourage people to use it, which would attract more people to buy its artifacts for free programming. The SDK may be accompanied by a license that makes it impossible to develop software under incompatible licenses. For example, a proprietary SDK provided by a product vendor may conflict with free software development. The GPL makes the SDK nearly incompatible with proprietary software development. The SDK under LGPL does not have this problem.



iOS private APIs and explanations of APIs and SDKs

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.