4.3分为两种,一种是人审 4.3 ,这种得靠你自己改了,改界面,改层级,没有别的办法。
还有一个就是机审 4.3,也就是目前的各种卡审,什么 51分 52分 55分卡审。
下面我介绍下我这边解决 4.3的办法。
我这边用到了两个工具,一个是垃圾代码生成器,另一个是代码混淆的代码,包括修改工程名,加垃圾代码,去除注释,修改方法名,修改类名。别急,文章最后会有这两个工具的链接。
显示垃圾代码生成器
很简单,在main函数里配置下参数就可以。你也可以根据自己的需求,来改下面的代码。我一般都会生成600个文件然后拖到项目中来。不要担心不引用就打不进ipa包,可以打进去的
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
//
//输出路径
NSString *outDirectory = @"你的输出文件的地址";
// NSString *className = @"ClassName";
int count = 100;
while (count > 1) {
NSString *className = getRandomClassName(13);//随机字符串
generateSpamCodeFile(outDirectory,className);
count--;
}
}
return 0;
}
代码混淆器 参数说明
image.png
### 参数说明
* *(必填)* **源码文件夹绝对路径**(如:`/Users/imac/Desktop/App`)
* **-modifyProjectName [原名称]>[新名称]** 修改工程名。程序会修改`原名称-Swift.h`、`Podfile`、`原名称-Bridging-Header.h`、`源码文件夹绝对路径`、`原名称.xcodeproj`和`原名称.xcworkspace`的名称和内容。*`Podfile`被修改后需要手动`pod install`*
* **-modifyClassNamePrefix [工程文件 xcodeproj 绝对路径] [原前缀]>[新前缀]** 修改源代码类名前缀。程序会扫描`源码文件夹绝对路径`下的 .h .swift 文件,修改文件名,修改使用该类名的代码,修改`工程文件`中的文件名。文件名有`原前缀`的会修改成`新前缀`,如:`原前缀ViewController`变成`新前缀ViewController`;没有`原前缀`的会增加`新前缀`,如:`ViewController`变成`新前缀ViewController`。
* **-spamCodeOut [垃圾代码文件输出目录] [垃圾代码方法增加的参数名]** 生成垃圾代码。程序会扫描`源码文件夹绝对路径`下的 .m .swift 文件中的类和方法,并生成`category`和`extension`文件,文件中的方法是在代码原方法的基础上增加`垃圾代码方法增加的参数名`参数。如:`-spamCodeOut /dir AppLog`,`- (void)setupKeys {}`>`- (void)setupKeysAppLog:(NSString *)appLog {}`,`- (void)foo:(NSString *)str {}`>`- (void)foo:(NSString *)str appLog:(NSString *)appLog {}`
* **-ignoreDirNames [忽略文件夹名称字符串]** 忽略这些文件夹,对`-modifyClassNamePrefix`和`-spamCodeOut`参数有效。目前只会忽略`源码文件夹绝对路径`下一级的这些目录。如:`/p/s -ignoreDirNames categorys`,那么`/p/s/categorys`会被忽略,但`/p/s/viewControllers/categorys`不会忽略。
* **-handleXcassets** 修改`xxx.xcassets`文件夹中的 png 资源文件名,同时也`Contents.json`文件中的关联名称,不会影响代码中使用图片。
* **-deleteComments** 删除工程目录下 .h .m .swift 文件中的注释和空行。
另外修改图片 hash 值的方法
使用 [ImageMagick](http://www.imagemagick.org/) 对 png 图片做轻量压缩,及不损失图片质量,又可改变图片文件 hash 值。方法:
1. 安装 ImageMagick,`brew install imagemagick`
2. 压缩工程目录下所有 png 文件,`find . -iname "*.png" -exec echo {} \; -exec convert {} {} \;`
网友评论