iPhone 应用程序 ID 和配置...如果我决定使用推送,是否会使用应用程序 ID 而不是配置 ID?

标签 iphone push-notification provisioning apple-push-notifications profiles

这个问题困扰了我一段时间。我启动了我的应用程序(现已提交 - 尚未批准),不想陷入 APNS(推送)的困惑之中。

我做了以下事情:

iPhone开发者中心:配置门户->配置: 然后我创建了一个开发和一个分发配置文件。我在 XCode 中安装了两者。一切都很美好。开发配置文件的过期时间太快(90 天),这让我有点害怕,但我可以将其从 iPhone 中删除,然后用新的 iPhone 进行签名。我使用开发配置文件进行了测试,然后通过使用分发配置文件进行签名来提交它。然后,我将分发配置文件签名的应用程序上传到 iTunesConnect(应用程序商店)。

好了,我就明白这么多了。现在,我不明白的是:现在我了解了 Push 工作原理背后的理论和方法,我希望将其添加到我的应用程序中。

我已经进入: iPhone 开发者中心:配置门户 -> 应用程序 ID: 并在那里创建了开发配置文件和分发配置文件(启用推送和应用内购买)。

这就是让我感到困惑的地方。我读过的所有书籍和文档都说,从现在开始,我必须使用此“应用程序 ID”配置文件(启用推送)对应用程序进行签名。

这是否意味着我不再使用以前创建的配置文件?

如果我将这些“App ID”配置文件导入到 Xcode 中,它们将与我之前生成的“非推送”配置文件一起存在。 ~/Library/Mobile Devices/Provisioning Profiles 现在有 2 个文件。一份开发,一份分发。现在它有 4 个,尽管对于这个应用程序我不会再使用“非推送”,对吗? (实际上,由于它们是通过使用捆绑代码和应用程​​序 ID 锁定的,如果这个应用程序的所有后续版本都使用推送,我将永远不会再使用它?)

困惑。

谁能帮我解答一下吗?为什么不首先为每个人使用“App ID”配置文件——即使您不打算使用推送?会保持更简单。从现在开始我是否应该只生成“启用推送”的配置文件 - 即使我不确定我是否会使用推送(或就此而言应用内购买)?

请给我一些见解。我不想做错事。

谢谢!

詹恩

最佳答案

根据你所说的,

All the books and docs I have read say that I have to sign the app with this "App ID" provisioning profile (push-enabled) from now on.

您的原始证书似乎无效。我不确定苹果为什么这样做,但他们非常清楚地表明,使用 Push 的规定与不使用 Push 的规定不同。

我的假设基于此:具有“通配符”捆绑 ID 的配置文件无法使用 APNS。他们对“是什么”非常严格。

我也不确定原因,但我认为这与安全和其他因素有关。

关于iPhone 应用程序 ID 和配置...如果我决定使用推送,是否会使用应用程序 ID 而不是配置 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2481402/

相关文章:

iphone - iOS - UITableView 在不同的 View Controller 中将 URL 推送到 UIWebView

visual-studio-2012 - 在 Windows Phone 8 应用程序中使用 azure 推送通知

javascript - 如何使用 firebase 从 web 向 android 发送推送通知?

vagrant - Docker 和 shell 配置程序的奇怪 Vagrant 错误

iphone - "UIWindowLevelStatusBar + 1"奇怪的键盘行为

iphone - UISearchBar 与 iOS7 中 UITableView header 中的 UISearchDisplayController 链接

ios - Apple 是否在 Swift 中弃用了 iPhone 3D touch?

android - 关闭应用程序时不会触发 Flutter/Firebase 推送通知

iphone - 代码签名错误 : Provisioning profile 'XX-YY-ZZ' can't be found

ios - 上传存档错误 : "Missing iOS Distribution signing identity for ..."