2017-08-30 203 views
0

我目前正在开发一个ios应用程序。前几天我使用了一个苹果账户,该账户是作为个人注册的。要接收通知,我使用了fastlane pem:https://github.com/fastlane/fastlane/tree/master/pem来创建一个pem文件。该库为您的Apple帐户中的推送通知(类型:Apple推送服务)生成证书。这pem文件被添加到我们的服务器和推送通知工作,我收到他们。更改为另一个苹果帐户后不会收到任何推送通知

但是,我们更改为新的苹果帐户,该帐户作为个人注册。我在XCode中使用了这个帐户,创建了一个新的应用程序ID(之前还有另一个包ID)和配置文件。我再次使用了Fastlane pem创建一个新的pem文件并更新了服务器上的pem文件。出于某种原因,我现在没有收到通知。当我们更改为第一个帐户并再次更新pem文件时,它再次工作。所以,我想这与新的苹果帐户有关。

有什么想法?谢谢!

+0

看起来像使用新的应用程序ID生成PEM。你必须产生所有新的分布,开发新的推动器以及。因为应用程序ID使用个人所有的cer。所以按照相同的步骤你已经做了旧的应用程序ID与新的CER –

+0

我已经生成了所有的新文件。因为使用苹果帐户,我有一个不同的开发者门户。这样我确定有新的证书。事情是,我遵循了与旧应用程序相同的步骤。 –

+0

我必须使用生产证书,对吧?使用“Apple推送服务”类型 –

回答

1

检查以下内容:

  • 是Xcode项目推送启用?
  • 是否在您的开发人员门户中为应用启用了推送功能,并且存储了推送证书?
  • 证书是否有效? (开发人员门户)
  • 检查您的通知设备标记如果AppDelegate仍然相同,您会得到什么。据我所知是每个设备/应用程序组合创建的令牌。如果你的应用有另一个ID,iOS认为它是“另一个”应用,你会得到另一个令牌。
  • 你的应用程序使用新的ID请求远程通知?如果没有,则必须询问或查看iOS设置是否已启用备注。
+0

XCode中启用了推送(和复选标记)。在开发者门户中启用了推送(当我点击应用程序ID时),并且有一个类型为“Apple推送服务”的证书。有效的,你的意思是到期日还没有达到?在这种情况下,它是有效的。设备令牌仍然相同。这就是奇怪的原因。一切都看起来不错。 –

+0

是的,我的意思是这个。 – user8527410

+0

也许你应该从你的设备中删除你的应用程序,并用XCode重新安装它。然后,该应用程序必须要求获得通知许可,并且(我认为)会生成新的设备令牌。顺便说一句:我们正在谈论一个iPhone或iPad,而不是模拟器?) – user8527410

0

我终于解决了。我不知道是什么造成了这个问题。我将苹果帐户1上的应用程序转移到苹果帐户2.因此,应用程序ID也被转移。我删除了以前在苹果帐户2上使用的应用程序ID。因此,我使用从苹果帐户1传输的苹果帐户2上的应用程序ID。证书没有被传输,所以我创建了它们,就像我以前做的一样,创建了pem文件。这个伎俩。