接入.a文件在相同类文件以及不同工程配置下服务的不同表现
今天生成了个新的.a文件,然后新建了一个测试工程testA.project,然后发现.a文件在老的测试工程oldtestA.project上服务正常,却在新工程上服务报错。<.a文件一样,其他框架类文件也一样>
现象表现为:
1. 相同.a文件以及相同的框架其他文件,不同工程,新工程报错,老工程正常。抓包表现正常的kept alive 参数为NO, 而服务报错的表现为YES. 其他参数都一样。
2. 同一个新工程,源码编译服务正常,然而.a文件编译服务报错。
解决方案:
大家都知道生成.a文件的时候,需要让build settings下的other linker Flags 需要设置为-OjbC, 由于在新的测试工程testA.project中在使用.a文件编译的时候,也需要在build settings下的other linker Flags 需要设置为-OjbC 或-all_load。(因为需要加载oc的分类文件),然后再看抓包状态kept alive变成NO, 服务状态正常了。