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

iPhone SDK代码签名错误

  •  0
  • EToreo  · 技术社区  · 15 年前

    尝试为设备生成时出现此错误:

    Code Sign error: The identity 'iPhone Distribution' doesn't match any identity in any profile

    我是:

    • 为开发而建,而不是发布。
    • 3.1.2建筑
    • 运行SDK 3.1.2

    我有:

    • 吊销并重新颁发有效证书
    • 使用显式应用程序名称(com.mycompany.app name)创建了新的AP ID和新的关联设置配置文件,并将我的包标识符与其匹配(com.mycompany.app name)。
    • 已选择我创建的特定设置配置文件作为代码签名标识。(为了以防万一,我卸载了所有其他CSI。)重申一下:“iPhone发行版”没有被选中!

    我还应该规定它甚至不会因为这个问题开始构建代码(即使有一个干净的构建)。因此,在尝试安装到设备时,不会引发此错误。

    我还阅读了其他有关这个问题的stackoverflow线程,但它们似乎是为分发而构建的,而不是为开发而构建的。

    任何帮助都会非常感谢…

    3 回复  |  直到 15 年前
        1
  •  1
  •   Adam Wright    15 年前

    您确定没有安装3.1.2并且没有更新您的SDK(或者相反)?次要版本号 重要的是,不匹配可能导致此错误。

        2
  •  1
  •   Perry Loh    15 年前

    从未真正找到其他人发布的解决方案,因此我将在下面分享我为解决此问题所做的工作。

    我所做的是显示“.xcodeproj”的包内容,然后手动编辑其中的“project.pbxproj”文件。

    查找名为“xcBuildConfiguration”的部分,您应该能够看到所有不同的配置。我手动删除了与代码签名相关的代码,例如:

    CODE_SIGN_ENTITLEMENTS = dist.plist;
    CODE_SIGN_IDENTITY = "iPhone Distribution: xxxx yyyy";
    "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: xxxx yyyy";
    PROVISIONING_PROFILE = "zzzzzzzzzzzzzzzzzzzzzzzz";
    "PROVISIONING_PROFILE[sdk=iphoneos*]" = "zzzzzzzzzzzzzzzzzzzzzzzz";
    

    剩下的是:

    buildSettings = {
                    ALWAYS_SEARCH_USER_PATHS = NO;
                    COPY_PHASE_STRIP = NO;
                    GCC_DYNAMIC_NO_PIC = NO;
                    GCC_OPTIMIZATION_LEVEL = 0;
                    GCC_PRECOMPILE_PREFIX_HEADER = YES;
                    GCC_PREFIX_HEADER = xxx_Prefix.pch;
                    INFOPLIST_FILE = "Info.plist";
                    PRODUCT_NAME = xxx;
                };
    

    如果有任何与代码签名相关的配置,也应该删除其他配置。

        3
  •  0
  •   EToreo    15 年前

    我在几天的时间里尝试了所有的方法,最终在我的头脑中得到了它,只是做了一个新的项目,并添加回我的所有源文件。在当时,这似乎是一个长期的尝试,但似乎奏效了。不知道为什么,但现在一切都很顺利。

    推荐文章