Swift中的IBM Silverpop推送集成

时间:2018-07-13 18:35:39

标签: ios objective-c swift push-notification

我需要将用Objective-C编写的旧应用迁移到Swift。 此应用程序使用IBM解决方案Silverpop进行推送通知。

在使用Silverpop解决方案进行迁移时遇到一些麻烦。 该框架是用Objective-C编写的,当我按照GitHub上的文档或示例进行操作时(文档和示例之间存在区别。)我无法使该应用正常工作。

该文档在formatted = data.group_by { |d| d[:id]}.values.map do |value_array| concated_value = value_array.sort_by { |b| b[:sort] } .map { |c| c[:content] }.join value_array.first.slice(:id, :foo) .merge concated_value: concated_value end 中崩溃,文档要求我使用以下方法创建该应用程序:

main.swift

启动时,该应用程序崩溃:

import Foundation
import UIKit

UIApplicationMain(CommandLine.argc, nil, nil, "MCEAppDelegate")

文档:https://developer.ibm.com/customer-engagement/tutorials/getting-started-mobile-app-messaging-ios-apps/

示例:https://github.com/ibm-mobile-push/ios/tree/master/samples/Swift%20Automatic%20Sample/SwiftSample

我的MceConfig.json

Thread 1: EXC_BAD_ACCESS (code=1, address=0x8)

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您的MceConfig.json没有遵循示例代码中的文档和注释。

Setting up the sample app that is included in the Mobile App Messaging SDK for iOS.

  
      
  1. Swift要求您的类位于名称空间中。因此,如果您使用的是Swift Sample App,请更新“ appDelegateClass”   值设置为“ SwiftSample.AppDelegate”。
  2.   

MceConfig.json在示例代码中:

"Please note: if you are using a Swift based Application Delegate you must include the product name and class name in AppDelegateClass, for example": "SwiftSample.AppDelegate",
"appDelegateClass": "AppDelegate",

尝试更改MceConfig.json中的行 发件人:

"appDelegateClass": "AppDelegate",

收件人:

"appDelegateClass": "YourAppProductName.AppDelegate",

(将YourAppProductName替换为您应用的实际产品名称。)