2013-08-03 93 views
2

請不要忽略這個作爲一個副本,沒有完全閱讀 - 我已經淘到網和stackoverflow,並發現了很多這樣的問題,但沒有修復工作,我不知道爲什麼。供應配置文件在Xcode - 不能轉移這個錯誤

xcode配置在開發中心仍然處於脫機狀態並沒有幫助,但我仍然可以手動執行此操作。

我準備提交應用程序,存檔的代碼簽名無效。

Provisioning profile 'Company Distribution' specifies the 
Application Identifier 'Company.*' which doesn't match the current 
setting '2Cxxxxx3D5.Company.App' 

所以,問題是,它認爲供應配置文件沒有我的蘋果開發者ID的前綴,當你看下面的設置代碼簽名選項你會傾向於同意,它說「公司發行配置文件包」公司*'「

但是,在組織者的配置文件中明確指出'2Cxxxxx3D5.Company。*'。 App ID在Organizer中是正確的,但由於某些原因,在代碼簽名保管箱中出現錯誤。

到目前爲止,我有

  1. 刪除所有配置文件從我的機器從iOS中心
  2. 清理構建
  3. 刪除所有配置文件,清空編譯目錄
  4. 重新啓動我的MAC
  5. 重新啓動我的iPad
  6. 使用JavaScript hack將設備ID插入到新的供應配置文件中,新的appID,重新下載並重新導入。

我有完全一模一樣的症狀同樣的錯誤再次,我只是不明白爲什麼曲線在主辦單位顯然是正確的,但隨後似乎並沒有通過翻譯到配置文件屏幕。

任何人都可以通過我的方式提出任何見解嗎? :)

+0

我也經歷過這種情況。有幾個開發人員在這個項目上工作嗎?我會打開.pbxproj文件並刪除對證書的所有引用。 – johan

回答

2

啊,codeign的樂趣 - 它絆了很多開發人員試圖建立配置設置。這也是Xcode中幾個不同設置和潛在的App Store發佈配置文件之間的不匹配。有三個地方必須確保設置完全相同,以確保清除此錯誤,每個地方都與AppID綁定。我回答有關開發證書和發放模板類似的問題,但是同組檢查需要你的App Store分發證書和配置文件:

A valid provisioning profile matching the application's identifier could not be found

這個問題包括有關,其中具體的一些附加信息設置的位置以及人們從代碼到設備構建所經歷的過程。可以使用幾乎相同的流程來設置App Store分發 - 將參考從「開發配置文件」替換爲「App Store分發」配置文件,並省略那些不適用於分發版本的測試設備配置,您應該很好去。

如果你願意嘗試,並使用調試你目前有,然後閱讀:

在代碼標誌的核心是需要你AppIDs在每個由「證書頒發的文件的匹配,標識符和配置文件「工具以及Xcode項目的構建配置。您可以通過幾種方法解決問題,或者更改您的供應配置文件和簽名設置以匹配相同的AppId,或更改AppID以匹配您的供應配置文件。瞭解這些決定的影響非常重要 - 除非您明確需要共享鑰匙串訪問權限,並且特別不需要任何有權限的服務(應用內購買,推送通知,iCloud,遊戲中心,報亭,數據保護等),具有最少限制性結果的選項是更改您的供應配置文件以匹配您當前的AppId。

最快的(但最嚴格)的路線成功的協同設計建造

你的錯誤的描述無疑印證了根本的問題 - 你的分佈形狀命名爲「公司經銷」,從設定到一個AppID證書,標識符和配置文件工具是「Company。」,但是您的App指定了「2Cxxxxx3D5.Company.App」的AppID,它與代碼符號所使用的AppID不匹配。換一種方式,您的項目被配置爲當您試圖對一個包「Company。」進行編碼時,將Bundle ID設置爲「2Cxxxxx3D5.Company.App」。 「2Cxxxxx2D5」。部分違反了您(或者Xcode自動配置文件選擇器)爲您的歸檔代碼操作選擇的配置配置文件。

「2Cxxxxx3D5」。你的AppID的一部分看起來像App ID前綴 - 應該在Xcode App ID字段中指定而不是(或Info.plist中派生該字段的值.Xcode會自動爲您處理App ID前綴在用於執行代碼簽名的Provisioning Provisioning Profile中,如果您的Xcode App ID包含此前綴值,請將其刪除,以便您的App ID變爲「Company.App」。這樣,您的應用程序的App ID將成爲有效的App ID, 。公司*」發行配置文件即表示正在代碼登錄時使用的錯誤

更可持續的修復 - 修復的AppID,並重新發出該發行配置文件

由於Apple繼續發佈基於「權利」的服務,因此在通配符配置配置文件下發布此應用可能不太合適。相反,保持最大靈活性的最佳方法是爲您的公司應用程序發佈一個明確的AppID,重新配置Xcode,並重新發布該新的顯式AppID的分發配置文件。以上鍊接的答案可用作分步指南,瞭解如何執行除分發預配置配置文件之外的每個任務。在高層次上,要完成的任務是:

  1. 更新Xcode項目中的應用程序ID以省略TeamID/App ID前綴。
  2. 確保已編輯的應用程序ID已在Apple的證書,標識符和配置文件工具中註冊。
  3. 爲新基礎發佈分發配置文件App ID
  4. 安裝到Xcode,重新啓動Xcode,然後確保Codesign設置正在使用新的配置配置文件和簽名標識。
  5. 運行存檔。

一旦獲得與分配供應配置文件中編碼的應用ID匹配的應用ID,您應該處於運行存檔的狀態更好。如果您遇到其他問題或問題,請對此答案發表評論,我們可以看到我們可以做些什麼。

+0

非常感謝您提供非常詳細且有用的答案! – SteveDolphin23

+0

非常歡迎您!希望這有助於讓代碼簽名稍微減少混淆或至少在出現問題時可以診斷! –

相關問題