我制作了一个Xcode项目,其中进行了一些安全措施,他们要求我混淆方法名称。
例如:
#define specialMethod a9328238
+(void) specialMethod
{
// do security stuff
}
我从一个项目(项目A)中制作了一个.framework库,并将其包含到另一个项目(项目B)中。
但是,当我使用发布版本的构建配置运行(项目B)时,它总是崩溃,如下所示。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[SecurityClass a9328238]: unrecognized selector sent to class 0x337cc4'
当它尝试访问该方法时,它会崩溃。
但是,当我使用调试构建配置运行(项目B)时,它运行得很顺利。
(我已将所有构建配置设置保持为默认值)
#define
不会使调用者看到该名称(虽然这显然不是你所看到的错误的原因,所以我怀疑你正在压缩你的代码)。 - Ben Zotto