微信和展示互动的SDK同时接入
- 微信需要在other-link-flag中加入-all_load,会导致链接器把目标文件都加载进来,这样暴力的做法会导致展示互动的SDK报duplicate symbol错误
- 正确的做法如下图
- 注意-force_load的标识要按照这个顺序,不然,会造成在调用直播接口的时候,展示直播界面,产生闪退。
展示互动的直播模块,调用方法有很大的问题
[FastLiveControl QutFastLiveWithNewController:self Window:[UIApplication sharedApplication].keyWindow];
这个方法中的参数self和控制器的根window,传入以后,如果你的视图是多层导航控制器的嵌套,会出现视图错乱。该方法只保留根window和self控制器,其余栈中的控制器会全部删除,导致界面展示异常。
我的处理方法如下,先新建一个控制器用于展示直播界面,因为我的应用是根控制器是tabbarcontroller,所以我在处理的时候,传入的不是当前控制器,而是根控制器和keywindow。代码如下
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.navigationController.navigationBar.hidden = YES;
}
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
[self back];
}
- (void)viewDidLoad {
[super viewDidLoad];
self.index = 1;
MainViewController *main = (MainViewController*)[UIApplication sharedApplication].delegate.window.rootViewController;
[FastLiveControl QutFastLiveWithNewController:main Window:[UIApplication sharedApplication].keyWindow];
[self loadLive];
}
-(void)loadLive{
[FastLiveControl FastGoLivePublishWith:self.connectInfo];
}
-(void)back{
[self.navigationController popViewControllerAnimated:YES];
}