如何避免某些对象或成员被混淆

当前教程是为了让你方便的排除某些对象或者成员被改名的问题

一. 按文件级别排除

一般来说假如你对这工程不熟悉,就按文件级别排除就行了,工具一般有3个标识.C(混淆), R(改名)、I(膨胀),我们只需要找到对应的文件,右键,就可以控制这些标识

或者到配置里面添加

二. 排除对象-语言(混淆配置)

很多时候我们希望按语言的习惯来排除对象,更简单避免一些运行时问题,就需要了解几个常用的设置,在混淆配置里面就能找到

1. ObjC Class / Swift Class

设置到这个里面的名字,不管是swift还是objc对象名,将不会被排除混淆,比如说 AppController 被设置后,就不会被改名

2. ObjC Property / Swift Property

设置到这个里面的名字,不管是swift还是objc属性名,都不会被改名

3. ObjC Ivar / Swift Ivar

设置到这个里面的名字,不管是swift还是objc内部变量,都不会被改名

4. 通过【排除混淆-语言】 设置 All MemberAll Member By Extend Class/Protocol 分组来避免Json解析出错

1). All Member 这个分组里面的,可以直接通过通配符来用名字排除,比如说如果Model都是有固定前缀或者后缀,写作**JSModel,就会都被标记出来

2). All Member By Extend ObjC Class/Protocol 这个分组里面的表示如果某个类父类链条里面包含这个类,就会标记为排除成员,或者直接实现了某个协议的类,也会被标记出来

5. 通过项目【设置】/【排除混淆-语言】设置 All Memeber By Call 分组,来避免某些对象成员函数、属性被改名导致json解析出错 (已废弃)