字符常量加密

  1. 常量加密有什么用?

    可以隐藏某些功能的关键字,避免被扫描到。

  2. 为什么打开这个功能后有某些源码文件编译不过?

    这种情况下,请把该文件的相对路径加到混淆配置【排除文件-膨胀】里面(可以通过右键 膨胀-排除 解决)

  3. 哪些情况下会引起编译错误?

    在 .m/.mm/.cpp/.c 文件中,函数定义中的 static NSString* a = @"aaa"; 这种形式的定义,都会引起编译错误,要解决的方法就是找到相应的源码文件,去掉(I)标识就可以(可以通过右键 膨胀-排除 解决) 而在.swift文件中,当string和NSString的类型推断引起了编译错误时,也是一样会导致编译错误,需要去掉(I)标识

  4. 会有常量加密不充分的情况么?

    会有这种情况,比如在 ObjC/cpp/c 里面在宏定义中的字符串常量,就不会被加密,或者有 static NSString* a = "MyStr"; 这种形式的定义,也不会被加密,这种情况下,要么修改源码,要么去掉源码的(I)标识