Tag: 苹果推送通知

从Banner /自定义操作启动应用程序时,不会调用applicationDidBecomeActive

我在尝试实现iOS-8的新交互式通知时遇到了这个奇怪的问题。 在处理本地通知时,一切都按预期工作,但对于APNS来说,事情并不奏效。 详细信息:我得到了自定义推送,因为它应该通过横幅(我只注册到最小的上下文),但是当用户点击代表自定义操作的button时,我的应用程序的代表applicationDidBecomeActive:不被调用; 事实上 – 应用程序卡在非活动模式。 奇怪的是,从Notifications(通知)屏幕启动时,应用程序会进入活动模式(“Today”(当前)的右侧)。 除此之外,在这两种情况下,我的代表: handleActionWithIdentifier:forRemoteNotification:completionHandler: 确实使用正确的标识符进行调用。 任何帮助将非常感激!

iOS APNS:以string格式将设备令牌发送给提供者

我需要通过调用我的请求中需要JSON数据的服务将我的iOS应用程序的APNS设备令牌发送给我的提供程序。 我正在阅读苹果的本地和推送通知编程指南 ,它只是说, application:didRegisterForRemoteNotificationsWithDeviceToken:委托方法传递设备令牌作为NSData ,你应该把它传递给您的提供商编码的二进制数据。 但我需要它被转换为string,以便能够发送一个JSON请求到我的提供者。 我也一直在阅读与此相关的几个post,因为它看起来是一种常见的情况,但我已经find了一些不同的方式来将这种设备令牌转换为string来发送它,我不知道它们中的哪一个应该是最合适的。 哪一个最可靠的方法来处理呢? 我想我的提供者将需要将这个string转换回来调用APNS,并且我还需要将此令牌存储在应用程序中,以便安全地将其与新值进行比较,如果生成新的令牌并调用application:didRegisterForRemoteNotificationsWithDeviceToken:只有在发生变化时才发送令牌。 谢谢

iOS – 在VoIP应用程序上发送来电通知的最佳做法

我能想到的来电通知的第一个解决scheme是Apple的推送通知服务。 然而,这并不能保证..有一个相对较高的机会可能会丢失..在VoIP应用程序,来电通知是如此重要,我不能错过它太频繁… 因此,我遵循提示,并启用了后台模式,以保持应用程序活着,并收听任何来电邀请。 正确的,我应该只显示本地通知,当应用程序获得来电邀请。 当应用程序处于后台/非活动状态时,此function非常好。 然而,当用户手动杀死应用程序,没有代码将被执行,所以应用程序将不会得到任何来电邀请在这种情况下…而由于这种特殊的情况下,我仍然必须依靠远程推送通知。 我想要实现的是先等待远程通知,如果到达,则不再显示本地通知。 如果丢失,则显示本地通知,以便用户始终得到通知。 问题是…我无法确定是否有远程通知。 我想知道什么是处理VoIP应用程序的来电通知的最佳做法?

Firebase Cloud Messaging iOS:无后台推送通知

使用更新的Firebase云消息传递方法,我可以在应用程序的didReceiveRemoteNotification在应用程序委托中的didReceiveRemoteNotification方法中成功接收有效内容。 但是,我没有得到任何有效负载,而且当我的应用程序是后台时, didReceiveRemoteNotification不会被调用,尽pipe消息成功发送的API响应(见下文) 以下是我发送到FCM API以触发推送通知的请求https://fcm.googleapis.com/fcm/send { "to": "{valid-registration-token}", "priority":"high", //others suggested setting priority to high would fix, but did not "notification":{ "body":"Body3", "title":"test" } } 与FCM的回应 { "multicast_id": 6616533575211076304, "success": 1, "failure": 0, "canonical_ids": 0, "results": [ { "message_id": "0:1468906545447775%a4aa0efda4aa0efd" } ] } 这是我的appDelegate代码 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { Fabric.with([Crashlytics.self]) […]

iPhone registerForRemoteNotificationTypes不会产生错误,但不会触发授予设备令牌的委托

我正在开发一个需要推送通知的iPhone应用程序。 我遵循了创buildauthentication和修改应用程序ID的说明。 我不完全肯定我做了这个正确的,但我确实按照方向。 任何想法如何我可以检查,看看这是否可以吗? 当我在模拟器中运行时,我收到一条错误消息,说模拟器不支持推送通知。 这是有点期待。 顺便说一句:我在这里似乎有这个问题几次。 它似乎总是与一个监狱破碎的电话。 我的手机没有被监禁。 但是当我在iPhone上debugging时,didRegisterForRemoteNotificationsWithDeviceToken方法永远不会被触发。 我真的很感激一些帮助。 我的代码如下。 -(void)applicationDidFinishLaunching:(UIApplication *)application { rootController.delegate = self; [window addSubview:rootController.view]; [window makeKeyAndVisible]; [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)]; } – (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { NSString *str = [NSString stringWithFormat:@"%@",deviceToken]; NSLog(str); } – (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err { NSString *str = [NSString stringWithFormat: […]

我怎样才能对iOS .xarchive进行代码签名,这样客户端才能正常辞职? (使用推送通知)

我需要使用开发人员configuration文件创build一个iOS .xarchive文件,客户端可以使用其分发configuration文件来辞职。 (我已经读过,但没有任何真正的解决scheme: 如何将iOS应用程序发送到客户端,让他们代码签名 ) 客户不想分享他们的私钥,也不会让我在会员中心的“开发者”之上访问。 而我们不想分享我们的源代码。 我们需要支持推送通知,所以这意味着我们需要一个完全合格的应用程序ID。 我找不到一种方法可以让我创build和导出一个用'aps production','get-task-allow'作为false签名​​的.xarchive,但是也可以使用与客户端分发证书匹配的证书。 这在Xcode中感觉就像是一个bug,不应该把'aps production'和'get-task-allow'的改变和configuration绑定在一起,而不是configuration文件的types。 我正在使用'发布',但与我的开发人员configuration文件。 我错过了什么,或者这是不可能的?

使用电话号码的Firebase身份validation会返回内部错误

我设置了我的应用程序,以便能够使用Firebase发送Apple通知,并validation了它可以使用控制台。 现在我想做一个build立在APN之上的电话authentication。 所以我写了这个: PhoneAuthProvider.provider().verifyPhoneNumber(phoneNumber) { verificationID, error in if error != nil { print("Verification code not sent \(error!)") } else { print ("Successful.") } 我得到: Error Domain=FIRAuthErrorDomain Code=17999 "An internal error has occurred, print and inspect the error details for more information." UserInfo={NSUnderlyingError=0x170046db0 {Error Domain=FIRAuthInternalErrorDomain Code=3 "(null)" UserInfo={FIRAuthErrorUserInfoDeserializedResponseKey={ code = 500; message = "<null>"; }}}, […]

苹果MDM推送错误,但只限于一些iOS设备

我们在某些iPhone设备上遇到MDMpush错误: 7月30日17:52:46 Mirnas-iPhone apsd [49]::stream错误发生:错误域= NSPOSIXErrorDomain代码= 54“操作couldn'-t -be -completed- .-连接-reset -by -peer- “-UserInfo – = – 0-x-1-4-3-5-4-0 – { – } 所有的设备是相同的,相同的iOS版本,但在50%的设备上,我们有这个错误。 在其他设备上,推送工作正常。 带有此问题的设备在安装MDM有效负载期间没有问题,但是当我们尝试推送某些内容时,会发生错误。

iOS – 处理推送通知与APNS

考虑到我收到我的iPhone推送通知。 怎么了: 如果应用程序启动:有没有办法获得有效载荷? 我在屏幕上看到通知吗? 如果应用程序没有启动,有没有办法获得有效载荷? Thx为您的答案

didRegisterForRemoteNotificationsWithDeviceToken永远不会调用特定的设备

首先,我在iPhone 6 Plus / iOS 8.1上,我已经尝试了一切: 为什么没有调用RegisterForRemoteNotificationsWithDeviceToken 仍然无济于事。 总结: 我已经检查了我的包标识符与configuration文件/开发门户中的包标识符相匹配 我已经创build了一个新的开发推APNS证书 我已经创build了一个新的开发证书 我为该开发证书创build了一个新的configuration文件 我已经下载了证书和configuration文件,显然,双击它们进行安装 我已经validationDeveloper Portal上的所有内容都正确:所有证书和configuration文件都有效,推送启用并使用我的新APNS证书进行configuration 我已经将我的新APNS证书上传到Parse(这一步无关紧要,但无论如何),因为我正在使用Parse分析我的后端 我确定我在Xcode上使用正确的证书/configuration文件对来进行密码设置 我检查了通知设置,以防我的应用程序不允许接收推送,它不在那里 我试过手动设置date到明天,并尝试重新安装应用程序 我已经从我的设备中删除了该应用程序 我从我的设备中删除了任何相关的configuration文件 我已经多次重启我的设备 在application:didFinishLaunchingWithOptions:我打电话给: if([application respondsToSelector:@selector(registerUserNotificationSettings:)]){ //iOS 8+ [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; }else{ //pre-iOS 8 [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; } 在application:didRegisterUserNotificationSettings:我打电话给: [application registerForRemoteNotifications]; 我已经检查了一个断点,它会被调用。 我也实现了两种方法: application:didRegisterForRemoteNotificationsWithDeviceToken: 和 […]