Tag: 苹果推送通知

Firebase:无法上传生产APN证书

我目前正在testingTestFlight中的一个应用程序,并且需要一个生产APNs证书才能testingFirebase中的通知。 我已按照此video中的所有步骤成功configuration了开发APN证书: https : //www.youtube.com/watch?v= LBw5tuTvKd4 我还检查了Firebase支持指南后面的步骤。 尽pipe我注意到,自从编写此指南后,Apple Developer网站发生了一些变化: https : //firebase.google.com/docs/cloud-messaging/ios/certs#configure_an_app_id_for_push_notifications 我在developer.apple.com上使用与开发证书相同的方法生成了一个生产APNs证书,但是当我尝试将.p12file upload到Firebase时,它给了我以下错误: “证书环境不匹配,确保你有正确的开发或生产APNS证书。” 我肯定上传了从生产APNS证书生成的.p12,还有什么我需要做的生产证书?

iOS-如何在iOS 10中集成推送通知?

我已经使用iOS 8,9的以下代码: UIMutableUserNotificationAction *action1; action1 = [[UIMutableUserNotificationAction alloc] init]; [action1 setActivationMode:UIUserNotificationActivationModeBackground]; [action1 setTitle:@"REJECT"]; [action1 setIdentifier:NotificationActionOneIdent]; [action1 setDestructive:NO]; [action1 setAuthenticationRequired:NO]; UIMutableUserNotificationAction *action2; action2 = [[UIMutableUserNotificationAction alloc] init]; [action2 setActivationMode:UIUserNotificationActivationModeBackground];////UIUserNotificationActivationModeBackground [action2 setTitle:@"ACCEPT"]; [action2 setIdentifier:NotificationActionTwoIdent]; [action2 setDestructive:NO]; [action2 setAuthenticationRequired:NO]; UIMutableUserNotificationCategory *actionCategory; actionCategory = [[UIMutableUserNotificationCategory alloc] init]; [actionCategory setIdentifier:NotificationCategoryIdent]; [actionCategory setActions:@[action1, action2] forContext:UIUserNotificationActionContextDefault]; NSSet *categories = [NSSet setWithObject:actionCategory]; UIUserNotificationSettings […]

ios 7设备令牌对于相同的设备是不同的

我在一个设备中有两个应用程序。 对于iOS 7,这两个应用程序都发送不同的设备令牌,但对于iOS 6,这两个应用程序都发送相同的设备令牌。 根据我的理解,设备令牌必须与一个设备中的所有应用程序相同。 iOS7和iOS6有什么不同吗?

新的APNS提供者API和PHP

我开始创build一些基于此的代码来发送来自PHP的推送通知。 但是现在我已经知道有一个新的API使用HTTP / 2并且在响应中提供了反馈,所以我想弄清楚我需要做什么才能得到这个反馈。 我一直没有find任何教程或示例代码给我指示(我猜是因为它是如此新)。 是否有可能使用连接到APNS的stream_socket_client()方法与新的提供者API? 我如何获得反馈? 我现在从fwrite($fp, $msg, strlen($msg))得到的所有数据都是一个数字。 对于所有的意图和目的,你可以认为我的代码与我的代码所依据的SO问题的代码相同 谢谢!

ApnsPHP:推送通知工作在开发,但不是在生产

是的:这个问题有很多重复,但没有任何答案有帮助。 我正在使用Ali Hafizji关于使用APNS服务进行推送通知的伟大教程 。 以开发模式testingAPNS: 下载aps_development.cer 导出证书的私钥( aps_development_key.p12 ) 然后我使用下面的命令(使用terminal)将两者结合起来: openssl x509 -in aps_development.cer -inform der -out aps_development.pem openssl pkcs12 -nocerts -out aps_development_key.pem -in aps_development.p12 cat aps_development.pem aps_development_key.pem > final_aps_development.pem 和(在服务器上使用ApnsPHP)我可以用这个configuration成功发送推送通知: … $push = new ApnsPHP_Push(ApnsPHP_Abstract::ENVIRONMENT_SANDBOX,'final_aps_development.pem'); $push->setRootCertificationAuthority('entrust_root_certification_authority.pem'); $push->setProviderCertificatePassphrase('mypassword'); … 一个旁注:我从https://github.com/jonathanrcarter/push2press entrust_root_certification_authority.pem,正确的地址寻找它可能是https://www.entrust.net/downloads/binary/entrust_2048_ca.cer (无论如何他们是同样的事情)。 在这种情况下,应用程序以debugging模式运行(在设备上,从XCode运行),一切工作正常。 在生产模式下testingAPNS: 要在生产模式下testingAPNS,我将AdHoc分发应用程序归档,并使用iPhoneconfiguration实用程序将其安装到设备上。 我使用aps_production.cer来执行相同的过程来final_aps_production.pem 。 砰,被称为发送推送通知的PHP脚本返回HTML状态码500。 $push代是当然修改生产模式: … $push = new ApnsPHP_Push(ApnsPHP_Abstract::ENVIRONMENT_PRODUCTION,'final_aps_production.pem'); $push->setRootCertificationAuthority('entrust_root_certification_authority.pem'); […]

APNS通知未到达在Apple MDM中注册的设备

苹果MDM被使用。 这是使用APN的MDM。 mobileconfig的主题与APSP-XXX.pem的主题相同。 在设置mobileconfig后,设备令牌和PushMagic的string到达​​了MDM服务器。 我使用APN发送设备令牌的电报字样。 它由PushMagic的stringreplace。 虽然从MDM服务器通过APN发送{"mdm":"xxxxxxxxxxxxx-xxxx-xxxx-xxxx"} ,但未到达iPhone。 为什么?

生成MDM证书

我是iOS开发新手。 我必须创buildMDM证书来利用默认的iOS MDMfunction。 我已经完成了文档,如何生成MDM服务器的APNS证书,但是我不清楚如何生成MDM证书,该MDM证书可以用于为在MDM服务器上注册的所有设备提供MDM服务。

如何捕捉所有iOS推送通知与不同的用户操作,包括点击应用程序图标

根据苹果指南: “通过提示通知,用户点击提醒的操作button或点击(或点击)应用程序图标,如果点击操作button(在运行iOS的设备上),系统启动应用程序和应用程序调用其委托的应用程序:didFinishLaunchingWithOptions:方法(如果已实现);它传入通知有效内容(用于远程通知)或本地通知对象(用于本地通知)。 如果在运行iOS的设备上点击应用程序图标,应用程序将调用相同的方法,但不提供有关通知的信息。 如果在运行Mac OS X的计算机上单击应用程序图标,应用程序将调用代理的applicationDidFinishLaunching:方法,在该方法中代理可以获取远程通知有效内容。 我的问题是,假设用户得到了来自提供商的3-4推送通知,并且所有都存储在苹果的通知中心。 如果用户点击通知提醒,他/她可以很容易地在应用程序中获取通知数据。 但是,如果用户点击iPhone上的应用程序图标,如何获取所有以前的通知相关的所有数据。 提前致谢!

如果应用程序已经运行,如何处理推送通知?

如果应用程序已经运行,我们如何处理推送通知? 如果应用程序正在运行(而不是推送通知警报),我想显示警报。 只有当应用程序没有运行,然后显示推送通知警报。 另外,如果我发送有效载荷到APN,如何使用取消button创build警报?

didReceiveRemoteNotification不在后台工作

我正在开发一个有大量遗留代码的大型应用程序。 目前 – 有一个实施: – (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 问题是只有当应用程序处于前台时才会调用它,或者当应用程序在后台时用户点击通知。 我试图实现: – (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler 但该应用程序的行为相同。 在任何情况下 – 当应用程序在后台时不会调用此方法。 可能是什么问题呢?