2

我已经按照在线文档初始化了适用于 iOS 的 Bluemix Push SDK:https ://console.ng.bluemix.net/docs/services/mobilepush/t_enable_ios_notifications_install.html

不幸的是,我的 AppDelegate.swift 中的“import BMSPush”语句引发了一个错误(没有这样的模块 'BMSPush')。

在构建我的应用程序(目标:iOS 8.0)时,BMSPushClient.swift 上出现了 13 个问题,详细信息如下面的屏幕截图所示:

构建错误

我的配置如下:

XCode 7.0.1
Mac OS X 10.10.5
Cocoapods 0.39.0

Cocoapods 报告了以下已安装依赖项的版本:

Using BMSAnalyticsAPI (0.0.20)
Using BMSAnalyticsSpec (0.0.16)
Using BMSCore (0.0.44)
Using BMSPush (0.1.06)

有谁知道如何解决这个问题?

4

2 回答 2

0

此问题的真正原因是 BMS Swift SDK 中的名称更改。您可能知道,用于 Bluemix 移动服务的 Swift SDK 仍处于预发布阶段。在正式发布之前,不断发生变化以改进 SDK。

在这种情况下,项目 BMSAnalyticsSpec 已更改为 BMSAnalyticsAPI,这导致 BMSPushUtils 和 BMSPushCore 文件中的导入语句出现问题。开发团队已更新 SDK 以包含新的 BMSAnalyticsAPI 导入语句。我可以让你知道它什么时候可用。

要在本地环境中解决此问题,您可以使用新的 BMSAnalyticsAPI 导入语句更新这两个文件中的导入语句。同样,在正式发布之前,SDK 仍应作为实验性 SDK 使用。

更新: BMSPush SDK 已更新,包括上述名称更改。请完成 pod 更新以获取最新版本 (0.1.07)。这应该可以解决您上面描述的问题。

于 2016-04-06T12:37:46.977 回答
0

我通过更新 SDK 源代码 (!) 解决了这个问题,在每个不明确的类型前加上BMSAnalyticsSpec.,例如替换:

internal func sendAnalyticsData (logType:LogLevel, logStringData:String){

和:

internal func sendAnalyticsData (logType:BMSAnalyticsSpec.LogLevel, logStringData:String){
于 2016-04-06T12:13:01.290 回答