越狱第二步:在通常的app应用中使用私有的头文件

1.使用公有库中未暴露的头文件功能:
  确定好越狱功能所需的头文件并从先前导出的Headers文件夹中拷贝到对应公有framework中的Headers文件夹中,重启下xcode,在工程中正常Bulid Phases中连入所需的framework库,然后在代码中import进来就OK了
2.使用私有库的头文件:
   xcode安装目录中,私有framework下是没有Headers文件夹的,自己创建一个,确定好越狱功能所需的头文件并从先前导出的Headers文件夹中拷贝到对应私有framework中的Headers文件夹中,并将整个私有framework拷贝至公有framework目录下(即/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks),重启下xcode,在工程中正常Bulid Phases中连入所需的framework库,然后在代码中import进来就OK了


注意:class-dump出来的头文件有些并不能直接使用,需要稍做修改:
a.把#import "NSObject.h"改成#import 
b.@class CTPhoneNumber, NSArray, NSDate, NSDictionary, NSMutableArray, NSMutableDictionary, NSObject, NSString;改成

@class NSDictionary, NSDate, NSString, NSMutableDictionary, NSArray, CTPhoneNumber, NSMutableArray;

@protocol CTMessageAddress, NSCopying;

c.NSObject> 改成NSObject,NSCopying>

d.Remove the "" in the first part of the interface. So you're just left with "id _delegate;"

e.有些不确定的类型就直接改为id

原文地址:https://www.cnblogs.com/cnsec/p/11515796.html