strip功能
代码Strip可以把二进制文件中的symbol剥离出来,防止代码被轻易的逆向工程,并且可以大幅度减少二进制文件的体积,对控制安装包大小很有好处。
开启strip只须下面几步
- 
编译选项中搜索Strip
 - 
Strip Linked Product = Yes
 - 
Deployment Postprocessing = YES
 
阻止GDB调试
#import <dlfcn.h>  
#import <sys/types.h>
typedef int (*ptrace_ptr_t)(int _request, pid_t _pid, caddr_t _addr, int _data);  
#if !defined(PT_DENY_ATTACH)  
#define PT_DENY_ATTACH 31  
#endif  // !defined(PT_DENY_ATTACH)
void disable_gdb() {  
    void* handle = dlopen(0, RTLD_GLOBAL | RTLD_NOW);  
    ptrace_ptr_t ptrace_ptr = dlsym(handle, "ptrace");  
    ptrace_ptr(PT_DENY_ATTACH, 0, 0, 0);  
    dlclose(handle);  
}
int main(int argc, charchar *argv[])  
{  
    #ifndef DEBUG  
        disable_gdb();  
    #endif  
    @autoreleasepool {  
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([WQMainPageAppDelegate class]));  
    }  
}