无法使用xcodebuild命令归档项目:代码签名错误,缺少配置文件?

时间:2015-07-14 15:25:00

标签: ios xcode archive provisioning-profile xcodebuild

我使用function testIt99() { var textTest = "How are you, How about your friend."; //remove commas textTest = textTest.replace(",", ""); Logger.log('textTest: ' + textTest); textTest = textTest.replace(".", ""); Logger.log('textTest: ' + textTest); //put all words into an array var arrayOfWords = textTest.split(" "); Logger.log('textTest: ' + textTest); var arrayOfIndexes = []; var i=0; for (i=0;i<arrayOfWords.length;i+=1) { if (arrayOfWords[i]==="How") { arrayOfIndexes.push(i) }; }; Logger.log("Indexes of 'How' are: " + arrayOfIndexes) }; 和相关的命令工具。我尝试使用以下命令存档以创建我的应用的Xcode 6.4

ipa

但我收到此错误消息:

  

检查依赖项   代码签名错误:找不到匹配的配置文件:您的构建   settings使用UUID指定配置文件   但是,“xxxxxxxxxx”没有这样的配置   找到了个人资料。   CodeSign错误:产品类型需要代码签名   &#39;应用&#39;在SDK&#39; iOS 8.4&#39;引用

但是在此类消息中说的UUID不是我在目标的构建设置中设置的配置文件的UUID&gt;代码签名&gt;供应配置文件。事实上,我不知道这个错误消息正在讨论什么配置文件... Xcode中是否有其他地方设置了配置文件,我还没注意到它?我如何检查哪些配置与此类UUID相对应?

由于

1 个答案:

答案 0 :(得分:0)

如果您从其他.xcconfig文件继承构建配置,以及您可能具有的动态重写项目的.pbxproj文件的任何自动化,这很大程度上取决于您如何进行项目的构建配置设置。也就是说,当Xcode试图理顺.pbxproj并且可能留下一些挥之不去的东西时,Xcode也会感到困惑。

  1. 退出Xcode。
  2. 导航到您的源文件,然后查找您的.xcodeproj(不是.xcworkspace,而是查找实际的Xcode Project文件。)
  3. 右键单击它并选择“显示包装内容”。
  4. 在您选择的文本编辑器中(我使用BBEdit或免费版TextWrangler),打开project.pbxproj
  5. 在整个pbxproj文件中搜索PROVISIONING_PROFILE
  6. 我怀疑你会在一个或多个类似于此的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中重新验证您的代码符号设置,因为您可以通过删除{{1的所有实例来轻松撤消故意设置然后回到自动模式。