代码之家  ›  专栏  ›  技术社区  ›  Aaron

xcode“代码签名错误:需要代码签名”

  •  41
  • Aaron  · 技术社区  · 14 年前

    我一直在用iOS 4.0开发iPhone项目。我刚刚下载了Xcode3.2.4和iOSSDK4.1,这样我就可以使用更新后的iOS了。在udpated xcode中打开项目时,我发现目标读取的是'base sdk missing'。我按照指示解决了这个问题 here .

    现在,当我尝试针对任何版本的iOS构建时,我会收到此错误(错误文本中引用了相应的版本):

    代码签名错误:SDK“device-ios 4.1”中的产品类型“application”需要代码签名

    我安装了由xcode创建的团队资源调配配置文件,该资源调配配置文件具有我的证书,选择的代码签名实体是“iphone developer:aron milam”。

    关于我在这里可能缺少什么有什么想法吗?

    15 回复  |  直到 6 年前
        1
  •  41
  •   PenguinPete Vinzius    6 年前

    当Xcode无法识别您的证书时,就会发生这种情况。

    解决这件事是件麻烦事,有很多可能帮助你。

    但您首先应该尝试在“窗口”选项卡=>管理器中删除设备中的设置。然后重新添加(在苹果网站上再次下载)。尝试再次编译。

    顺便问一下,您是否在项目信息窗口中检查了“代码签名标识”?

    祝你好运。

        2
  •  20
  •   Gryzorz    13 年前

    一定要在这行上用代码签名” 任何iOS SDK 而不是“调试/分发/发布”

    我就是这样做的:

    代码签名标识-> 不要代码符号
    *调试-GT; 不要代码符号
    **任何iOS SDK->[我的开发人员配置文件]
    *分发-> 不要代码符号
    **任何iOS SDK->[我的AppStore配置文件]
    *释放-gt; 不要代码符号
    **任何iOS SDK->[我的即席配置文件]

    当我把我的配置文件放在上面一个级别(在debug/ditribution/release)时,由于某种原因(bug?).

    希望它能帮助我们中的一些人!

        3
  •  7
  •   Richard Stelling    12 年前
    • 我喜欢堆栈溢出:

    • 我意识到有些时候过于具体是不够的,因为我们可能有不同的Xcode版本,我自己在同一个Mac Pro上有2个Xcode版本。因此,我想在这里提供一个通用的说明,我希望它能适用于所有Xcode版本:

    • 我的2个版本是xcode 3.2.6和4.0。你需要在代码签名下找到你的Xcode构建设置和代码签名(甚至是Google的设置),你有代码签名标识,这为你提供了一个标识符列表(如果你没有标识符,请到这里获取一个,并且需要注册)。 https://developer.apple.com/ios/manage/overview/index.action -如果您有一个标识符列表,请按照Apple“使用开发配置助手在iOS上获取您的应用程序”的说明操作。只需选择一个有效的标识符列表,然后再次运行Xcode。它会起作用的!

    • 3.2.6特定:在您的作用域窗口上-单击“项目”->“项目设置”->“生成(选项卡”->会向下滚动,因为列表很长,请确保向下滚动以查找代码签名部分。

    • 4.0特定:在Xcode窗口上-单击项目文件最左边的列->,然后单击下一列-单击目标应用程序->查找代码签名并分配标识符。它应该对你有用。

    完成!

        4
  •  6
  •   SheshPai    14 年前

    最常见的原因是,考虑到所有证书都安装正确,没有在活动目标设置中指定代码签名标识以及项目设置。将其从更改为iPhone开发者(Xcode将根据应用程序ID匹配选择正确的配置文件)。

    • 在Xcode中,从模拟器切换到设备(在Xcode窗口顶部的下拉列表中),这样应用程序部署的目标就是设备。

    • 默认ID(通配符ID)类似于catch all ID,当在代码签名中关联时(如果您使用示例文件进行生成,则它们显然不会导入com.coolapps.appfile,在这种情况下,如果没有“团队设置配置文件”,则生成将失败。所以你想把这个放在

    • xcode->项目->编辑项目设置->生成(选项卡)->代码签名标识(标题)->任何iOS(从任何iOS模拟器更改)->(选择“iphone developer”作为值,它将默认为通配符开发配置文件(团队配置文件:*)

    还有(非常重要)

    • xcode->项目->编辑活动目标->生成(选项卡)->代码签名标识(标题)->任何iOS(从任何iOS模拟器更改)->(选择“iphone developer”作为值,它将默认为通配符开发配置文件(团队配置文件:*)

    初学者完成以下步骤: http://codevelle.wordpress.com/2010/12/21/moving-from-ios-simulator-to-the-ios-device-smoothly-without-code-sign-error/

        5
  •  3
  •   k-thorat    14 年前

    确保已正确创建配置文件。 如果你…你一定在…密钥链访问中的公钥、私钥和证书。 看看你有没有这些……

    Xcode3.2.4提供自动设备配置…所以你只需要登录到你的开发者 它将下载所有有效的配置文件。

    如果你有所有你需要的在钥匙链和下载的配置文件… 当你选择iPhone开发者:Aaron Milam'时。在生成设置中.. 确保您已选择了要为其生成的配置(位于目标内部的左上角->生成)。 或者,您可以执行所有配置以更改所有可用配置,例如调试、发布等。

        6
  •  2
  •   Tibidabo    13 年前
    1. “填充” 代码签名 “两者兼有” 项目 “和” 目标 剖面
    2. 在“”中选择有效条目 代码签名标识 “两者兼有” 调试 “和” 释放
    3. 在“ 调试 “选择你 开发商 证明书
    4. 在“ 释放 “选择您的 经销商 证明书

    遵循这四个步骤总能解决我的问题。

        7
  •  2
  •   Community CDub    7 年前

    摘要形式回答 Xcode fails with "Code Signing" Error

    project.pbxproj 文件可以合并为两个 CODE_SIGN_IDENTITY 可以插入行。删除其中一个通常可以解决问题。

    我创建了一个简单的脚本来帮助诊断这个问题,可以在这里找到: https://gist.github.com/4339226

    可以找到完整的答案 here .

        8
  •  2
  •   Rayfleck    12 年前

    在尝试了上述所有答案以及Xcode4.6中我所能想到的其他一切之后,我用以下步骤解决了这个问题:

    1. 关闭XCODE
    2. 右键单击.xcodeproj文件->显示包内容
    3. 在文本编辑器中编辑project.xcodeproj
    4. 搜索“code_sign_identity”-会有这样的一对行:
     CODE_SIGN_IDENTITY = "iPhone Developer: Joe Smith (555NN555)";
     "CODE_SIGN_IDENTY[sdk=iphoneos*]" = "iPhone Developer: Joe Smith (555NN555)";
    

    我找到了2个这样有价值的目标,还有2个这样有价值的目标

     CODE_SIGN_IDENTITY = "";
     "CODE_SIGN_IDENTY[sdk=iphoneos*]" = "";
    

    我把前一对线复制到后一对线上,用于所有后一对是EMTPY的情况。

    然后我重新启动Xcode,它现在工作正常。

        9
  •  1
  •   Jim Schrempp    13 年前

    另一种可能性是-当您构建存档时,请确保您的方案中的存档选项设置为分发,而不是发布。

    转到产品->编辑方案这将显示一个新对话框。

    选择左侧的存档。确保生成配置是分发的。

        10
  •  1
  •   user2288008    8 年前

    如前所述,如果您不想对应用程序进行代码签名,可以 设置 CODE_SIGNING_REQUIRED NO . 这里有一个不需要任何项目/文件的方法 修改:

    创建文件 NoCodeSign.xcconfig :

    CODE_SIGNING_REQUIRED = NO
    

    集合 XCODE_XCCONFIG_FILE 指向此文件路径的环境变量:

    export XCODE_CXCONFIG_FILE=/path/to/NoCodeSign.xcconfig
    

    现在,您可以在不进行代码签名的情况下构建应用程序。

        11
  •  1
  •   Muhammad Awais    6 年前

    在我的例子中,锁定和解锁来自keychain访问的登录keychain就完成了这个技巧。

    enter image description here

        12
  •  0
  •   gnuchu    14 年前

    您是否更新了正在测试的iPhone的固件版本?

        13
  •  0
  •   marcos1490    12 年前

    我使用xcode 4.3.2,我的问题是,在这里,另一个文件夹中有一个同名的文件夹,例如my folder/my folder/。

    解决方案是更改第二个文件夹的名称,例如myfolder/myfolder,问题解决了。

    我希望这能对某些人有所帮助。

        14
  •  0
  •   nminhtai    12 年前

    也许你的Mac电脑的日期和时间不正确。只需纠正它们。

        15
  •  0
  •   Jim Huang    12 年前

    在文件/applications/xcode.app/contents/developer/platforms/iphoneos.platform/developer/sdks/iphoneos5.1.sdk/sdksettings.plist中

    更改代码\需要签名\是

    代码\签名\不需要

    重新启动XCODE