我正在尝试通过名为 Agora 的第三方将实时视频流集成到我的应用程序中。我面临一些错误,如没有这样的模块“AgoraRtcKit”。我已经从他们的网站导入了库 SDK(还附上了相同的屏幕截图)。
代码:
//
// RoleViewController.swift
// OpenLive
//
// Created by CavanSu on 2019/8/28.
// Copyright © 2019 Agora. All rights reserved.
//
import UIKit
import AgoraRtcKit. // This is the module which is not getting imported
protocol RoleVCDelegate: NSObjectProtocol {
func roleVC(_ vc: RoleViewController, didSelect role: AgoraClientRole)
}
class RoleViewController: UIViewController {
weak var delegate: RoleVCDelegate?
override func viewDidLoad() {
super.viewDidLoad()
}
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard let segueId = segue.identifier,
segueId.count > 0 else {
return
}
switch segueId {
case "roleToLive":
guard let mainVC = navigationController?.viewControllers.first as? MainViewController,
let liveVC = segue.destination as? LiveRoomViewController else {
return
}
liveVC.dataSource = mainVC
default:
break
}
}
func selectedRoleToLive(role: AgoraClientRole) {
delegate?.roleVC(self, didSelect: role)
performSegue(withIdentifier: "roleToLive", sender: nil)
}
@IBAction func doBroadcasterTap(_ sender: UITapGestureRecognizer) {
selectedRoleToLive(role: .broadcaster)
}
@IBAction func doAudienceTap(_ sender: UITapGestureRecognizer) {
selectedRoleToLive(role: .audience)
}
}
参考图片:
这是 OP 尝试运行的示例项目:Basic-Video-Broadcasting/OpenLive-iOS
要构建并运行它,请从此处下载项目和视频 SDK。打开项目并从
AgoraRtcKit.framework
列表中删除 Frameworks, Libraries, and Embedded Content
。接下来将下载的 SDK 中的 libs
文件夹拖到项目目录中。导航至 libs
文件夹并将 AgoraRtcKit.framework
拖回 Frameworks, Libraries, and Embedded Content
。
我知道这个答案已经得到解决,但我找到了一个在我的计算机上 100% 有效的解决方案。我有一台 Mac,所有 Xcode 项目都存储在 iCloud 中。当出现此错误
No such module AgoraRtcKit
时,我转到我的项目文件夹(在我的 iCloud 中),导航到 pods 文件夹,然后右键单击“AgoraRtcEngine_iOS”文件夹并单击下载。这将强制 iCloud 从云端下载 pod,并将其与您在 Xcode 中打开的项目合并。下载完成后(大约需要 10 - 15 秒,具体取决于您的计算机),您可以简单地运行该项目。
就我而言,我使用包管理器在我的项目中添加了
Agora
。我尝试了所有方法,但没有任何效果对我有用。有时可能是 Xcode 相关的问题。我使用简单的步骤解决了问题
然后我再次使用包管理器将添加
Agora
删除到我的项目中。
清理构建项目。 (也更好地清理派生数据)
退出 Xcode。
运行项目。
取得成功。 ✅
仅供您参考,我正在使用
Xcode 15.2
对我来说,更改为不同版本的 Agora sdk 解决了这个问题。
在我的 pod 文件中,我有:
pod 'AgoraRtcEngine_iOS'
然后我把它改为:
pod 'AgoraRtcEngine_iOS', '~> 3.2.0'
在此更改(并安装新的 Pod)之后,我的 ViewController 中的
import AgoraRtcKit
就可以工作了。
我从这个项目中得到了提示https://github.com/AgoraIO-Community/Agora-iOS-Swift-Example/blob/main/Podfile
如果您使用 AgoraRtcKit SDK 在模拟器中调试或运行项目,它会返回类似 - No such module 'AgoraRtcKit' Xcode swift 错误。 所以如果你想消除这个错误,那么你需要使用真实的设备。