RCKitUtility Class Reference

Inherits from NSObject
Declared in RCKitUtility.h

Overview

IMKit工具类

+ convertConversationTime:

会话列表会话时间转换

+ (NSString *)convertConversationTime:(long long)secs

Parameters

secs

Unix时间戳(秒)

Return Value

可视化的时间字符串

Discussion

会话列表会话时间转换

如果该时间是今天的,则返回值为"HH:mm"格式的字符串; 如果该时间是昨天的,则返回字符串资源中Yesterday对应语言的字符串; 如果该时间是昨天之前或者今天之后的,则返回"yyyy-MM-dd"的字符串。

Declared In

RCKitUtility.h

+ convertMessageTime:

聊天页面消息时间转换

+ (NSString *)convertMessageTime:(long long)secs

Parameters

secs

Unix时间戳(秒)

Return Value

可视化的时间字符串

Discussion

聊天页面消息时间转换

如果该时间是今天的,则返回值为"HH:mm"格式的字符串; 如果该时间是昨天的,则返回"Yesterday HH:mm"的字符串(其中,Yesterday为字符串资源中Yesterday对应语言的字符串); 如果该时间是昨天之前或者今天之后的,则返回"yyyy-MM-dd HH:mm"的字符串。

Declared In

RCKitUtility.h

+ imageNamed:ofBundle:

获取资源包中的图片

+ (UIImage *)imageNamed:(NSString *)name ofBundle:(NSString *)bundleName

Parameters

name

图片名

bundleName

图片所在的Bundle名

Return Value

图片

Discussion

获取资源包中的图片

Declared In

RCKitUtility.h

+ getTextDrawingSize:font:constrainedSize:

获取文字显示的尺寸

+ (CGSize)getTextDrawingSize:(NSString *)text font:(UIFont *)font constrainedSize:(CGSize)constrainedSize

Parameters

text

文字

font

字体

constrainedSize

文字显示的容器大小

Return Value

文字显示的尺寸

Discussion

获取文字显示的尺寸

该方法在计算iOS 7以下系统显示的时候默认使用NSLineBreakByTruncatingTail模式。

Declared In

RCKitUtility.h

+ formatMessage:targetId:conversationType:isAllMessage:

获取指定会话类型的消息内容的摘要

+ (NSString *)formatMessage:(RCMessageContent *)messageContent targetId:(NSString *)targetId conversationType:(RCConversationType)conversationType isAllMessage:(BOOL)isAllMessage

Parameters

messageContent

消息内容

targetId

会话 Id

conversationType

会话类型

isAllMessage

是否获取全部摘要内容,如果设置为 NO,摘要内容长度大于 500 时可能被截取

Return Value

消息内容的摘要

Discussion

获取指定会话类型的消息内容的摘要

SDK默认的消息有内置的处理,自定义消息会调用 RCMessageContent 中 RCMessageContentView 协议的 conversationDigest 获取消息摘要。

Declared In

RCKitUtility.h

+ formatLocalNotification:

获取消息通知时需展示的内容摘要

+ (NSString *)formatLocalNotification:(RCMessage *)message

Parameters

message

消息

Return Value

消息内容的摘要

Discussion

获取消息通知时需展示的内容摘要

SDK默认的消息有内置的处理,自定义消息会调用 RCMessageContent 中 RCMessageContentView 协议的 conversationDigest 获取消息摘要。

Declared In

RCKitUtility.h

+ formatMessage:targetId:conversationType:

获取指定会话类型的消息内容的摘要

+ (NSString *)formatMessage:(RCMessageContent *)messageContent targetId:(NSString *)targetId conversationType:(RCConversationType)conversationType

Parameters

messageContent

消息内容

targetId

会话 Id

conversationType

会话类型

Return Value

消息内容的摘要

Discussion

获取指定会话类型的消息内容的摘要

SDK默认的消息有内置的处理, 自定义消息会调用RCMessageContent中RCMessageContentView协议的conversationDigest获取消息摘要。

与 formatMessage:targetId:conversationType:isAllMessage 区别是,该方法在摘要内容长度大于 500 时可能被截取

Declared In

RCKitUtility.h

+ formatMessage:

获取消息内容的摘要

+ (NSString *)formatMessage:(RCMessageContent *)messageContent

Parameters

messageContent

消息内容

Return Value

消息内容的摘要

Discussion

获取消息内容的摘要

SDK默认的消息有内置的处理, 自定义消息会调用RCMessageContent中RCMessageContentView协议的conversationDigest获取消息摘要。

与 formatMessage:targetId:conversationType:isAllMessage 区别是,该方法在摘要内容长度大于 500 时可能被截取

Declared In

RCKitUtility.h

+ isVisibleMessage:

消息是否需要显示

+ (BOOL)isVisibleMessage:(RCMessage *)message

Parameters

message

消息

Return Value

是否需要显示

Discussion

消息是否需要显示

Declared In

RCKitUtility.h

+ isUnkownMessage:content:

消息是否需要显示

+ (BOOL)isUnkownMessage:(long)messageId content:(RCMessageContent *)content

Parameters

messageId

消息ID

content

消息内容

Return Value

是否需要显示

Discussion

消息是否需要显示

Declared In

RCKitUtility.h

+ getNotificationUserInfoDictionary:

获取消息对应的本地消息Dictionary

+ (NSDictionary *)getNotificationUserInfoDictionary:(RCMessage *)message

Parameters

message

消息实体

Return Value

本地通知的Dictionary

Discussion

获取消息对应的本地消息Dictionary

Declared In

RCKitUtility.h

+ getNotificationUserInfoDictionary:fromUserId:targetId:objectName:

获取消息对应的本地消息Dictionary

+ (NSDictionary *)getNotificationUserInfoDictionary:(RCConversationType)conversationType fromUserId:(NSString *)fromUserId targetId:(NSString *)targetId objectName:(NSString *)objectName

Parameters

conversationType

会话类型

fromUserId

发送者的用户ID

targetId

消息的目标会话ID

objectName

消息的类型名

Return Value

本地通知的Dictionary

Discussion

获取消息对应的本地消息Dictionary

Declared In

RCKitUtility.h

+ getFileTypeIcon:

获取文件消息中消息类型对应的图片名称

+ (NSString *)getFileTypeIcon:(NSString *)fileType

Parameters

fileType

文件类型

Return Value

图片名称

Discussion

获取文件消息中消息类型对应的图片名称

Declared In

RCKitUtility.h

+ getReadableStringForFileSize:

获取文件大小的字符串,单位是k

+ (NSString *)getReadableStringForFileSize:(long long)byteSize

Parameters

byteSize

文件大小,单位是byte

Return Value

文件大小的字符串

Discussion

获取文件大小的字符串,单位是k

Declared In

RCKitUtility.h

+ defaultConversationHeaderImage:

获取会话默认的占位头像

+ (UIImage *)defaultConversationHeaderImage:(RCConversationModel *)model

Parameters

model

会话数据模型

Return Value

默认的占位头像

Discussion

获取会话默认的占位头像

Declared In

RCKitUtility.h

+ defaultTitleForCollectionConversation:

获取聚合显示的会话标题

+ (NSString *)defaultTitleForCollectionConversation:(RCConversationType)conversationType

Parameters

conversationType

聚合显示的会话类型

Return Value

显示的标题

Discussion

获取聚合显示的会话标题

Declared In

RCKitUtility.h

+ getConversationUnreadCount:

获取会话模型对应的未读数

+ (int)getConversationUnreadCount:(RCConversationModel *)model

Parameters

model

会话数据模型

Return Value

未读消息数

Discussion

获取会话模型对应的未读数

Declared In

RCKitUtility.h

+ getConversationUnreadMentionedStatus:

会话模型是否包含未读的@消息

+ (BOOL)getConversationUnreadMentionedStatus:(RCConversationModel *)model

Parameters

model

会话数据模型

Return Value

是否包含未读的@消息

Discussion

会话模型是否包含未读的@消息

Declared In

RCKitUtility.h

+ syncConversationReadStatusIfEnabled:

同步会话多端阅读状态

+ (void)syncConversationReadStatusIfEnabled:(RCConversationModel *)conversation

Parameters

conversation

会话

Discussion

同步会话多端阅读状态

会根据已经设置的RCIM的enabledReadReceiptConversationTypeList属性进行过滤、同步。

Declared In

RCKitUtility.h

+ getPinYinUpperFirstLetters:

获取汉字对应的拼音首字母

+ (NSString *)getPinYinUpperFirstLetters:(NSString *)hanZi

Parameters

hanZi

汉字

Return Value

拼音首字母

Discussion

获取汉字对应的拼音首字母

Declared In

RCKitUtility.h

+ openURLInSafariViewOrWebView:base:

在SFSafariViewController或WebViewController中打开URL

+ (void)openURLInSafariViewOrWebView:(NSString *)url base:(UIViewController *)viewController

Parameters

url

URL

viewController

基于哪个页面弹出新的页面

Discussion

在SFSafariViewController或WebViewController中打开URL

Declared In

RCKitUtility.h

+ checkOrAppendHttpForUrl:

检查url是否以http或https开头,如果不是,为其头部追加http://

+ (NSString *)checkOrAppendHttpForUrl:(NSString *)url

Parameters

url

url

Return Value

以http或者https开头的url

Discussion

检查url是否以http或https开头,如果不是,为其头部追加http://

Declared In

RCKitUtility.h

+ getKeyWindow

获取 keyWindow

+ (UIWindow *)getKeyWindow

Return Value

UIWindow

Discussion

获取 keyWindow

Declared In

RCKitUtility.h

+ getWindowSafeAreaInsets

获取 AppDelegate window 的 safeAreaInsets

+ (UIEdgeInsets)getWindowSafeAreaInsets

Return Value

AppDelegate window 的 safeAreaInsets

Discussion

获取 AppDelegate window 的 safeAreaInsets

Declared In

RCKitUtility.h

+ fixOrientation:

修正iOS系统图片的图片方向

+ (UIImage *)fixOrientation:(UIImage *)image

Parameters

image

需要修正的图片

Return Value

修正后的图片

Discussion

修正iOS系统图片的图片方向

Declared In

RCKitUtility.h

+ currentDeviceIsIPad

判断当前设备是否是 iPad

+ (BOOL)currentDeviceIsIPad

Discussion

判断当前设备是否是 iPad

Declared In

RCKitUtility.h

+ generateDynamicColor:darkColor:

动态颜色设置,暗黑模式

+ (UIColor *)generateDynamicColor:(UIColor *)lightColor darkColor:(UIColor *)darkColor

Parameters

lightColor

亮色

darkColor

暗色

Return Value

修正后的颜色

Discussion

动态颜色设置,暗黑模式

Declared In

RCKitUtility.h

+ hasLoadedImage:

根据图片消息的 imageUrl 判断图片是否加载

+ (BOOL)hasLoadedImage:(NSString *)imageUrl

Discussion

根据图片消息的 imageUrl 判断图片是否加载

Declared In

RCKitUtility.h

+ getImageDataForURLString:

根据图片消息的 imageUrl 获取已下载的图片 data

+ (NSData *)getImageDataForURLString:(NSString *)imageUrl

Parameters

imageUrl

图片消息的 imageUrl

Return Value

图片 data

Discussion

根据图片消息的 imageUrl 获取已下载的图片 data

Declared In

RCKitUtility.h

+ color:originalColor:

获取RCColor.plist文件中色值

+ (UIColor *)color:(NSString *)key originalColor:(NSString *)colorStr

Parameters

key

色值对应的key

colorStr

原始颜色

Return Value

最终返回的颜色

Discussion

获取RCColor.plist文件中色值

Declared In

RCKitUtility.h

+ showProgressViewFor:text:animated:

显示进度提示框

+ (BOOL)showProgressViewFor:(UIView *)view text:(NSString *)text animated:(BOOL)animated

Parameters

view

view

text

提示文字

animated

动画

Discussion

显示进度提示框

Declared In

RCKitUtility.h

+ hideProgressViewFor:animated:

隐藏进度提示框

+ (BOOL)hideProgressViewFor:(UIView *)view animated:(BOOL)animated

Parameters

view

view

animated

动画

Discussion

隐藏进度提示框

Declared In

RCKitUtility.h

+ getLeftNavigationItems:title:target:action:

获取导航左按钮

+ (NSArray<UIBarButtonItem*> *)getLeftNavigationItems:(UIImage *)image title:(NSString *)title target:(id)target action:(SEL)action

Parameters

image

亮色

title

暗色,可为 nil

Return Value

导航左按钮

Discussion

获取导航左按钮

布局为 RTL 时,图片会在内部进行翻转,无需开发者处理

Declared In

RCKitUtility.h

+ isRTL

判断是否需要 RTL 布局

+ (BOOL)isRTL

Discussion

判断是否需要 RTL 布局

当前系统高于 9.0,并且满足手机系统为 UISemanticContentAttributeForceRightToLeft 布局或者 App 被修改为 UISemanticContentAttributeForceRightToLeft 布局时才会返回 YES,否则为 NO

Declared In

RCKitUtility.h

+ isAudioHolding

判断其他模块是否正在使用声音通道

+ (BOOL)isAudioHolding

Discussion

判断其他模块是否正在使用声音通道

主要检测 IMKit 子模块和 IMLib 子模块是否占用

Declared In

RCKitUtility.h

+ isCameraHolding

判断其他模块是否正在使用摄像头

+ (BOOL)isCameraHolding

Discussion

判断其他模块是否正在使用摄像头

主要检测 IMKit 子模块和 IMLib 子模块是否占用

Declared In

RCKitUtility.h