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. 【cycript|cycript & 命令权限】如果没有找不到方法(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