1.
%new 新的方法
%orig 调用原来的方法
self.view 如果识别不了 用[self view]
2.图片资源
工程中:layout->[图片] layout就是手机上的Device
建议放到layout->Library->Caches中
3.多文件开发
在Makefile文件中 eg :tweak_wechat_FILES= src/Tweak.xm src/Model/Person.m(也可以用*.m)
导入的时候也需要能找到文件
4.
如果没有找不到方法(eg:test)就声明一下
@interface Class
- (void)test;
@end
[model isKindOfClass:%c(BZModel)] %c等价于NSClassFromString(@"BZModel")
5.
%ctor加载动态库的时候调用,做初始化操作放在这里 %dtor程序杀死之前调用
6.手机命令行工具 (file [可执行文件]
查看文件类型)
其实就是一个可执行文件,跟app差不多
//argc : 参数个数
//argv : 存放参数,参数第0个是当前可执行文件的路径
int main(int argc, char * argv[]) {
@autoreleasepool {
}
}
7.权限:entitlements(entitlements==plist==xml)
签名-给可执行文件签上一定的权限,让它可以访问其他app的可执行文件
ldid -e [文件] > [文件.entitlements]
导出文件权限
ldid -S[文件.entitlements] [文件]
更改权限给文件
通过看别人的权限,给自己的app添加权限(eg : SpringBoard)
签名可以用ldid或者codesign
SpringBoard权限位置 System>Library>CoreServices>SpringBoard.app