Upgrade的application-identifier权利字符串与已安装的应用程序不匹配 – >拒绝升级

我有一个iOS应用程序,现在大约3岁。 它与企业档案签署。 我们已经发布了该软件的七个版本,最近一次是在一年前。 目前我们正在尝试新版本,但发现由于iOS8中的新安全规则,iOS 8.1.3设备和更高版本无法升级,必须删除并重新安装。

在研究中,我发现类似的问题对于使用不同个人资料签署应用程序的人,但我们的应用程序使用相同的配置文件进行签名。 该错误声称我们的旧应用程序标识符包含一个通配符,我无法弄清楚,因为我们从未更改过包ID(但是,在开发人员门户中,我们所有应用程序的通用appId都是com.company。*)。

我发现,如果我使用Xcode 6.4构建应用程序的版本1和版本2,我可以成功升级,如果我使用Xcode 5.1构建应用程序的两个版本,我可以成功升级,问题是在尝试安装版本时使用Xcode 6.4在使用Xcode 5.1构建的版本上构建的应用程序

我们尝试升级时遇到的错误是:

“Upgrade的application-identifier权利字符串(6Q39SSX4QT.com.company.appName)与安装的应用程序的应用程序标识符字符串(6Q39SSX4QT.com.company。*)不匹配”

我已经看到一些引用需要在我们的应用程序中包含entitlements.plist文件,我们有一个AppName.entitlements plist文件,但我们的应用程序都没有entitlements.plist文件(我们的其他应用程序虽然它们没有出现此问题自Xcode 5.1发布以来已多次升级)。

有人有主意吗?

谢谢!

  1. 打开Xcode – >窗口 – >设备
  2. 单击您的设备,从已安装的应用列表中删除您尝试安装的应用。
  3. 尝试现在运行。

在做了一些进一步的阅读后,我发现这个答案很有帮助。 就我而言,我正在通过一个grunt脚本进行构建,因此我可以修改我的存档/签名/包步骤,以便在代码签名步骤中插入权利。

如果您按照我链接的步骤操作,您需要确保您的entitlements.plist文件包含通配符,如下所示:

application-identifier com.company.* 

如果您手动进行应用程序打包,则可能需要查看iResign 。 这将为您创建entitlements.plist文件,并在签署您的应用程序时将其注入。

我希望Apple提供更好的文档。 无论我在目标的Code Entitlements设置中指定什么,我都无法在XCode中获得相同的效果。

我刚刚遇到这个错误 – 这是因为我改变了用于签署应用程序的开发团队。 即我使用我们公司的分发配置文件签署开发版本和客户的分发配置文件以签署发布版本。

检查权利中的团队ID是否是正确的团队ID(打印在错误消息中) – >然后是已安装的应用程序错误。 还要检查您是否在权利文件中指定了应用程序标识符。 我根本没有权利文件。

在这种情况下,只需删除设备上的应用程序并重新安装即可。

克里斯