在开始集成 ZegoRealtimeTranslation SDK 前,请确保开发环境满足以下要求:
启动 Xcode,在 “Welcome to Xcode” 窗口中,单击 “Create a new Xcode project” 或选择 “File > New > Project” 菜单,在出现的表单中,选择 iOS 平台,并在 “Application” 下选择 “App”。
填写表单并选取各个选项来配置项目,单击 “Next”。
必须提供 “Product Name” 和 “Organization Identify”,用于创建在整个系统中标识 App 的 “Bundle Identify”。
请 下载 最新版本的 SDK,下载完成后进行解压。
请从 zreporter 下载日志上报的 SDK, 用于将 SDK 中的事件上报至后台,用于分析问题。
打开已解压文件夹,手动将以下 SDK 动态库文件,拷贝到项目目录下。
打开 Xcode,选择 “File > Add Files to "xxx"(xxx 为项目名)” 菜单,添加以上 SDK 动态库文件到项目。
选择 “TARGETS > General > Frameworks, Libraries, and Enbedded Content” 菜单,添加 “ZegoRealtimeTranslation.xcframework”,将 “Embed” 设置为 “Embed & Sign”。
选择 “TARGET > General > Deployment Target”,设置 11.0 或以上版本。
请从 google-proto 下载 google 文件夹以及 googleapis.podspec 文件,解压缩后,将 google 文件夹和 googleapis.podspec 文件拖拽到项目根目录下,googleapis 用于安装 google 语音识别的服务的依赖库,google 文件夹里面存放的是消息发送及接收的 proto 文件。
googleapis.podspec 文件内容如下:
Pod::Spec.new do |s|
s.name = 'googleapis'
s.version = '0.0.1'
s.license = 'Apache 2.0'
s.authors = { 'Google Inc.' => 'timburks@google.com'}
s.homepage = 'http://github.com/GoogleCloudPlatform/ios-docs-samples'
s.source = { :git => 'https://github.com/GoogleCloudPlatform/ios-docs-samples.git',
:tag => '0.0.1' }
s.summary = 'Service definitions for Google Cloud Platform APIs'
s.ios.deployment_target = '7.1'
s.osx.deployment_target = '10.9'
# Run protoc with the Objective-C and gRPC plugins to generate protocol messages and gRPC clients.
s.dependency "!ProtoCompiler-gRPCPlugin", "~> 1.6"
# Pods directory corresponding to this app's Podfile, relative to the location of this podspec.
pods_root = 'Pods'
# Path where Cocoapods downloads protoc and the gRPC plugin.
protoc_dir = "#{pods_root}/!ProtoCompiler"
protoc = "#{protoc_dir}/protoc"
plugin = "#{pods_root}/!ProtoCompiler-gRPCPlugin/grpc_objective_c_plugin"
# Run protoc with the Objective-C and gRPC plugins to generate protocol messages and gRPC clients.
# You can run this command manually if you later change your protos and need to regenerate.
# The --objc_out plugin generates a pair of .pbobjc.h/.pbobjc.m files for each .proto file.
s.subspec "Messages" do |ms|
ms.source_files = "google/**/*.pbobjc.{h,m}"
ms.header_mappings_dir = "."
ms.requires_arc = false
ms.dependency "Protobuf"
end
# The --objcgrpc_out plugin generates a pair of .pbrpc.h/.pbrpc.m files for each .proto file with
# a service defined.
s.subspec "Services" do |ss|
ss.source_files = "google/**/*.pbrpc.{h,m}"
ss.header_mappings_dir = "."
ss.requires_arc = true
ss.dependency "gRPC-ProtoRPC"
ss.dependency "#{s.name}/Messages"
end
s.pod_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
'USER_HEADER_SEARCH_PATHS' => '$SRCROOT/..'
}
end
在 Podfile 文件中,添加 ZegoRealtimeTranslation SDK 的第三方依赖。然后在终端 cd 到项目的根目录,并使用 pod install 命令,安装依赖库。由于 google 语音识别的依赖库较大,下载安装容易失败,请确保网络环境良好,最好是安装代理。
pod 'ZegoExpressEngine/Video'
# sdk依赖库
pod 'SocketRocket', '~> 0.6.0'
pod 'OpenSSL-Universal', '~> 1.0.1.20'
pod 'MicrosoftCognitiveServicesSpeech-iOS', '~> 1.20'
pod 'MJExtension', '~> 3.4.1'
pod 'googleapis', :path => '.'
pod 'AFNetworking', '~> 4.0.1'
pod 'GZIP', '~> 1.3.0'
在 “Pods > TARGETS” 中,找到 gRPC-gRPCCertificates 修改成自己证书和签名。
如果您的项目集成其他使用 gRPC 框架的 SDK(如 Firebase Cloud Firestore SDK)时遇到下图所示的问题,您该如何处理?
您可以通过以下任意方式解决此问题:
方法 1:
打开位于项目根目录的 googleapis.podspec 文件,找到 s.dependency "!ProtoCompiler-gRPCPlugin",
和 ss.dependency "gRPC-ProtoRPC"
,分别指定版本号,以保证与所需 SDK 使用的 gRPC 版本保持一致。
方法 2:
若因为 gRPC-Proto
的版本无法匹配到您所需 SDK 使用的 gRPC 版本,请升级/降级您需要的 SDK,以便保证该 SDK 使用的 gRPC 版本与您的 gRPC-proto
版本保持一致。
联系我们
文档反馈