繁体   English   中英

我的应用推送通知仅在我的客户端的iPhone中不起作用

[英]My App Push Notification is not working in my client's iPhone only

我正在iOS中开发移动应用程序,并且我已成功完成了推送证书和服务器端实现的创建。

现在问题是,Push Notification在我的iPhone 5S和iPhone 6中完美运行。我已经在印度的许多手机中检查过它,它工作正常但是当我在我的客户端的iPhone 5S中测试它然后它不起作用。 之后,我的客户带来了另一部iPhone 5S,并给了我他的新设备UDID,再次它无法正常工作。 请帮我解决有什么问题。

经过大量谷歌搜索后,我发现以下步骤,以便我们的应用程序可以再次询问推送通知权限。

  1. 从设备中删除不再具有推送通知的应用。
  2. 完全关闭设备并重新打开。
  3. 转到设置并提前一天设置日期和时间
  4. 再次关闭设备并将其关闭
  5. 再次安装应用程序,它会在第一次安装时询问通知。

我按照上面的步骤和设备询问推送通知权限,但它仍然无法在他的iPhone中工作。

之后我在印度的iPhone中执行了相同的步骤,其中推送通知已经在工作。 完成上述步骤后,我的应用程序要求获得推送通知权限,并且工作正常。

以下信息可以帮助我们解决此问题。 我的客户位于英国曼彻斯特,他正在使用基于O2合约的iPhone。

在手机中测试并使用apple的沙盒服务器进行推送通知时,您必须使用开发证书,而在客户端的情况下,您必须使用部署证书使用部署的应用程序,因此您需要从推送通知的服务器中删除沙箱在您的服务器端并使用实时服务器。 它会起作用,我曾经也遇到过同样的问题。 gateway.sandbox.push.apple.com:2195这是沙箱从中删除沙箱的地址,您将开始在使用部署证书进行的应用程序上获取通知。 我希望这有帮助。

它与@Ahsan Ebrahim提出的答案完美配合。 如果我们想在客户端的设备上测试APNS,这是正确的步骤。

  1. 创建基于生产的APNS证书。

  2. 使用AdHoc作为IPA分发,因为根据Apple AdHoc用于“创建分发配置文件以在有限数量的已注册设备上安装您的应用程序”。 和iOS App Development:“创建配置文件以在测试设备上安装开发应用程序。”

    我们必须在这里选择AdHoc,以便我们可以分发IPA。

  3. 在服务器上使用基于生产的ck.pem文件。

  4. 在Server上使用gateway.push.apple.com:2195而不是gateway.sandbox.push.apple.com:2195。

代码使用AdHoc Distribution为您的应用程序签名,您就完成了。

之后,它将完美地工作。

这必须是Provisioning文件的问题。 在为客户生成IPA时,请检查您是否使用了正确的条款。 我之前有同样的问题,Xcode错误地采用了通配符移动设备(推送通知不适用于通配符移动配置文件)。我的配置文件的默认应用ID是自动创建的“Xcode iOS通配符应用ID”。 快乐的编码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM