2015-02-06 37 views
9

我在iOS 8.1.3上有很多Enterpsie Distribution問題。 我設法解決我的大部分設備,其被賦予此錯誤:iOS 8.1.3 - 企業分發 - 應用程序缺少應用程序標識符權利

Ignore manifest download, already have bundleID 

這樣的回答:https://stackoverflow.com/a/25948839/517688

這基本上告訴你假的bundleID在服務器manifest.plist。

但在我的一些測試設備,我的變化後,得到一個新的錯誤:

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. 

回答

7

應用程序標識符權利格式不正確;

它應該包含你的10個字符的應用程序ID種子,後面跟着一個點,其次是你的包標識符:

XXXXXXXXXX.com.domain.appname 
+1

我應該在哪裏放這個信息?我無法找到.entitlements文件,而且我卡住了。 – 2015-03-05 16:44:56

+1

請按照:http://stackoverflow.com/questions/19674514/how-to-create-entitlement-plist-file-in-xcode-5 – bllakjakk 2015-03-06 03:22:04

2

此問題是由蘋果公司爲8.1.3安全補丁引起的。你可以看到Apple Developer forums的討論。

bllakjakk的回答是對的。但爲了清楚起見,10個字符的App ID Seed稱爲Team ID,您可以從Member Center中的組織配置文件中找到它。

+2

但是,你如何添加它? – BTRUE 2015-06-01 18:14:32

0

按照技術說明蘋果

(your_app) failed to install Unable to download application, (your_app) could not be downloaded at this time. Application is missing the application-identifier entitlement Upgrade's application-identifier entitlement string ({Your New App ID Prefix}.com,YourApp.Bundle.ID) does not match installed application's application-identifier string (({Your Old App ID Prefix}.YourApp.Bundle.ID); rejecting upgrade.

Installation Failure Errors

所以,你需要符合這一點。

2

我已經按照這個職位的步驟解決這個問題: https://stackoverflow.com/a/28235443/2638825

對於已經由第三方簽署的應用程序,你與你的企業證書辭職(此演練的假設IPA文件是AcmeApp.ipa,你的權利文件entitlements.plist和您的供應曲線是provProvile.mobileprovision;所有文件都在桌面文件夾(Mac OSX),並S836XXACME是你的團隊標識符):

創建一個新的權利。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/ 

您還需要修改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設備上運行,並且適用於我。

謝謝你「Mark Chamberlain」:)