iOS中5+SDK项目升级个推静态库.a为.framework
2017-12-25 10:08
603 查看
说明
上篇写了升级5+SDK的文章:iOS离线打包项目升级5+SDK
本文属于上文补充,因为要适配iPhone X,原谅我穷买不起真机,只能用模拟机调试,在调试过程中发现一个个推致命的bug:
malloc: *** error for object 0x170242490: Invalid pointer dequeued from free list *** set a breakpoint in malloc_error_break to debug
查资料后发现,是个推在模拟器上运行的产生的错误,我使用的是1.6.3-SDK。他们已经在最新SDK中修改了这个错误。
问题:个推静态库文件导致模拟机崩溃
解决办法:升级个推静态库文件为最新
新问题:
个推老版本使用的都是.a格式的静态库文件,而从官网下载下来的最新SDK使用的是.framework格式。如何平滑替换?开工
(1)备份项目(这是我开始大改动必须的工作)(2)删除5+SDK中Feature-iOS中指定的静态库文件
liblibPush.a
libGeTuiPush.a
libGeTuiSdk.a
libGtExtensionSdk
(3)将最新SDK中相应库文件复制到.
4000
a文件相应的位置,方便管理。我使用的文件如下图:
引入后在项目中Build Phase -> Link Binary With Libraries引入framework库到项目中
(4)添加系统依赖库
根据个推官网添加系统依赖库,如图所示:
(5)5+SDK中LinkerFlags不变
(6)删除原项目中GeTuiSdk.h文件,导入头文件:
#import <GTSDK/GeTuiSdk.h>
(7)将插件部分用到的方法名更换为最新即可
- (void) bindAlias:(PGMethod *)cmds { NSString *alias = [cmds.arguments objectAtIndex:1]; [GeTuiSdk bindAlias:alias andSequenceNum:@"seq-1"]; } - (void) unbindAlias:(PGMethod *)cmds { NSString *alias = [cmds.arguments objectAtIndex:1]; [GeTuiSdk clearAllNotificationForNotificationBar]; [GeTuiSdk unbindAlias:alias andSequenceNum:@"seq-1" andIsSelf:YES]; }
相关文章推荐
- 升级iOS SDK后如何建立已有项目
- iOS离线打包项目升级5+SDK
- ios开发sdk集成.a静态库duplicate问题解决
- iOS项目的静态代码扫描之OClint安装
- iOS 静态类库项目的建立与使用
- iOS 项目集成支付宝SDK的经典错误
- iOS旧项目升级WatchOS2.0时遇到的问题
- React Native项目从0.28升级到0.29 (iOS)
- iOS项目生成静态库文件(.a)
- iOS—生成framework的shell脚本,生成的SDK可以嵌到项目里运行,编译发布
- adt 和 sdk升级到最新后,创建新项目有问题,解决方法
- 【转】总结:升级到xcode4.2 iOS sdk 5.0旧版工程编译后出现的警告解决办法
- ios项目接入sdk事项
- iOS 9系统策略更新,使用微信SDK的开发者注意升级
- 升级到xcode4.2 iOS sdk 5.0旧版工程编译后出现的警告解决办法
- 升级xcode 4.2 ios sdk 5
- Delphi调用IOS三方SDK(OC的静态库文件)
- 使用OClint进行iOS项目的静态代码扫描
- iOS SDK同时支持模拟器和真机的静态包编译脚本
- iOS10.0 & Swift 3.0 对于升级项目的建议