wyp*_*wyp 7 iphone-privateapi ios ios5
我不想将此应用程序提交给AppStore.我已经尝试了很多次,但遇到了很多问题:(
我使用class-dump来获取UIKit.framework的所有头文件.在由类转储生成的UIApplication.h中,我看到了我想要使用的方法---- launchApplicationWithIdentifier.
然后我把UIApplication.h放在我的项目中并导入它.编译,我得到了很多"重新定义枚举器...."错误,因为在我之前使用的UIKit.framework中,还有另一个UIApplication.h.但是这个文件没有startApplicationWithIdentifier方法.
如果我删除以前的UIKit.framework并导入class-dump生成的文件夹.然后它看起来像一个框架,但如果我展开它,它是空的.
然后我想让所有生成的头文件成为一个框架文件,取代之前的UIKit.framework.但我不知道怎么做.我们可以看到,在系统框架目录下,有一个与框架同名的文件,并有一个"执行的shell脚本"图标.我该怎么做这个文件?
我真的很困惑.有人可以帮个忙吗?谢谢.
只需在要使用它的类实现上方的类别接口中指定私有方法,如下所示:
@interface UIApplication (Private)
- (BOOL)launchApplicationWithIdentifier:(id)identifier suspended:(BOOL)suspended;
@end
Run Code Online (Sandbox Code Playgroud)
不要导入整个类转储文件并与原始UIKit框架链接.
使用私有API时必须非常小心.这些方法可以在未来的iOS版本中更改或删除!
检查方法是否respondsToSelector:在运行时确实存在,并为不存在的情况做好准备.
我在我自己的应用程序中使用了一个秘密的MapKit功能,我知道私有方法只存在于iOS 5中.所以我的应用程序仍适用于所有iOS版本,但此功能仅适用于iOS 5(Apple已删除或在iOS 6中更改) beta 1).
| 归档时间: |
|
| 查看次数: |
4800 次 |
| 最近记录: |