问题详述
集成iOS SDK后,控制台打印出一下log:
[ NSConcreteMutableData gzipDeflate ] : unrecognized selector sent to instance
解决方法
- iOS 端集成 SDK 时 需要做
-ObjC
配置 , 即应用的 TARGETS -> Build Settings -> Linking -> Other Linker Flags ,需添加上
-ObjC
这个属性,否则推送服务无法正常使用 。Other Linker Flags
中设定链接器参数-ObjC
,加载二进制文件时,会将 Objective-C 类和 Category 一并载入 ,若工程依赖多个三方库 ,将所有 Category 一并加载后可能发生冲突,可以使用-force_load
单独载入指定二进制文件,配置如下 :-force_load<framework_path>/CloudPushSDK.framework/CloudPushSDK
- 【注意】:
-force_load
指定的是二进制文件路径,而不是 Framework 目录。- 若指定为 Framework 目录,-force_load …path/xxx.framework,Xcode 会报出错误 ld: can’t map file, errno=22 file ‘…path/xxx.framework’ for architecture armv7。
文档内容是否对您有帮助?