获取源码
-
在企微群中向支持同事索要对应源码
-
每个版本的 IMKit 源码有需要的话都会上传至 eportal 平台
-
企微群中申请后可获取对应链接
项目集成
- 由于原始项目中对 IMKit 系列 SDK 的依赖方式不同会导致集成源码的方式也略有不同,因此下面分两种场景进行说明:原始项目使用了 CocoaPods、原始项目未使用 CocoaPods
使用了 CocoaPods
- 由于引入的 IMKit 系列库都对 IMLib 有依赖,所以需要在原有 Podfile 中添加如下示例内容(示例中部分内容需要根据项目实际情况进行修改):
# 引入 IMKit 源码时需要添加如下配置
target 'RongIMKit' do
# 此处需要是 Podfile 到最终引入的 RongIMKit.xcodeproj 的实际路径
project 'RongIMKit/RongIMKit.xcodeproj'
# 此处以 5.3.3.55 版本为例,实际版本号以项目需求为准
pod 'RongCloudIM_Private', '5.3.3.55', :subspecs => ['IMLibCore', 'ChatRoom', 'CustomerService', 'Discussion', 'PublicService', 'IMLib']
end
# 引入 Sight 源码时需要添加如下配置
target 'RongSight' do
# 此处需要是 Podfile 到最终引入的 RongIMKit.xcodeproj 的实际路径
project 'RongSight/RongSight.xcodeproj'
# 此处以 5.3.3.55 版本为例,实际版本号以项目需求为准
pod 'RongCloudIM_Private', '5.3.3.55', :subspecs => ['IMLibCore', 'ChatRoom', 'CustomerService', 'Discussion', 'PublicService', 'Location', 'IMLib', 'IMKit', 'ContactCard']
end
# 引入其他 IMKit 系列中的源码时流程与上述两个类似,一般属于 IMKit 系列库中的其它子库所需依赖的库为全部 IMLib、IMKit 系列库(除当前库本身之外的所有库)
- 将 IMKit 或其它需要的源码下载后放到和需要调试的工程并列的文件夹中,类似截图中结构:
- 找到项目中的
workspace
文件,打开后将新引入的源码的xcodeproj
(比如:RongIMKit.xcodeproj
)文件拖入,一般使用 CocoaPods 集成的工程已经存在workspace
,没有的话需要自行新建,最终结构参考下图:
- 点击上图中 RongIMKit 工程,进入工程配置中按如下截图删除指定内容:
-
上述删除的只是对应引用,在实体文件夹中还有对应的实体文件,需要找到并删除实体文件
-
RongIMKit 的 Scheme 中可能还存在对上述脚本的配置,检查一下,如果有也需要进行删除:
- 源码中
BuildSettings->Architectures
下编译当前架构的设置默认为 NO,需要结合实际工程进行修改,同上层工程保持一致即可
- 源码中
BuildSettings->Search Paths
下的Framework Search Paths
默认查找了之前删除的路径,pod install
时会出现相关警告,按下图进行修改即可
-
其它 IMKit 系列项目,比如
RongSight
、RongLocationKit
等处理流程与上述 IMKit 一致,此处不再赘述 -
所有需要引入源码的项目都按上述流程处理完毕后,运行项目即可,后续所有对源码层的修改都会实时生效
-
新引入的项目中配置的
after_build.sh
脚本的作用是将真机运行和模拟器运行生成的framework
进行架构合并并生成xcframework
,运行后会在目录中生成bin
、bin_tmp
等文件(这些运行后生成的临时文件不需要在仓库中进行跟踪维护),此处没有删除是为了如果有其它项目需要直接引入定制过的xcframework
有地方获取,如不需要直接删除相关脚本及临时文件夹即可,删除方式和第四步中删除before_build
一致,只不过此脚本在最下方配置
未使用 CocoaPods
- 如果项目中之前未使用 CocoaPods,所有 SDK 都是手动引入的话建议按照上述 CocoaPods 集成的方式进行修改,使用 CocoaPods 进行维护会更加方便一些,一些特殊原因只能手动引入参考下述流程
- 将 IMKit 或其它需要的源码下载后放到和需要调试的工程并列的文件夹中,类似截图中结构:
- 新建
workspace
文件,如项目中已经存在直接使用存在的即可,打开后将新引入的源码的xcodeproj
(比如:RongIMKit.xcodeproj
)文件拖入,最终结构参考下图:
- 点击上图中 RongIMKit 工程,进入工程配置中按如下截图进行操作:
-
上述删除或更新的只是对应引用,在实体文件夹中还有对应的实体文件,需要找到并删除实体文件
-
RongIMKit 的 Scheme 中可能还存在对上述脚本的配置,检查一下,如果有也需要进行删除:
- 源码中
BuildSettings->Architectures
下编译当前架构的设置默认为 NO,需要结合实际工程进行修改,同上层工程保持一致即可
-
其它 IMKit 系列项目,比如
RongSight
、RongLocationKit
等处理流程与上述 IMKit 一致,此处不再赘述 -
所有需要引入源码的项目都按上述流程处理完毕后,运行项目即可,后续所有对源码层的修改都会实时生效
-
新引入的项目中配置的
after_build.sh
脚本的作用是将真机运行和模拟器运行生成的framework
进行架构合并并生成xcframework
,运行后会在目录中生成bin
、bin_tmp
等文件(这些运行后生成的临时文件不需要在仓库中进行跟踪维护),此处没有删除是为了如果有其它项目需要直接引入定制过的xcframework
有地方获取,如不需要直接删除相关脚本及临时文件夹即可,删除方式和第四步中删除before_build
一致,只不过此脚本在最下方配置