`

iPhone私有API使用学习笔记

 
阅读更多

一.基本知识


iPhone中的API除了公开的API:Published API外(或者叫文档中记录的API:Documented API),还有两类API:私有API:Private API和未公开的API:UnPublished API(或者叫文档中未记录的API:Undocumented API)。其中私有API是指放在PrivateFrameworks框架中的API,未公开的API是指虽然放在Frameworks框架中,但是却没有在苹果的官方文档中有使用说明、代码介绍等记录的API。后两种API是有区别的,按苹果的说法,未公开的API是还不够成熟,可能还会变动的API,等完全成型了后会变成公开的API,但是目前不对其提供承诺,就是系统版本升级后可能会失效。而私有API是苹果明确不能使用的API。虽然两者有所区别,但是在具体使用方法上是类似的。


二.具体介绍


1.导出生成私有API的头文件声明


使用私有或未公开的API,首先需要导出其对应的头文件,在头文件里有相关函数的声明。


工具:


class-dump


class-dump可以从编译后的Objective-C的二进制文件中提取对应的数据结构及函数等声明。


使用方法:


为了能在任意目录下使用class-dump命令,首先建议把class-dump文件拷贝到/user/local/bin/目录下,然后就可以在任意目录下执行以下命令:


class-dump /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/UIKit.framework/ >UIKit.h


以上命令就可以把iPhoneSimulator3.0.Sdk中Frameworks框架里的UIKit.Framework框架的数据结构及函数声明等给提取出来,并且放在UIKit.h这个文件中,之后你就可以在这个头文件中找你需要API的声明及其使用方式。以同样的方法,就可以挨个导出你需要那个框架中的API声明。


也可以用ericasadun写的DumpFrameworks.pl(文件中有部分注释说明)这个文件把私有框架下的API头文件全部提取出来。使用方法也是首先把class-dump文件拷贝到/user/local/bin/目录下,然后在任意一个目录下执行./DumpFrameworks.pl,然后就会在你的家目录下产生一个Headers文件夹,里面罗列了私有框架下的API头文件。


2.使用私有API


导出了私有API的头文件声明后,使用方法就比较简单了,首先在你的工程中包含进头文件,然后导入对应的框架,之后就可以类似提供了静态库的方式在我们的代码中使用这些私有API函数。


 


三.附加说明


iPhone编程中一些非常精致好玩的API都包含在私有API或未公开的API中,虽然我们可以以这种方式使用这些非常好的API,但是这样做是存在一定风险的,首先为公开的API有变更的可能,这样在每个固件版本中,你的代码都有可能中断。同时,最大的问题是使用了私有API的程序是不能放在App Store上销售的。因此如果我们只是为了好玩体验iPhone中这些精彩的API,那没关系。如果是为了做出程序放在App Store上销售的,那就不要动私有API的主意了。

分享到:
评论

相关推荐

    ios的私有的api

    - "iphone私有架构APi(1)"和"iphone私有架构APi(2)"可能是两个文档或代码示例,它们可能包含了具体的私有API使用方法或分析。 - 例如,它们可能涉及到解锁屏幕、获取用户位置信息、读取系统日志等私有API的...

    IOS私有API头文件导出

    在iOS开发中,私有API是指苹果未公开的接口,这些API不在官方的SDK文档中,因此使用它们可能会导致应用被App Store拒绝。然而,有时开发者出于特定需求可能需要研究和使用私有API。本篇文章将详细介绍如何在Mac OS ...

    IOS 私有API

    因为私有API的使用可能会导致应用程序被拒绝,或者在未来的系统更新中出现兼容性问题。 iOS私有API的使用主要有以下几个方面: 1. **增强功能**:私有API可能提供一些官方API没有的功能,如更深入的硬件访问权限、...

    iphone 系统api录音功能实现(支持ios7)

    在iOS平台上,开发人员可以利用Apple提供的系统API来实现iPhone的录音功能。本文将深入探讨如何在iOS 7及以上版本中使用系统API实现这一功能,包括必要的知识背景、步骤和关键代码片段。 首先,我们需要了解iOS中的...

    cocos2d_iPhone_API.chm

    cocos2d for iPhone API,用于快速开发iPhone 2D程序。 该文档根据下列内容编译 cocos2d for iPhone API reference ver.0.7.1 URL: http://www.sapusmedia.com/cocos2d-iphone-api-doc/ cocos2d程序效果图: ...

    cocos2d iPhone API

    三、API使用 学习cocos2d iPhone API,开发者首先需要了解基本的类和对象,如CCDirector(场景管理)、CCScene(场景)、 CCSprite(精灵)等。然后,通过实例化这些对象并设置属性,可以创建和控制游戏中的元素。...

    iPhone开发基础教程_学习笔记

    本教程主要聚焦于iPhone开发的基础知识,包括Object-C语言、界面设计和UIViewController的使用。 Object-C是iOS开发的主要编程语言,它基于C语言并添加了Smalltalk的面向对象特性。对于初学者来说,《Learn Object-...

    Iphone获取应用所占cpu的使用率以及iphone手机cpu的使用率

    对于获取手机级别的CPU使用率,可以通过iOS的私有框架“libtop”来实现,但这需要使用到私有API,可能会违反Apple的App Store审核规则。一个安全且合规的方法是使用苹果提供的“Unified Logging System”,它允许...

    基于Xcode4.3的iPhone编程学习笔记

    ### 基于Xcode4.3的iPhone编程学习笔记 #### 第一篇:HelloWorld编程 **概述** 本文档旨在介绍如何通过Xcode 4.3开发环境来进行iPhone应用程序的开发,特别是针对初学者的HelloWorld应用。文档将详细阐述从创建...

    iPhone截屏功能 ,老版本不确定好不好使

    如果开发者想要学习如何在自己的应用中加入截屏功能,他们可以研究这些文件,但必须谨慎对待任何可能涉及私有API的部分,以避免在提交App Store审核时遇到问题。 总的来说,了解和正确使用iPhone的截屏功能是iOS...

    ipad与iphone比较新API 电子书

    在苹果的iOS操作系统中,iPad和iPhone作为两个主要的设备平台,虽然共享许多相同的API(应用程序接口),但针对各自硬件特性的优化使得它们之间存在一些差异。本电子书"ipad与iphone比较新API"专注于讲解iPad引入的...

    基于Xcode4.3的iPhone编程学习笔记 第一篇

    ### 基于Xcode4.3的iPhone编程学习笔记:HelloWorld #### 第一篇:HelloWorld编程 本文档旨在帮助初学者理解如何通过Xcode 4.3环境搭建简单的iOS应用程序,具体以HelloWorld应用为例,从创建工程到运行程序进行...

    iphone UIFont API翻译

    结合提供的`UIFont.docx`和`UIImageViewController.docx`文档,你将获得更详细的信息,包括各个方法的具体使用、参数说明以及示例代码,这些文档将有助于你在实际项目中灵活运用这两个API,提升用户体验。...

    iphone4中文使用手册

    iphone4中文使用手册

    iphone应用百度地图API开始文档及实例

    本文将详细介绍如何使用iPhone应用中的百度地图API,并结合提供的示例进行学习。首先,我们来看一下标题“iphone应用百度地图API开始文档及实例”,这意味着我们将探讨如何在iOS平台上集成并操作百度地图API,这通常...

    Popover API for iPhone

    使用Popover API for iPhone,开发者可以通过以下步骤集成Popover功能: 1. **导入库**:首先,你需要将`WEPopover`源代码添加到你的Xcode项目中,确保所有依赖项都已正确配置。 2. **创建Popover**:创建一个`...

    appium中文API及笔记(python版)

    desired_caps['deviceName'] = '设备名称' # 比如 'iPhone X' desired_caps['appPackage'] = 'com.example.app' # 要测试的应用包名 desired_caps['appActivity'] = '.MainActivity' # 应用的主活动 driver = ...

    cocos2D-iPhone最新版API

    在Xcode中使用Cocos2D-iPhone最新版API,你可以方便地查找和理解每个类的功能,查阅其属性和方法,这将极大提升开发效率。例如,你可以查看`CCSprite`类如何初始化和更新,或者`CCAction`类如何创建和执行动画。同时...

    iPhone6_&Plus使用手册中文版

    18. 视频、备忘录、提醒事项:使用这些应用进行视频播放、笔记撰写和提醒管理。 19. 股市、GameCenter、报刊杂志、iTunes Store、App Store、iBooks:这些应用提供了股票信息浏览、游戏中心、电子书阅读、应用和...

    安装api工具

    安装api工具,安装xcode打得api的包到iphone手机

Global site tag (gtag.js) - Google Analytics