iOS Although the security system is relatively high , But there are many ways to crack , such as class-dump-z,Clutch,Hopper
Disassembler etc. . We can also use some methods , Increase the difficulty of being cracked .

<> One , prevent tweak Attachment

stay Xcode Internal engineering configuration build setting In the options
-Wl,-sectcreate,__RESTRICT,__restrict,/dev/null
Add to Other Linker Flags

<> Two , Check whether there is a target on the jailbreak device tweak

In Engineering main Function Riga judgment , read /Library/MobileSubstrate/DynamicLibraries All of them plist
Content of the document , View the plist Is there any project bundle id, If so , Maybe someone wants to use it tweak analysis app, You can give way directly App Crash.

<> Three , Prevention http Grab a bag

take NSURLSessionConfiguration Of connectionProxyDictionary
Dictionary set to empty , If used AFNetWorking How to use
// inherit AFHTTPSessionManager, Rewrite the following methods -
(instancetype)initWithServerHost:(PDLServerHost*)serverHost { #ifdef DEBUG //
debug Version of the package is still able to capture the package self = [super initWithBaseURL:serverHost.baseURL]; #else //
Due to the use of ephemeralSessionConfiguration session Request initiated without cookie And use cache, etc
NSURLSessionConfiguration *conf = [NSURLSessionConfiguration
ephemeralSessionConfiguration]; conf.connectionProxyDictionary = @{}; self =
[super initWithBaseURL:serverHost.baseURL sessionConfiguration:conf]; #endif
return self; }
<> Four , Code obfuscation

1. Add useless code
2. For class names , Methods to confuse <https://blog.csdn.net/yiyaaixuexi/article/details/29201699>

<> Five , Other methods

1. Use static inline C function
2. use block
3. use Swift development
These methods can also improve the difficulty of being cracked .