0

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

s.dependency 'Rollbar'

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

这会导致以下行出现“使用未解析的标识符 'Rollbar'”错误:

Rollbar.initWithAccessToken("XXX")

我完全了解正在发生的事情,我的框架项目对 Rollbar 依赖项一无所知,因此它不会加载这些类。但这会影响我测试框架的方式,因为如果我保持这种方式,它将无法编译.

我还要注意,在我的桥接头中,我已经用 a 包裹了必要的 Rollbar#import__has_include允许桥接头进行编译。

#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 时,有没有其他人遇到过这种情况?我觉得这是任何人在这种情况下都会遇到的事情。

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

4

2 回答 2

1

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

  1. 首先将 Rollbar 添加到podspec文件中 s.dependency 'Rollbar', '1.8.1'
  2. 在 View Controller 中添加import Rollbar您必须设置错误消息的位置
  3. pod install在为您的 SDK 创建的示例项目上运行该命令。
  4. 您现在可以使用 Rollbar。
  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 集成。

于 2019-11-22T15:26:33.053 回答
0

Podspec 文件应该由 pod 的作者编写,要将 pod 添加到您需要pod 'Rollbar'在 Podfile 中添加的项目中。此外,#if __has_include仅在文件已导入时执行,因此在此语句中导入它会执行任何操作。由于您使用的是 Swift,所以一个简单import Rollbar的就可以了,不需要桥接头。

于 2018-01-25T17:17:26.403 回答