在 SwiftUI 工程中, 直接将IMKit 源码拖入工程中, 无法完成编译, 您可能需要注意以下几个问题:
1. 找不到 IMKit 中对应的类
这是由于 IMKit
是 OC 代码, 无法在 swift 中直接使用, 需要在 bridge 文件中提前声明一下, 如:
#ifndef SwiftUIDemo_Bridging_Header_h
#define SwiftUIDemo_Bridging_Header_h
#import "RCIM.h"
#import "RCConversationListViewController.h"
#endif /* SwiftUIDemo_Bridging_Header_h */
2. Unknown type name ‘RCUserAvatarStyle’
出现该问题的原因是 RCThemeDefine.h
是 c 头文件, 编译器无法将其视为 OC 头文件进行编译, 解决方案是在该文件头部添加 #import <Foundation/Foundation.h>
, 如:
#import <Foundation/Foundation.h>
/*!
头像显示的形状
*/
typedef NS_ENUM(NSInteger, RCUserAvatarStyle) {
/*!
矩形
*/
RC_USER_AVATAR_RECTANGLE = 0,
/*!
圆形
*/
RC_USER_AVATAR_CYCLE
};
demo:
SwiftUIDemo.zip (1.5 MB)