10

我在 iOS 8.1.3 上的 Enterprise 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

4 回答 4

8

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

它应该包含您的 10 个字符的 App ID 种子,后跟一个点,然后是您的包标识符:

XXXXXXXXXX.com.domain.appname
于 2015-02-09T14:18:37.877 回答
8

我已经按照这篇文章中的步骤解决了这个问题: https ://stackoverflow.com/a/28235443/2638825

对于已由您使用企业证书退出的第三方签名的应用程序(本演练假设 ipa 文件为 AcmeApp.ipa,您的权利文件为 entitlements.plist,您的配置文件为 provProvile.mobileprovision;所有文件位于桌面文件夹(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”签名部分修改 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 设备上尝试了这个解决方案,它对我有用。

谢谢“马克张伯伦” :)

于 2015-08-28T15:43:55.260 回答
2

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

bllakjakk 的回答是正确的。但为了清楚起见,10 个字符的 App ID 种子称为团队 ID,您可以从会员中心的组织资料中找到它。

于 2015-04-09T15:36:06.717 回答
0

根据 Apple 的技术说明

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

安装失败错误

所以你需要遵守这一点。

于 2015-06-12T08:42:36.690 回答