swift - 在自定义 cocoapod 框架中使用 Pod 依赖项获取 "use of undeclared type"

标签 swift cocoapods rollbar

我已将 Rollbar 添加为我的 cocoapod 的依赖项。在我的 podspec 中,我有:

s.dependency 'Rollbar'

构建并运行包含我的 cocoapod 作为依赖项的应用程序工作正常,但如果我打开我的框架项目,Xcode 会提示,因为它没有导入 Rollbar 依赖项。

这会导致以下行出现“使用无法解析的标识符‘Rollbar’”错误:

Rollbar.initWithAccessToken("XXX")

我确切地理解发生了什么,我的框架项目不知道 Rollbar 依赖项,因此它不会加载这些类。但这会影响我测试框架的方式,因为如果我保留,它就不会编译就这样。

我还会注意到,在桥接 header 中,我已使用 __has_include 包装了必要的 Rollbar #import,以允许桥接 header 进行编译。

#if __has_include("Rollbar/Rollbar.h")
#import <SystemConfiguration/SystemConfiguration.h>
#import <Rollbar/Rollbar.h>
#endif

当我收到此错误时,似乎无法在我的 Swift 文件中执行类似的操作:

RollbarSetup.swift:2:5: Unexpected platform condition (expected 'os', 'arch', or 'swift')

这让我相信这种类型的条件是不允许的。我希望如果 Rollbar 依赖项不存在,我可以在框架中创建一些模拟对象。

<小时/>

还有其他人在编写使用单独的 cocoapod 依赖项的 cocoapod 时遇到过这种情况吗?我觉得这是任何人在这种情况下都会遇到的事情。

我可以做些什么来让我的框架项目编译吗?

最佳答案

我有一个 Swift 的 cocoapod SDK,我按照以下步骤完成了

  1. 首先将 Rollbar 添加到 podspec 文件中 s.dependency 'Rollbar', '1.8.1'
  2. 在 View Controller 中添加 import Rollbar,您必须在其中设置错误消息
  3. 在为您的 SDK 创建的示例项目上运行 pod install 命令。
  4. 您现在可以使用滚动条了。
  5. RollBar SDK初始化
let configuration = RollbarConfiguration()
configuration.crashLevel = "critical"
configuration.environment = "production"
Rollbar.initWithAccessToken("POST_CLIENT_ITEM_ACCESS_TOKEN", configuration: configuration)
Rollbar.error("Error Message")

您已完成 Rollbar 集成。

关于swift - 在自定义 cocoapod 框架中使用 Pod 依赖项获取 "use of undeclared type",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48448417/

相关文章:

ios - 钻石般的 UIView

ios - 打开特定 View 的通知

swift - 更新模型以匹配请求主体与 Swift 的简洁方法?

ios - Cocoapods 测试链接器错误

ios - 创建新方案后找不到 Pod?

ios - 如何测试我的 podspec 文件而不必一直提交我的更改?

javascript - 当严格模式为全局时,如何在浏览器JS中启用Rollbar?

swift - 如何在下载后使用照片而无需再次下载?(Swift)

reactjs - 如何在没有自定义服务器的情况下在 Next.js 上实现部署跟踪?

ruby-on-rails - 开发环境如何防止rollbar报错?