为什么我可以直接在我的设备上安装应用商店分发版本?

hve*_*ind 14 xcode app-store ad-hoc-distribution ios provisioning-profile

我的印象是,无法直接在测试设备上安装应用商店分发版本(无需通过实际的App Store).我发现Apple对以下注释有多处引用(虽然我在iOS App Distribution Guide的当前版本中找不到该注释本身):

"App Store配置文件不允许在Apple设备上安装分发构建的应用程序.要在设备上安装分发应用程序,您必须创建Ad Hoc配置文件."

现在考虑以下内容:我有一个Ad Hoc Distribution配置文件和App Store Distribution配置文件.ad hoc配置文件包含已配置设备的列表,而应用商店配置文件则不包含.我的(无jailbrake)设备包含在ad hoc配置文件中的配置设备中.我的构建是使用应用商店配置文件签署的.生成的.ipa文件已提交给App Store(并已批准 - 但尚未公开发布).当我查看.ipa文件的包内容时,我看到embedded.mobileprovision确实是应用商店配置文件(没有配置的设备列表).当我将此配置文件拖到我的Xcode Organizer时,由于设备未包含在配置文件中(因为预期),因此出现无法安装配置文件的错误.但是,当我将.ipa文件拖到我的Xcode Organizer时,该应用程序将安装在设备上(之后可以在设备上打开).在确保设备上没有安装相同应用程序的其他副本后,我尝试了这一点.当我使用未包含在ad hoc配置文件的配置设备中的其他设备时,同样的事情不起作用(即使.ipa包含没有配置设备列表的应用商店配置文件).

有没有人对此有可能的解释?似乎以某种方式,使用应用商店配置文件签名的构建仍然可以安装在相应的(相同的应用程序标识符?相同的团队标识符?)ad hoc配置文件中包含的设备上.但如果情况确实如此,那么制作单独的临时版本有什么意义呢?

Rhy*_*man 7

我也注意到这一点,并且总是想找出它为什么起作用.它使用是真实的,你不能安装的App Store构建但似乎已经改变了,我猜无论是在iOS6的或5.

我发现只有在安装了兼容的Ad Hoc配置文件后才能安装App Store配置文件版本.开发人员配置文件不起作用 我没有尝试使用通配符配置文件.所以看起来Ad Hoc规则发生了变化.

我找不到安装Ad Hoc构建的规则,但是关于启动Apple的App Distribution Guide的"Ad Hoc Provisioning Profiles in Depth"部分的主题说

该应用程序成功发射,如果应用程序的包ID的应用程序ID匹配时,签名分配证书匹配,并且设备在设备列表特设的provisioning profile.

所以我认为从技术上讲,AppStore版本符合这些Ad Hoc要求,因为它也使用相同的分发证书签名.使用"the"在这里有误导性,因为它听起来像iOS咨询你的embedded.mobileprovision,这是不真实的.它应该是"an"ad hoc配置文件.

注意:安装仅在设备上已安装Ad Hoc配置文件时才有效,因此这是制作单独ad hoc版本的一个原因.

注意:这是所有猜想,另一种解释可能是Xcode处理安装,embedded.mobileprovision现在在AppStore配置文件安装失败时继续.

这为我提出了另一个问题:为什么App Store构建的iOS DWIM在安装完全有效的替代品时拒绝使用过期的配置文件启动Ad Hoc版本?

  • 该答案表明了它的年龄-需要更新。旧的行为可能是一个错误...总会重新签名您的应用商店构建,以在设备上获得最终构建。 (2认同)