簡體   English   中英

無法使用xcodebuild命令歸檔項目:代碼簽名錯誤,缺少配置文件?

[英]Unable to archive project with xcodebuild command: code sign error, missing provisioning profile?

我正在使用Xcode 6.4和關聯的命令工具。 我正在嘗試使用以下命令歸檔以創建我的應用的ipa

xcodebuild -scheme MyScheme -archivePath MyProjectName archive

但我收到此錯誤消息:

檢查依賴性代碼簽名錯誤:未找到匹配的配置文件:您的構建設置指定了帶有UUID“ xxxxxxxxxx”的配置文件,但是未找到此類配置文件。 CodeSign錯誤:SDK'iOS 8.4'報價中的產品類型'Application'需要代碼簽名

但是這種消息中所說的UUID並不是我在目標的構建設置>代碼簽名>供應配置文件中設置的供應配置文件的UUID。 實際上,我不知道此錯誤消息指的是什么配置文件... Xcode中還有其他地方設置了配置文件,但我沒有注意到嗎? 我如何檢查與該UUID對應的配置?

謝謝

如果您要從其他.xcconfig文件繼承構建配置,則這將很大程度上取決於您如何構建項目的構建配置,以及是否具備可以動態重寫項目的.pbxproj文件的任何自動化方法。 也就是說,Xcode在嘗試整理.pbxproj時也會感到困惑,並可能留下一些困擾。

  1. 退出Xcode。
  2. 導航到源文件,然后查找.xcodeproj (不是.xcworkspace而是實際的Xcode Project文件本身)。
  3. 右鍵單擊它,然后選擇“顯示包裝內容”。
  4. 在您選擇的文本編輯器中(我使用BBEdit或免費版本TextWrangler),打開project.pbxproj
  5. 在整個pbxproj文件中搜索PROVISIONING_PROFILE

我懷疑您會在一個或多個類似於以下內容的XCBuildConfiguration塊中有一個條目:

/* Begin XCBuildConfiguration section */
7D433CD8275123D91263DAA4 /* Release */ = { 
    isa = XCBuildConfiguration;
    buildSettings = {
            CODE_SIGN_ENTITLEMENTS = "";
            CODE_SIGN_IDENTITY = "iPhone Distribution: Your Name Here";
            // Other settings would go in here
            PROVISIONING_PROFILE = "";
            SDKROOT = iphoneos;
            TARGETED_DEVICE_FAMILY = "1,2";
    };
    name = "Release";
};

這些配置塊之一可能包含多個PROVISIONING_PROFILE設置,或者您可能只找到與錯誤中指定的UUID完全匹配的一行。 看起來像是PROVISIONING_PROFILE = "xxxxxxxxxx";

無論哪種情況,請注意備份您的.pbxproj文件(位於源代碼管理中,對嗎?),然后刪除有問題的行,這將使您恢復為自動配置文件選擇,完成對同一有問題行的其他實例的搜索,保存所有更改,退出文本編輯器並重新嘗試命令行構建。

如果您過去曾經有意為PROVISIONING_PROFILE設置設置了特定的UUID,請確保在Xcode中重新驗證代碼符號設置,因為您可以通過刪除所有PROVISIONING_PROFILE實例並回到自動模式來輕松撤消有意設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM