一.基本知识
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的主意了。
|
相关推荐
- "iphone私有架构APi(1)"和"iphone私有架构APi(2)"可能是两个文档或代码示例,它们可能包含了具体的私有API使用方法或分析。 - 例如,它们可能涉及到解锁屏幕、获取用户位置信息、读取系统日志等私有API的...
在iOS开发中,私有API是指苹果未公开的接口,这些API不在官方的SDK文档中,因此使用它们可能会导致应用被App Store拒绝。然而,有时开发者出于特定需求可能需要研究和使用私有API。本篇文章将详细介绍如何在Mac OS ...
因为私有API的使用可能会导致应用程序被拒绝,或者在未来的系统更新中出现兼容性问题。 iOS私有API的使用主要有以下几个方面: 1. **增强功能**:私有API可能提供一些官方API没有的功能,如更深入的硬件访问权限、...
在iOS平台上,开发人员可以利用Apple提供的系统API来实现iPhone的录音功能。本文将深入探讨如何在iOS 7及以上版本中使用系统API实现这一功能,包括必要的知识背景、步骤和关键代码片段。 首先,我们需要了解iOS中的...
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程序效果图: ...
三、API使用 学习cocos2d iPhone API,开发者首先需要了解基本的类和对象,如CCDirector(场景管理)、CCScene(场景)、 CCSprite(精灵)等。然后,通过实例化这些对象并设置属性,可以创建和控制游戏中的元素。...
本教程主要聚焦于iPhone开发的基础知识,包括Object-C语言、界面设计和UIViewController的使用。 Object-C是iOS开发的主要编程语言,它基于C语言并添加了Smalltalk的面向对象特性。对于初学者来说,《Learn Object-...
### 基于Xcode4.3的iPhone编程学习笔记 #### 第一篇:HelloWorld编程 **概述** 本文档旨在介绍如何通过Xcode 4.3开发环境来进行iPhone应用程序的开发,特别是针对初学者的HelloWorld应用。文档将详细阐述从创建...
如果开发者想要学习如何在自己的应用中加入截屏功能,他们可以研究这些文件,但必须谨慎对待任何可能涉及私有API的部分,以避免在提交App Store审核时遇到问题。 总的来说,了解和正确使用iPhone的截屏功能是iOS...
在苹果的iOS操作系统中,iPad和iPhone作为两个主要的设备平台,虽然共享许多相同的API(应用程序接口),但针对各自硬件特性的优化使得它们之间存在一些差异。本电子书"ipad与iphone比较新API"专注于讲解iPad引入的...
对于获取手机级别的CPU使用率,可以通过iOS的私有框架“libtop”来实现,但这需要使用到私有API,可能会违反Apple的App Store审核规则。一个安全且合规的方法是使用苹果提供的“Unified Logging System”,它允许...
### 基于Xcode4.3的iPhone编程学习笔记:HelloWorld #### 第一篇:HelloWorld编程 本文档旨在帮助初学者理解如何通过Xcode 4.3环境搭建简单的iOS应用程序,具体以HelloWorld应用为例,从创建工程到运行程序进行...
结合提供的`UIFont.docx`和`UIImageViewController.docx`文档,你将获得更详细的信息,包括各个方法的具体使用、参数说明以及示例代码,这些文档将有助于你在实际项目中灵活运用这两个API,提升用户体验。...
本文将详细介绍如何使用iPhone应用中的百度地图API,并结合提供的示例进行学习。首先,我们来看一下标题“iphone应用百度地图API开始文档及实例”,这意味着我们将探讨如何在iOS平台上集成并操作百度地图API,这通常...
使用Popover API for iPhone,开发者可以通过以下步骤集成Popover功能: 1. **导入库**:首先,你需要将`WEPopover`源代码添加到你的Xcode项目中,确保所有依赖项都已正确配置。 2. **创建Popover**:创建一个`...
desired_caps['deviceName'] = '设备名称' # 比如 'iPhone X' desired_caps['appPackage'] = 'com.example.app' # 要测试的应用包名 desired_caps['appActivity'] = '.MainActivity' # 应用的主活动 driver = ...
在Xcode中使用Cocos2D-iPhone最新版API,你可以方便地查找和理解每个类的功能,查阅其属性和方法,这将极大提升开发效率。例如,你可以查看`CCSprite`类如何初始化和更新,或者`CCAction`类如何创建和执行动画。同时...
18. 视频、备忘录、提醒事项:使用这些应用进行视频播放、笔记撰写和提醒管理。 19. 股市、GameCenter、报刊杂志、iTunes Store、App Store、iBooks:这些应用提供了股票信息浏览、游戏中心、电子书阅读、应用和...
安装api工具,安装xcode打得api的包到iphone手机