iOS15系统版本,会话页面卡死情况说明

iOS 15 及其以上系统,首次装包会话页面点击加号按钮或者点击照片按钮申请相册权限,会卡死的情况
发布时间: 2022-01-11 17:46

回答:

注:此问题为 IMKit 的 bug,如果开发者使用 IMLib 则无需关心


修复版本:

Dev 版本:

5.1.7 及其以后版本(5.1.7 于 2021.12.14 发布)

Stable 版本:

5.1.3.8 及其以后的 5.1.3.x 版本 (5.1.3.8 于 2021.12.21 发布)

4.1.1.11 及其以后的 4.1.1.x 版本 (4.1.1.11 预计于 2022.1.13 发布)


不升级 SDK 的解决方案:

如果开发者 SDK 版本无法升级,解决方案是 app 提前主动申请相册权限。


一、针对点击“照片”按钮卡死的版本:重写会话页面点击扩展按钮的方法,通过 tag 判断点击了“照片”按钮,app 主动申请相册权限之后再调用父类接口进入相册。

RCConversationViewController 的子类中实现下面逻辑,伪代码如下:

- (void)pluginBoardView:(RCPluginBoardView *)pluginBoardView clickedItemWithTag:(NSInteger)tag {
    if (tag == PLUGIN_BOARD_ITEM_ALBUM_TAG) {
        if (app 有相册权限) {
            //调用 super,进入 SDK 内置相册页面
            [super pluginBoardView:pluginBoardView clickedItemWithTag:tag];
        } else {            
            //app 自行申请相册权限            
            //申请成功后,调用 super,进入 SDK 内置相册页面        
            }    
     }else {        
         //直接调用 super        
         [super pluginBoardView:pluginBoardView clickedItemWithTag:tag];    
     }
}


二、针对点击加号按钮卡死的版本:进入会话页面时判断有无相册权限,如果没有权限则主动申请。


如有任何问题,可随时与我们联系。