重用通配符appId以启用推送通知

use*_*158 9 iphone objective-c ipad

我最近接手了一个iPhone项目,之前从未使用过objective-c.

我必须让应用程序使用推送通知,但第一个appId已经存在且使用通配符(因此没有推送通知).

我创建了另一个带有标识符的appId并获得了推送通知.然而,我的工作场所希望我收到通知工作的通配符应用程序(因为我们已经有很多客户使用该应用程序).

那么如何在不创建新appId的情况下使通配符应用程序更新并使用唯一标识符(即使使用相同的bundleId).

我对这一切都很陌生,所以一步一步的过程非常感谢(ELI5).

作为参考,我使用keychain获取私有.p12文件,我在运行控制器应用程序的Windows服务器上使用它,该控制器应用程序生成推送通知(发送到Apples apns服务器).

编辑:我已经完成了以下步骤,有人能告诉我什么我失踪了吗?

1)创建新的bundleId(使用相同的AppId).

2)配置AppId以使用推送通知.

3)在钥匙串中创建CSR.

4)将其上传到门户并创建生产证书.

5)下载该证书并导出私钥.

6)使用与1相同的bundleId创建配置文件(例如au.com.website).

7)下载该配置文件,将其放入x-code和我的iPhone设备上.

8)在x-code的构建设置中,使用bundle Id并使用我在步骤6中创建的配置文件.

9)归档应用程序,通过临时部署,将文件保存到桌面.

10)将该文件放入TestFlight,从我的iPhone上的testFlight下载应用程序.

11)将私钥放在我的Windows服务器上并发送推送通知(它们发送wo错误).

我没有得到推送通知(iPhone设置为恢复它们).

再一次,这是与另一个别人制作的应用程序一起工作,所以我知道代码有效.

Coc*_*ics 11

不要混淆应用程序标识符和包标识符.包标识符类似于:com.company.appname,由应用程序的info.plist定义

应用程序标识符具有附加前缀(通常是团队前缀),并且可以包含通配符.应用程序标识符用于将软件包标识符与测试配置文件进行匹配.配置文件仅对匹配的应用程序有效(不包括前缀)

现在您想要的是保持捆绑标识符相同,因为如果您更改它,它将成为一个新的应用程序.但您可以在每次更新时更改配置文件和应用程序标识符.

前一段时间我发布了一个带有通配符应用程序ID的应用程序并且我添加了一个IAP.

  • 您只需创建一个与捆绑ID匹配的新(非通配符)应用ID.
  • 您在应用程序ID上启用所需的Apple服务(IAP,GC,APNS).
  • 您可以创建新的prov配置文件以满足您的需求(App Store,Ad Hoc,Development)

然后,您可以使用新配置文件为应用程序提交更新,但不会更改包ID.