iOS 8.1.3 - 企业分发 - 应用程序缺少应用程序标识符权利

时间:2015-02-06 17:43:24

标签: ios xcode ios8 enterprise-distribution

我在iOS 8.1.3上遇到过Enterpsie Distribution问题。 我设法修复了我的安装中的大部分错误:

Ignore manifest download, already have bundleID

这个答案:https://stackoverflow.com/a/25948839/517688

这基本上告诉你伪造服务器manifest.plist上的bundleID。

但是在我的一些测试设备上,我在更改后收到了新错误:

Error Domain=MIInstallerErrorDomain Code=63 "Application is missing the application-identifier entitlement."

而我似乎无法找到解决方案。

编辑1

我尝试将其添加到.entitlements文件中:

<key>application-identifier</key>
<string>com.domain.appname</string>

但是现在我在尝试存档应用以进行分发时遇到此错误:

None of the valid provisioning profiles allowed the specified entitlements: application-identifier, aps-environment.

4 个答案:

答案 0 :(得分:8)

应用程序标识符权利格式不正确;

它应包含10个字符的App ID Seed,后跟一个点,后跟您的包标识符:

XXXXXXXXXX.com.domain.appname

答案 1 :(得分:5)

我已按照此帖子中的步骤解决了此问题: https://stackoverflow.com/a/28235443/2638825

对于已由第三方签名的应用您已使用企业证书辞职(本演练假设ipa文件为AcmeApp.ipa,您的权利文件为权利。 plist和您的配置文件是provProvile.mobileprovision;所有文件都在Desktop文件夹(Mac OSX)中,而S836XXACME是您的团队标识符):

创建新的entitlements.plist文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>S836XXACME.uk.co.acme.AcmeApp</string>
<key>get-task-allow</key>
<false/>
</dict>
</plist>

解压缩ipa:

cd ~/Desktop

unzip AcmeApp.ipa

删除代码签名:

rm -r Payload/AcmeApp.app/_CodeSignature/ 

在mobileprovision文件中复制:

cp provProfile.mobileprovision Payload/AcmeApp.app/embedded.mobileprovision

协同设计:

codesign -f -s "iPhone Distribution: ACME Corporation Limited" --entitlements entitlements.plist Payload/AcmeApp.app

将其拉出作为辞职的ipa:

zip -qr AcmeApp_resigned.ipa Payload/

您还需要按照“ALREADY&#39;修改manifest.plist文件”。早些时候签署了部分:

<key>bundle-identifier</key>
<string>S836XXACME.uk.co.acme.AcmeApp</string>

我在iOS 8.4.1,8.4,8.0.2和7.1.1设备上尝试了这个解决方案,它对我有用。

谢谢你&#34; Mark Chamberlain&#34; :)

答案 2 :(得分:2)

此问题是由Apple的8.1.3安全补丁引起的。你可以从Apple Developer forums看到讨论。

bllakjakk的答案是对的。但为了说清楚,10个字符的App ID种子称为团队ID,您可以从会员中心的组织配置文件中找到它。

答案 3 :(得分:0)

根据Apple的技术说明

  

(your_app)无法安装   无法下载应用程序,此时无法下载(your_app)。   应用程序缺少application-identifier权利   升级的应用程序标识符授权字符串({Your New App ID Prefix} .com,YourApp.Bundle.ID)与安装的应用程序的应用程序标识符字符串(({Your Old App ID Prefix})不匹配。 YourApp.Bundle.ID);拒绝升级。

Installation Failure Errors

所以你需要遵守这一点。