【问题标题】:Is it possible to use same bundle ID for development and distribution in ios?是否可以在 ios 中使用相同的捆绑 ID 进行开发和分发?
【发布时间】:2021-02-10 11:04:20
【问题描述】:

我在我的 android 和 ios 应用程序中使用 onesignal 插件来推送通知,所以我想先在开发端测试推送通知,然后将其上传到 ios 应用商店。或者是否有任何最佳实践来实现一个信号推送通知首先进行测试然后分发。

【问题讨论】:

  • 是的,您可以使用相同的捆绑包 ID 进行开发和分发。 Xcode 自动处理两种通知环境状态:开发、生产。尽管您需要在服务器端分别为这两种状态指定。不要犹豫,寻求进一步的帮助。
  • 感谢您的回复! :) 实际上,我附加了相同的捆绑 ID,并且检查了推送通知并添加了证书。而且我在两个配置文件中使用相同的捆绑 ID,一个用于开发,一个用于生产。但是我没有收到关于我在 ios 上的应用程序开发版本的通知的问题。但在安卓上完美运行。我还解决了捆绑包 ID 不匹配的问题,但仍然没有在开发模式下收到有关 ios 的通知。
  • 您是否使用 APNS 或 Firebase 进行推送通知?
  • 是的,我正在为 ios 使用 APNS,为 android 使用 Firebase。 Android 的发件人 ID

标签: ios xcode ionic-framework push-notification onesignal


【解决方案1】:

个人意见,对于 APN,您不再需要单独的配置文件/证书来进行开发和生产。最近苹果做了一些改变。现在您只需要一个来自您的“developer.apple.com”帐户的“.p8”推送通知证书。您将此 .p8 文件提供给您的后端团队。 Xcode 将自动管理您的生产和开发。

这是你必须做的事情:

对于后端:

在您的应用委托中,在您从苹果获取 APNs 令牌的函数内部。此 APNs 令牌将用于开发或生产。苹果如何决定,给哪一个?好吧,当您在本地导出 IPA/应用程序,或在试飞或应用商店上传它时,Xcode 会自动为您提供生产推送通知 APN。当您使用 xcode 在本地将 IPA/App 安装到连接到 xcode 的手机或模拟器上时,Xcode 将自动在该功能内为您提供开发/驻留推送通知 APNs 令牌。那时您只需将该令牌发送到您的后端。

后端将如何检查他们获得的用户令牌是生产还是开发?

使用您的 URL,如果它是暂存的,它会将其视为开发 APNs 令牌。 如果是生产 URL,则将其视为生产 APNs 令牌。

你必须确保什么?

如果您要上传应用进行试飞,请确保将基本 URL 设置为生产环境。 如果您在模拟器上本地运行应用程序或连接到 xcode 的手机,请确保将 Base URL 设置为 development。

【讨论】:

  • 感谢您的帮助 :) APNs 返回错误 3000。确保 Xcode 中“项目目标”-> 功能下的“推送通知”已启用。检查 Xcode 中的设备日志以获取更多详细信息。我在一个信号受众列表中的设备上收到此错误。我已启用推送通知,但仍然收到此错误。我不知道为什么!
猜你喜欢
  • 2014-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-06
  • 2010-12-07
  • 2016-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多