尝试将设备注册到 Bluemix 上的 IBM Mobile First Push 服务时,iOS 应用程序崩溃

2024-04-03

我有一个在 iPad mini 4 (iOS 9.0.2) 上运行的 iOS 9 应用程序。 尝试将设备注册到 Bluemix 上的 IMFPush 服务实例时,它崩溃了。

以下是在我的应用程序委托中执行注册的代码:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Push notifications
    let notificationTypes: UIUserNotificationType = [UIUserNotificationType.Badge, UIUserNotificationType.Alert, UIUserNotificationType.Sound]
    let notificationSettings: UIUserNotificationSettings = UIUserNotificationSettings(forTypes: notificationTypes, categories: nil)
    application.registerUserNotificationSettings(notificationSettings)
    application.registerForRemoteNotifications()
    return true
}

func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
    // Initialize the Mobile First SDK with IBM Bluemix GUID and route
    IMFClient.sharedInstance().initializeWithBackendRoute(MY_APP_ROUTE_HERE, backendGUID: MY_BACKEND_GUID_HERE)
    let push = IMFPushClient.sharedInstance()
    print("-> Register device token to Mobile First Push for iOS8 Service \(IMFPush.version())");
    push.registerDeviceToken(deviceToken, completionHandler: { (response, error) -> Void in
        if error != nil {
            print("-> Error during device registration to Mobile First Push for iOS8 Service \(error.description)")
        }
        else {
            print("-> Response after device registration (json): \(response.responseJson.description)")
        }
    })
}

这是运行应用程序时的控制台输出(启动时崩溃):

-> Register device token to Mobile First Push for iOS8 Service 1.0
2015-10-07 09:53:52.895 greenwell[578:152833] [INFO] [IMFPushClient] -[IMFPushClient registerDeviceToken:completionHandler:] in IMFPushClient.m:70 :: Verifying previous device registration.
2015-10-07 09:53:52.900 greenwell[578:152833] [WARN] [IMF] -[IMFAuthorizationManager cachedAuthorizationHeader] in IMFAuthorizationManager.m:447 :: There is no cached authorization header, use obtainAuthorizationHeaderWithCompletionHandler to get the header
2015-10-07 09:53:52.969 greenwell[578:152833] +[IMFResponse responseWithWLResponse:]: unrecognized selector sent to class 0x100113b48
2015-10-07 09:53:52.969 greenwell[578:152833] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[IMFResponse responseWithWLResponse:]: unrecognized selector sent to class 0x100113b48'
*** First throw call stack:
(0x185e98f5c 0x19a897f80 0x185e9fb64 0x185e9cc14 0x185da0dcc 0x10009c088 0x100093648 0x1000923fc 0x100099cb4 0x101315d70 0x101315d30 0x10131b780 0x185e50258 0x185e4e0c0 0x185d7cdc0 0x190d10088 0x18b456f44 0x10004d744 0x19b0b68b8)
libc++abi.dylib: terminating with uncaught exception of type NSException

对这个问题有什么想法以及如何解决它吗?感谢您的帮助...


确保您的客户端应用程序正在使用 -ObjC 标志进行编译。

此设置可以添加到您的目标下构建设置>链接>其他链接器标志部分。

双击现有设置,然后单击+符号。然后在文本字段中添加“-ObjC”。对于调试和发布设置都可以完成此操作。

有关此设置的更多信息,请参阅 Apple 的问答环节,其中包括使用类别构建 Objective-C 静态库 https://developer.apple.com/library/mac/qa/qa1490/_index.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试将设备注册到 Bluemix 上的 IBM Mobile First Push 服务时,iOS 应用程序崩溃 的相关文章

  • 如何在 swift 中以编程方式使用坐标打开地图应用程序?

    我想在地图应用程序中打开纬度和经度 我尝试了这段代码HERE https stackoverflow com questions 12504294 programmatically open maps app in ios 6 func g
  • 使用 NSFileHandle 覆盖数据

    使用 NSFileHandle 使用 truncateFileAtOffset 从文件末尾删除 n 个字符非常容易 void removeCharacters int numberOfCharacters fromEndOfFile NSF
  • GoogleSignIn ios 附加到谷歌表格

    我目前正在开发一个 iOS 应用程序 该应用程序需要写入登录用户拥有的 Google 工作表 要登录我正在使用的用户GoogleSignInpod 并附加到我正在使用的谷歌表GoogleAPIClientForREST Sheets pod
  • 奇怪的父/子NSManagedObjectContext现象

    我创建了两个这样的上下文 create writer MOC privateWriterContext NSManagedObjectContext alloc initWithConcurrencyType NSPrivateQueueC
  • 如何无限地每1分钟运行一个iOS应用程序?

    我制作了一个应用程序 需要每 1 分钟向服务器发送一次位置和状态更新 我尝试了以下方法 但没有一个能帮助我 有什么解决办法吗 1 NSTimer 很多人建议这样做 但问题出在后台模式上 它只能工作 20 分钟 该应用程序停止发送数据后 2
  • Android - API 请求

    我开发了一个应用程序 它也在 iPhone 上 问题出在 api 请求上 我为所有请求设置了超时 有时会出现 30 60 秒的中断 看起来这个应用程序执行了几个请求 然后就中断了 一直超时 大约 45 秒后一切正常 不知道是服务器问题还是安
  • 在 iOS 上使用 HEVC 编码器输出视频尺寸巨大

    我有一个项目 目前使用 H 264 编码器在 iOS 上录制视频 我想尝试在 iOS 11 中使用新的 HEVC 编码器来减小文件大小 但发现使用 HEVC 编码器会导致文件大小急剧膨胀 GitHub 上的一个项目显示了该问题 它使用 H
  • 如何在 SQLite 中替换字符串?

    如何更新具有以下内容的表列 var mobile 233KKFSDK3234 Documents Page jpg 并将其替换为 Documents Page jpg 在 SQLite 中 注意 所有文字 除了 Documents 是动态的
  • SwiftUI - 预览时未知的预览提供程序“ContentView_Previews_”。发生在一个全新的项目中

    我有这个简单的观点 import SwiftUI struct ContentView View var body some View Text Hello struct ContentView Previews PreviewProvid
  • 如何从日期中获取小时、分钟和上午/下午? [复制]

    这个问题在这里已经有答案了 我尝试从日期中提取小时 分钟和上午 下午 但我得到 NULL 输出 我在下面显示了我的代码 请查看 NSString dateStr 29 07 2013 02 00am NSDateFormatter form
  • 从 iOS 应用程序打开 YouTube 频道的最新 URL 方案是什么 [重复]

    这个问题在这里已经有答案了 我想使用 iPhone 应用程序中的频道打开 Youtube 应用程序 以前我使用以下 URL 方案并且工作正常 youtube 用户 频道名称 但在我将 Youtube 应用程序更新到最新的 2 6 0 后 这
  • 无需 iPhone 6 Plus 即可预览 iOS 应用程序

    我已经在 Yosemite 中使用 iPhone 6 和 Quicktime 完成了 iOS 应用程序预览 视频 但我无法在 iTunes Connect 中为 iPhone 6 上传它 而且我没有 iPhone 6 设备 有没有办法在没有
  • PhoneGap 1.4 封装 Sencha Touch 2.X - 性能怎么样?

    我正在构建一个多平台平板电脑应用程序 仅使用其 Webview 使用 Phonegap 1 4 对其进行包装 然后使用 Sencha Touch 2 框架发挥我的魔力 我所说的多平台是指 iOS 5 X 和 Android 3 0 目前 到
  • iOS NSURLSession,如何在didCompleteWithError中重试

    我想在我的服务器上尝试一次调用 直到成功为止 我想每 30 秒尝试一次 所以我使用 NSURLSession 进行通话 NSURLSessionDownloadTask task self session downloadTaskWithR
  • 如何获取 UITableView 中的所有单元格

    假设我有一个包含多行的 UITableView 我想在某个时间点将所有 UITableViewCells 作为 NSArray 获取 我努力了 tableView visibleCells 但这种方法有一个问题 我无法拥有当前不在当前屏幕中
  • UITextView:内存使用量巨大

    我在 UITextView 中遇到了内存使用过多的问题 我正在将 50Kb ascii 文本文件加载到 NSString 中 并将其分配给应用程序中空 UITextView 组件的 text 属性 这立即使我的内存占用量增加了 100Mb
  • 如何以编程方式使用资产目录图像的切片信息?

    我的项目中曾经有一个图像 我会像这样加载它 UIImage image UIImage imageNamed image name resizableImageWithCapInsets UIEdgeInsetsMake 10 0f 10
  • 断点条件错误

    我已经根据条件设置了断点 event name isEqualToString Some Name 这很好用 但是 当我尝试添加另一个带有条件的断点时 part name isEqualToString Some Value With A
  • 使用 nib 作为带有 nib 类的表节标题

    我想创建一个加载 nib 文件并将其设置为标题 UIView 的节标题 这个 nib 文件还将有一个关联的类 其中插座和操作连接到 因此我想像平常一样使用 nib 加载该类 我在网上搜索并找到了几个类似的答案 但我找不到任何适合我的答案 经
  • 进入后台时 Alamofire 请求卡住?

    我正在使用 Alamofire 调用 Web 服务 该服务需要相当长的时间才能加载 如果应用程序进入后台 当我返回应用程序时 我会被加载程序卡住 我想这是因为调用永远不会向我的完成处理程序返回任何内容 我该如何解决这个问题 您可以使用后台抓

随机推荐

  • 是否有任何算法可以使循环赛安排具有每轮独特的组合?

    假设我有 10 个参与者的数组 1 2 3 4 5 6 7 8 9 10 假设一个联赛有10名参赛者 那么每个参赛者将与其他9名参赛者进行9场比赛 因此 每位参赛者将进行9轮单场比赛 例如 第一轮 1 2 3 4 5 6 7 8 9 10
  • 是否有 C++ 位域的可移植替代方案

    在许多情况下 尤其是在低级编程中 数据的二进制布局很重要 例如 硬件 驱动程序操作 网络协议等 在 C 中 我可以使用读 写任意二进制结构char 和按位运算 掩码和移位 但这是乏味且容易出错的 显然 我尝试限制这些操作的范围并将它们封装在
  • 季度的天数?

    我将如何实施dayNumber of quarter 例如 3 月 3 日 第一季度 应返回 62 31 一月 28 二月 3 三月 4 月 29 日 第二季度 应返回 29 到目前为止我的代码 int month getMonth dat
  • NSDateFormatter 无法设置 setTimeZone

    我想知道两个日期之间的差异 包括天 小时 分钟和秒 为此 我使用下面的代码 但它不起作用 void UpdateTableViewCellWithNSTimer NSString gameTime UIView inputView NSDa
  • 如何使用 C# MVC4 调用 $.ajax 中的错误函数?

    我有一个使用 C 的 MVC4 项目 在这个项目中 我的一个控制器有一个由 Ajax 函数调用的方法 HttpPost public string EditPackage int id string newPkgName try do lo
  • 锁定数据库记录以进行编辑

    我有一个 SQL Server 2008 数据库和一个 asp net 前端 我想在用户当前正在编辑记录但不确定哪种方法是最佳方法时实现锁定 我的想法是有一个isLocked记录的列 当用户拉出该记录时 它会设置为 true 这意味着所有其
  • 为 Sublime Text 2 的嵌入式 Python 解释器安装 IPython

    我正在尝试在 sublime 中安装 IpythonIntegration 包 我安装在 bash shell 中 最新的 ipython pyzmq pyside 然而 崇高控制台仍然给我一个错误 Reloading plugin hom
  • 如何设置完全离线的 Cordova 构建?

    我使用 Cordova 创建了一个测试项目cordova create hello com example hello HelloWorld cd hello cordova platform add android 我第一次用它构建它co
  • 如何使用 DataContractJsonSerializer 处理 Json?

    我有这样的 json 结构 id 12345 first name dino last name he emails preferred 1 personal 2 business 3 other 4 我想获取电子邮件中的值 所以我写了两个
  • 为什么我不应该将序列化数组插入到我的数据库字段中?

    我刚刚看到这个问题的第一条评论在 PHP 中插入序列化数组 https stackoverflow com questions 3588957 inserting into a serialized array in php这让我想知道为什
  • 从类变量引用静态方法

    我知道有这样的情况是有原因的 但不知何故我有它 class foo static method staticmethod def test pass class variable c name i 有什么办法呢 仅供记录 我相信这应该被视为
  • C++ 抛出取消引用的指针

    下面抛出的异常对象的类型是什么 问题1 gt range error r error throw r 答案1 gt range error 的对象 问题2 gt exception p r throw p 答案2 gt 异常的切片对象 问题
  • 如何根据 RFC 2231 对文件名进行编码?

    我需要在 Content Disposition HTTP 标头属性处对文件附件进行编码 我注意到 RFC 2231 是最新的广泛接受的标准 并且想使用它 然而 我很难在核心 Java SE 和 Java EE 库中找到它的实现 你们有什么
  • 汇编,多个参数 -m32 / linux (与 C 中的 stdarg 相同)

    为了解决这个问题 我了解C 而且我仍然是汇编的初学者 所以我在这里遇到了一个小问题 我在获取多个参数时遇到了一些麻烦 如果我应该这样做的话 也许可以对它们进行计数 并在汇编代码中使用格式参数 尝试向具有许多参数的字符串添加一些字节 我知道如
  • bash.exe:警告:找不到/tmp,请创建

    为什么我的崇高文本给我警告 bash exe 警告 找不到 tmp 请创建 尽管它正在正确构建和运行代码 请帮助我看到这个警告后感到很恼火 我搜索了整个网络 但找不到任何解决方案 此错误消息具有误导性 至少对我来说 创建 tmp 目录后并没
  • Flash / Java Applet 的 NPAPI 插件替代方案

    我的问题是关于 2014 年 12 月后 chrome 宣布不支持 NPAPI 插件 Firefox 也遵循同样的规定 我的一个旧应用程序中有一个基于 NPAPI 的插件 到目前为止该插件运行良好 但在 Chrome 和 Firefox 发
  • 将常规文件复用为 Mpeg TS

    我正在使用 mpeg2 ts 和 ISDB T 综合服务数字广播 地面 的文件广播方法工作 我的问题是我无法将文件放入数据流中 或者作为原始视频 或者在mpeg ts 我使用 ffmpeg 和 avconv 这是一个测试示例 ffmpeg
  • java中的变量定义使用接口还是类型?

    ArrayList aList new ArrayList List aList new ArrayList 这两者有什么区别 哪个更好用 为什么 List 是一个接口 而 ArrayList 是该接口的实现 第二种更好 因为这意味着您可以
  • Firebird ADO.NET 4.10.0.0 数据提供程序是否可以与 Firebird 3.0 一起使用?

    我目前正在尝试将我的 ASP net 4 5 项目连接到最近发布的 Firebird 3 0 我使用的是 Visual Studio 2015 社区版 Firebird 3 64 位 并使用 NuGet 获取 ADO NET 4 10 0
  • 尝试将设备注册到 Bluemix 上的 IBM Mobile First Push 服务时,iOS 应用程序崩溃

    我有一个在 iPad mini 4 iOS 9 0 2 上运行的 iOS 9 应用程序 尝试将设备注册到 Bluemix 上的 IMFPush 服务实例时 它崩溃了 以下是在我的应用程序委托中执行注册的代码 func application