无法使用的iOS应用程序扩展

问题描述:

当我们公司的过程中直接安装的AppStore版移动设备我们通常执行的是:无法使用的iOS应用程序扩展

  • 修复/实施
  • 测试特设版本
  • 创建的AppStore包
  • 测试该AppStore包是通过直接通过iTunes安装它。
  • 将版本提交给AppStore。

我们还需要测试AppStore版本的原因是因为如果我们没有这样做,某些支付服务将不起作用。所以我们需要一个真实的环境。

之前我们已经包含了iOS应用程序扩展(共享),我们可以在没有问题的情况下完成这个过程,但是现在在完成相同的过程之后,我们不能再做了。

我们可以;

  • 通过将应用程序扩展签名为ad-hoc来测试ad-hoc版本。
  • 创建并提交应用商店包。

然而,我们无法安装应用程序商店的版本了,错误提及有问题与签名,更确切地说:

(Entitlements found that are not permitted by provisioning profile) 

没有人有任何想法,为什么这可能是发生? 。

+0

检查用于在iTunes商店中签名应用程序的配置文件,可能需要允许访问那里的一些资源或服务。 –

您真的不应该能够在物理设备上安装应用商店版本并运行它。

它可以在某些情况下工作(例如,如果您以前安装过开发版本,并且在您尝试运行应用商店版本时在设备上有一个有效的开发版本)。也许该设备具有旧的应用程序配置配置文件(这将不具有应用程序扩展权利)。与应用程序一起嵌入的新应用程序(并且具有适当的权利)是App Store设置配置文件,并且无法直接在设备上运行。

我会在您的项目中制作一个新的配置配置,这是发布配置的副本,除了只有代码签名设置。这将允许您运行构建,这将完全是生产App Store构建,除了代码签名设置。

+0

是的它是有道理的,之所以我们可以安装应用程序的原因是因为它以前安装。然而,我们对扩展做了同样的事情,但没有奏效。问题是,这里的人想要在我们的设备中测试_exactly_与我们提交给appstore的版本相同。我们使用TeamCity,创建一个appstore包,然后通过iTunes或iFunBox使用它手动安装它。除了这段时间,我们无法使用应用扩展程序。 – Artemix

+0

我不知道为什么iOS会处理配置文件缓存与应用程序不同的扩展。这是很奇怪的部分。您可以使用专案档案/证书重新签署该应用程序。这将允许二进制文件完全相同,但嵌入式文件/签名将是唯一不同的东西。这基本上会给你以前的东西,因为你以前测试的应用程序没有使用应用程序商店配置文件。 – wottle

+0

您说得很好,安装的“appstore”版本实际上是使用ad-hoc配置文件。 – Artemix