用cocoapods安装SDK之后,没有这样的模块“BMSPush”
我已经按照在线文档初始化iOS的Bluemix推送SDK: https ://console.ng.bluemix.net/docs/services/mobilepush/t_enable_ios_notifications_install.html
不幸的是,我的AppDelegate.swift中的“导入BMSPush”语句会产生一个错误(没有这样的模块“BMSPush”)。
在构build我的应用程序(目标:iOS 8.0)时,在BMSPushClient.swift上引发了13个问题,如以下屏幕截图所示:
我的configuration如下:
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)
有谁知道如何解决这个问题?
这个问题的真正原因是由于BMS Swift SDK中的名称更改。 如您所知,用于Bluemix Mobile Services的Swift SDK仍处于预发布阶段。 正式发布之前,不断发生的改变SDK的改进。
在这种情况下,项目BMSAnalyticsSpec已更改为BMSAnalyticsAPI,这会导致BMSPushUtils和BMSPushCore文件中的导入语句出现问题。 开发团队已经更新SDK以包含新的BMSAnalyticsAPI导入语句。 我可以让你知道什么时候可用。
要在本地环境中解决此问题,可以使用新的BMSAnalyticsAPI导入语句更新这两个文件中的导入语句。 同样,SDK仍然应该作为实验SDK使用,直到它正式发布。
更新: BMSPush SDK已更新,以包含上述名称更改。 请完成一个pod更新以获取最新版本(0.1.07)。 这应该解决你上面描述的问题。
我通过更新SDK源代码(!)解决了这个问题,在BMSAnalyticsSpec.
每个不明确的typesBMSAnalyticsSpec.
,例如replace:
internal func sendAnalyticsData (logType:LogLevel, logStringData:String){
有:
internal func sendAnalyticsData (logType:BMSAnalyticsSpec.LogLevel, logStringData:String){