WhatsApp如何在iOS上加密推送通知?
最近WhatsApp 集成了信号协议用于所有平台的端到端加密. 我和朋友一起尝试了它,并说加密已激活. 在iOS 8上禁用应用程序和背景任务的情况下,我朋友的推送通知仍然显示了消息. 问题: WhatsApp是否加密APNS消息?如果是,它们如何显示文本? iOS上是否有用于处理推送通知的方法? 预先感谢! 解决方案 WhatsApp可以使用VoIP背景模式以及PushKit来解决此问题. voip推动是: 直接交付给应用程序. 被认为是高优先级通知,并毫不拖延地交付. 即使该应用程序是用户强制征用的. 有关详细信息,请参阅 IP(VoIP)的语音最佳实践 一旦加密的VoIP推动有效载荷被解密,他们就会显示"本地通知". 有一个小问题,PushKit仅在iOS 8和更高版本上可用.那么,WhatsApp如何为iOS的较早版本进行操作呢? 好吧,不是.他们不允许您在iOS 8(在iOS 7上进行了验证,请参见屏幕截图) 之前在版
0 2023-12-03
编程技术问答社区
应用被杀时的iOS推送通知
我想知道,当该应用程序从后台杀死时,WhatsApp如何处理视频推送通知.考虑到单击应用程序图标而不是通知. 1-推送通知每5秒钟显示一次 2-铃声播放单个时间,尽管该应用程序在30秒内一直显示推送通知. 解决方案 当应用程序处于杀死状态时,将不会调用DidreceivereMotonotification方法.然后,将调用通知应用程序(_:didfinishlaunchingwithoptions)方法.如果通过Tap on Notification启动了应用程序,则启动器包含有效载荷.为此,在此方法中编写给定代码: func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { if launchOptions != nil{
0 2023-12-03
编程技术问答社区
在设备离线的情况下,APNS只存储一个通知,Whatsapp如何接收多个通知?
根据官方的Apple文档,APN(Apple Push Notification Service)仅存储如果设备离线. Apple Push Notification服务包括默认服务质量 (QoS)执行存储函数的组件.如果APN 试图发出通知,但设备离线,QoS 存储通知. 它仅保留一个通知 设备上的申请:从一个收到的最后一个通知 该应用程序的提供者.稍后脱机设备 重新连接,QoS将存储的通知转发到设备. QoS在删除之前保留有限期限的通知 它. 那么,当设备在线时,诸如WhatsApp之类的应用程序如何从多个用户发送消息?如果设备在线,这些消息将作为单独的通知收到. 解决方案 似乎在iOS 8上对此问题有一个更新,即使您的用户手动杀死了它,因此您的应用程序即使推动也可以在后台醒来.检查一下:使用ios8中的PushKit在后台唤醒您的应用程序. 这意味着您可以将通知发送到您的应用程序,并且一旦重新连接,操作系统将唤醒它,并能够与您的服务器通信.然后,您可以实现
0 2023-12-03
编程技术问答社区
Worklight推送通知(APNS)因javax.net.ssl.SSLHandshakeException而失败。
我在iOS上有一个Worklight 6.1应用程序,并带有推送通知.它可以正常工作,直到Worklight Server上出现问题.此后所有推送通知失败,直到服务器重新启动为止. Linux X86_64上的Worklight Server是Liberty 8.5.5.0 使用JDK:Java-1.7.0-ibm-1.7.0.5.0.x86_64 Worklight Database是Derby(这是测试服务器) 我启动服务器时一切都很好. 服务器启动10分钟后,我看到: [2/20/14 19:39:15:319 CST] 0000003e com.notnoop.apns.internal.ApnsFeedbackConnection W Failed to retreive invalid devices java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException:
0 2023-12-03
编程技术问答社区
是否有可能在没有APNS的情况下进行推送通知?
我需要知道是否有可能在不使用APN的情况下进行推动通知. 如果可以做到,最好的选择是什么? Web服务器 - > pushnotification->设备 VoIP应用程序呢? - > 我们可以不使用apns推动通知吗? 谢谢. 解决方案 否,没有APN没有推动通知.这是对苹果的限制,并记录在其他解决方案 不,如果不使用Apple的推送通知服务,您无法将通知推向设备. 其他解决方案 不可能以与使用Apple Push Notification Service的内置推送通知相同的方式显示应用程序的推送通知. 您可能能够设置某种基于Web插座的解决方案,但是当您的应用程序在后台时,这将无法使用,从而击败了这一点.
0 2023-12-02
编程技术问答社区
IBM Worklight-更改或添加iOS推送证书后,我应该部署什么?
我正在研究IBM工作灯6.0.0.1项目.在我的应用程序已经部署在服务器中之前,我为iOS配置了推送通知. 我的问题是:我应该再次部署什么以获取服务器上的推送通知证书(.p12证书文件). 我应该只是部署iPhone .wlapp文件吗?还是我还应该部署.war文件的较新版本? 解决方案 您将需要重新删除.wlapp文件,其中包含服务器的部署数据.在这种情况下,推送通知所需的.p12证书.
一个网络应用程序如何向iOS设备发送推送通知?
我正在使用网络应用程序.有新内容时,如何向iOS用户发送推送通知? 解决方案 要更具体,为了使Web应用程序将推送通知发送到移动设备(例如iPhone),移动设备必须已注册才能接收特定应用程序的推送通知.推送通知的注册是通过本机应用程序完成的,只能通过本机应用程序执行.一旦注册了本机应用程序以进行推送通知,它就可以将授权令发送到服务器,该服务器可以与用于提供本机客户端的证书一起使用,以将推送通知发送到移动设备. 正如另一个答案中指定的那样,一个选项是将您的Web应用程序"包装"到本机应用程序中.这意味着您将创建一个本机应用程序,该应用程序基本上向显示您的Web应用程序的用户提供了UIWebView(对于iPhone开发).虽然这几乎以与本机浏览器相同的方式函数,但您将能够添加使用本机控件注册通知的能力. 查看Apple的推送通知文档对您来说是有益的,因为它提供了有关推送消息如何在iPhone上功能的很好的信息. 请参阅Peter Hosey提供的这些链接:
2 2023-11-29
编程技术问答社区
如何验证苹果APN设备令牌-WCF .NET
我正在构建一个由移动应用程序调用的WCF REST Web服务,以将Apple设备令牌插入数据库中.我想在插入数据库之前验证设备令牌.无论如何是否有验证设备令牌以了解它是否有效?? 我已经在论坛上搜索,找不到任何示例代码(在.net)来执行此操作,建议我应该使用Apple反馈服务,但是我该如何在.NET上进行? 任何人都可以给我一个示例代码以验证.net中的Apple设备令牌. 非常感谢, 解决方案 您无法验证设备令牌.在将令牌插入数据库之前,您唯一可以验证的是其长度为32字节(以二进制表示)或64个十六进制字符(在字符串表示中). 除此之外,您应该检查Apple的响应,以查看是否获得无效的错误响应.如果这样做,您会知道发送的设备令牌,该消息带有导致错误的消息无效. 反馈服务不会返回无效令牌.它返回有效的设备,这些设备卸载了您的应用程序. 我不能给您任何C#代码,但是PushSharp应该支持拨打反馈服务和读取Apple的错误响应. 其他
2 2023-11-27
编程技术问答社区
iPhone的应用程序通知将默认在Apple Watch上触发,甚至不需要创建一个实际的Watch应用程序?
我想从释放手表的第一刻起就支持iPhone的应用程序在Apple Watch中的本地通知,但我不打算构建手表应用程序. 据我所研究,似乎将在手表上自动支持iPhone的通知,而无需任何其他开发或戴戴式实施. 应用不需要做任何事情来支持通知.该系统提供了一个默认通知接口,该接口从通知中显示警报消息.但是,应用程序可以自定义通知接口并包括自定义图形,内容和品牌. 这是正确的吗? 如果是: 1.手表上的通知会像配置为iPhone应用程序一样具有动作按钮吗? 2.有什么办法可以在模拟器上测试该测试以确保其按预期工作? 如果不是: 3.有没有任何方法可以在不创建手表应用程序的情况下支持通知? 这是我到目前为止发现的更相关的问题,但这并不是我真正想要的. 如何使用watchkit 触发通知 解决方案 我想从释放手表的第一刻开始支持我的iPhone应用程序本地通知 是,您的iOS应用程序的通知将从Apple Watch上的第一天起使用. 将通知手表上
0 2023-11-27
编程技术问答社区
处理iOS中聊天应用程序的远程通知
背景 我正在为聊天消息申请申请信息,我在用户从发件人接收消息时面临问题. 我想实现的目标 就像WhatsApp所做的那样,在收到推送通知并打开飞机模式后,我仍然可以在打开应用程序时看到消息内容.因此,我相信它在收到通知时收到了消息. 问题 当用户通过主屏幕上的图标打开该应用时,我找不到一种处理远程聊天消息的好方法,而不是按通知或对其他操作执行其他操作. 我尝试的 我在应用程序进行操作时手动加载了该消息,但这不像WhatsApp上测试的行为. 我尝试了我的问题 如果仍在使用推送通知或背景模式远程通知,是否有任何方法可以在应用程序不运行时处理推送通知? 我还了解了Apple Pushkit,我不确定仅允许提供应用程序的VoIP.有人知道,如果我只使用Pushkit即可接受我的应用程序? 是否会接受我的应用程序? 一个不可思议的问题,WhatsApp如何实现这一目标?它也使用PushKit吗? 解决方案 实际上,当您的应用程
0 2023-11-25
编程技术问答社区
在生产环境中发送PushKit通知时出现 "无效令牌"
我试图通过Pushkit发送VoIP通知,但是在生产(分销)环境中,我从服务器中获得"无效令牌". 所有情况在开发环境中都可以使用相同的证书和URL:ssl://gateway.sandbox.push.apple.com带端口:2195 但是,当我将URL更改为:ssl://gateway.push.apple.com时,我会收到"无效的令牌"错误,而没有额外的数据 解决方案 看起来您正在使用Sandbox环境中客户端生成的同一VoIP设备令牌用于沙盒和生产.这就是您会遇到无效令牌错误的原因. 这将行不通.如果要使用生产环境,则需要确保客户/应用在生产环境中创建设备令牌. (当服务器使用生产环境时,您无法使用客户端生成的设备令牌) ) pl.注意,为同一设备上同一应用程序/客户端的沙盒/生产环境生成了单独的设备令牌.希望它有帮助.
0 2023-11-25
编程技术问答社区
对于使用Pushkit和APNS的醒目的iOS应用,应该在应用服务器上使用哪个证书?
我正在使用iOS应用中的Websocket进行数据传输.但是,由于有时将应用程序悬挂在后台时,插座会断开.在这种情况下,我使用VoIP推送到iOS应用程序来唤醒应用程序. //called on appDidFinishLaunching //register for voip notifications PKPushRegistry *voipRegistry = [[PKPushRegistry alloc] initWithQueue:dispatch_get_main_queue()]; voipRegistry.desiredPushTypes = [NSSet setWithObject:PKPushTypeVoIP]; voipRegistry.delegate = self; //delegate methods for `PushKit` #pragma mark - PushKit Delegate Methods - (void)pushRe
0 2023-11-25
编程技术问答社区
iOS 13原因:'杀死应用程序,因为它在收到PushKit VoIP推送回调后从未向系统发布过来电;
从很多天开始,我一直遇到这个问题... AnyHashable("aps"): { alert = { action = test; body = "{\"action\":\"connect\",\"meetingId\":\"mdkdkkydjgedjhd\",\"from\":\"sender\",\"fromToken\":\"9d739e878521cf770d9e5136161cf7611c242ef2a8b53c83c81b6b6021a7b31b\",\"to\":\"receiver\",\"toToken\":\"e65bf5e3d6a3e440eb364fb620539de4f4c2c1bf98be5f753f5abfbe7fecea74\",\"callUUID\":\"9EB823F3-F857-490B-BCFC-373D05E56933\"}"; title = Call; };
0 2023-11-25
编程技术问答社区
iOS13:替代VOIP推送通知(企业),在后台默默地与一个应用程序沟通,现在iOS13杀死了它
因此,在我们的企业环境中,我们很高兴地使用VoIP推送通知来远程访问用户的平板电脑,以进行维护和远程数据修复目的.与常规APN不同,即使不运行,VoIP推送通知也将访问该应用程序.我本应该认为苹果会在某个时候杀死它. 是否有人知道一个私人API绕过拨打电话 Report newComingCallwithuuid ,它带来了全屏调用UI,或者我想不出其他机制来访问该应用程序中的应用程序中的应用程序背景即使被杀死 - 通知服务扩展也无法正常工作(我相信),因为它只适用于屏幕消息.谢谢 解决方案 如果您不打算将其发布到Apple Store,也不关心私有API的使用(可以随时更改,打破代码),则可以使用方法来更改实现系统被调用以崩溃应用程序的功能. 就我而言,我的项目具有迅速而OBJC的互操作性.我这样做了: 创建一个名为PKPushRegistry+PKPushFix_m.h的文件,其中包含此 > 将其包括在您的快速桥接中. 其他选项(也不能在Apple S
0 2023-11-25
编程技术问答社区
迁移到iOS VoIP推送通知
我们有一个VoIP应用程序,目前正在使用标准推送通知.我们想更新以使用PushKit和VoIP推送通知.我有点不确定如何从当前的标准APN设置迁移到新的.问题: 1)我们当前的APNS生产证书是否可以向新VoIP客户发送推送消息? 2)我们的新VoIP推送证书能否能够向现有的标准APNS应用(令牌)发送推送消息? 解决方案 请参考PushKit Demo hasyapanchasara/pushkit_silentpushnotification 目标c演示也在那里 https://github.com/hasyapanchasara/pushkit_silentpushnotification/tree/master/master/objective%20c%20demo/pushkitdemoobjectivec 下面是Swift代码,用于注册推送套件并接收Pushkit有效载荷. import UIKit import PushKit cl
0 2023-11-25
编程技术问答社区
语音应用ios8:pushkit仍然是最佳做法吗?
我正在研究一个需要可靠的推送消息(如iOS9)的应用程序. 在这里说,使用ios8+应该使用APN(registerforremotonotifications): 在"优化VoIP应用程序文档"中,Pushkit是首选: 有人对此有线索吗? 还是他们在后台运行相同的代码? 解决方案 来自 VoIP推送通知的文档: 仅当VoIP推动出现时,该设备才会唤醒,从而节省能量. 与标准推送通知不同,用户必须在 您的应用程序可以执行操作,VoIP按直接推向您的应用 用于处理. VoIP推动被认为是高优先级通知 并毫不拖延地交付. VoIP推送可以包含更多数据 比标准推送通知提供的内容. 您的应用程序是 如果VoIP推动是不运行的,则会自动重新启动 收到. 即使您 应用在后台运行. 我认为,VoIP推送通知比常规通知的最大优势是,如果该应用被强制关闭,则该应用程序会重新启动. 通常,如果您不使用推送通知进行VoIP功能,例如要通知来电,请使用Pushk
0 2023-11-25
编程技术问答社区
iOS-在VoIP应用上发送来电通知的最佳做法
我可以想到的第一个解决方案是苹果的推送通知服务.但是,不能保证它..它可能会丢失的可能性相对较高..在VoIP应用中,传入的通知通知非常重要,以至于我不能经常错过它... 因此,我跟随背景模式以保持应用程序存活并聆听任何传入的呼叫邀请.右边,当应用获取传入呼叫邀请时,我应该只显示本地通知.当应用在后台/不活动中,这可以很好地工作.但是,当用户手动杀死该应用程序时,不会执行任何代码,因此该应用不会在这种情况下获得任何传入的呼叫邀请...并且由于这种特殊情况,我仍然必须依靠远程推送通知. 我要实现的目标是..首先等待远程通知,如果到达,请不要显示本地通知.如果丢失,请显示本地通知,以便用户始终通知. 问题是...我无法判断远程通知是否到了. 我想知道如何处理VoIP应用程序传入通知的最佳实践? 解决方案 来自Appledoc . (更新的链接) 在iOS 8及以后,Voice-Over-Over-IP(VoIP)应用程序为UireMoteNotifica
0 2023-11-25
编程技术问答社区
苹果PushKit didUpdatePushCredentials在iOS 9+上从未被调用。
我正在为iPhone开发VoIP应用程序.要接收电话,Apple开发了Pushkit,因此开发人员可以使用APN发送VoIP通知. 在iOS 8上一切正常. 有什么想法/建议? 解决方案 启用项目 - >功能的"推送通知"标志解决了我的问题.这很奇怪,因为它在没有它的情况下工作.这个答复可能很晚,但希望这对某人有帮助.我很难弄清楚这一点. 其他解决方案 如果您正在运行较新的Xcode(我在Xcode 9上),则VoIP不在"功能"选项卡上的背景部分中.这将阻止didUpdatePushCredentials被称为! 诀窍是您必须进入plist,在Required Background Modes中,您需要添加App provides Voice over IP services. 其他解决方案 所以我也遇到了这个问题,花了两天时间把我的头发拉出.我做了所有这些: 干净的项目打开/关闭背景模式 打开/关闭推送通知 重新启动X-Code 重新
0 2023-11-25
编程技术问答社区
VoIP通知证书主题必须以" .voip"结尾,并且设备令牌应用程序套件以" .voip"结尾
我在Twilio中有错误,说" VoIP通知证书主题必须以" .voip"结尾,并且设备令牌应用程序捆绑包以" .voip"结束. 当我检查类似问题时发现解决方案是要更改 "解决方案是捆绑+.voip" 我试图在开发人员中创建一个用" .voip"结尾的捆绑包,尽管ID是唯一但无法创建的.每当我添加.voip时,它不允许我创建. 我可以告诉我如何应用上述解决方案. 如何,何处和我要做什么才能应用解决方案. 解决方案 实际上,您不必创建新ID.而是要求您的后端团队使用标头字段将VoIP通知推向APNS服务器: apns-topic:" com.com.pany.app.voip" 其中com.company.app是重新捆绑的ID. 也许您可以使用以下工具来测试推送通知. https://github.com/lalkrishna/pushfy/pushfy/releases 在PushFy中,选择"推送"类型为" VoIP"
0 2023-11-25
编程技术问答社区
如果应用被强制退出,设备被重启,Voip Pushkit通知将不会重新启动。
如果用户已强制使用该应用程序(通过在多任务界面上刷卡),并且如果重新启动了设备,则无法获得VoIP PushKit通知来重新发布应用程序. . 但是,我可以在以下情况下获得VoIP PushKit通知来工作: 该应用程序被强制使用,然后推送通知到达.该应用将立即重新推出.在这种情况下,标准推送通知无法唤醒应用程序. 该应用在后台/悬挂式中,并重新启动设备.多亏了VoIP模式,该应用程序将在设备重新启动时重新启动(我可以在Xcode Activity Monitor中看到该过程).这里需要一个技巧来使PushKit通知正确处理,并在 http "> http://博客.biokoda.com/post/post/114315188985/ios-and-pushkit 在这些术语中"在初始化pushkit启动背景任务之前.在收到upphkit token时完成此任务" 以某种方式组合这两个(设备重新启动和App Force Quit)时,PushKit通知似乎并不
0 2023-11-25
编程技术问答社区