如何在iOS中加载新生成的私有API头?

sna*_*ggs 6 iphone-privateapi ios

我在iOS中是虚拟的,特别是在私有API中.

我有测试应用程序,现在我需要使用私有API(此应用程序不适用于App Store).

我从iOS-Runtime-Headers下载了生成的标题,下一步是什么?

/System/Library/我有包含Frameworks,... 的库列表下PrivateFrameworks.

我是否需要将原始框架替换为我复制的框架iOS-Runtime-Headers

因为我有其他Public API只使用的应用程序,我不想破坏它们.

从发布的链接,他们告诉验证库,例如:

NSBundle *b = [NSBundle 
        bundleWithPath:@"/System/Library/PrivateFrameworks/GAIA.framework"];
BOOL success = [b load];
Run Code Online (Sandbox Code Playgroud)

但这里的路径指向原始路径.

或者我想念一些东西,

谢谢

Vic*_*nin 6

首先,不要替换Apple提供的任何标题.

一般来说,它有以下两种方式之一:

1)您可以将其中一些标题复制到项目中,只需包含这些文件的方式与包含任何其他标题的方式相同

#import "SomeHeader.h"
Run Code Online (Sandbox Code Playgroud)

2)有时候你必须对它们进行消毒(编辑它们).通常,这些标题中包含类似的内容:

#import "NSObject.h"
Run Code Online (Sandbox Code Playgroud)

并且compliller将无法找到它,因为NSObject是内置类.所以,你需要删除它.

3)如果您只需要几种方法,那么Tuukka Nori解决方案是正确的.

除此之外,您还需要(静态或动态)链接到适当的私有框架(仅包括标头是不够的).