2015-03-03 250 views
4

证书过期后我开始出现密码错误。我有一个更新的证书,已过期的证书已被删除。但不知何故,Xcode设置EXPANDED_CODE_SIGN_IDENTITY与过期证书的SHA-1。它在哪里得到这个价值?我认为它必须缓存在某个地方,因为钥匙串中没有证书,它正在尝试用于代码签名的SHA-1。我搜索了pbxproj文件,但没有找到它,从项目根开始的递归grep也没有得到任何结果。Xcode如何设置EXPANDED_CODE_SIGN_IDENTITY?

这里有一些关于我的配置一些细节:

  • 没有户口在Xcode
  • 成立
  • 而是一个开发者账户的,我公司采用从团队代理
  • 的Xcode版本导出的证书是6.1.1
  • OSX版本是10.10.2

该项目的身份是建立在Xcode中这样: enter image description here

当我检查的钥匙圈,找到正确的身份:

$ security find-identity -p code signing 
Policy: Code Signing 
    Matching identities 
    1) F1326572E0B71C3C8442805230CB4B33B708A2E2 "iPhone Developer: XXX XXX (C395QGL4DK)" 

在构建输出我看到的环境变量设置不正确:

export EXPANDED_CODE_SIGN_IDENTITY=9F5616A53464FC5C003847ED620357A7BC72ABB1 

我已经尝试它与以下内容:

  • 删除证书钥匙串访问并重新添加它
  • 设置私钥的访问控制,让所有的应用程序
  • 删除所有配置的配置文件,然后重新添加我使用
  • 删除在〜/库/开发人员的一切一曲/ Xcode中/ DerivedData
  • 删除一切都在〜/图书馆/缓存/ com.apple.dt.Xcode
  • 重新启动的Xcode
  • 重新启动Mac

我现在已经运行OU要尝试的东西的想法。还有另外两个开发者与我一起工作,他们两人最初都遇到过同样的问题。但是,他们在做了一些我已经尝试过的相同步骤之后再次开始工作。我们都使用相同的证书,相同的配置文件和相同的项目设置。它必须是我的系统上的设置或缓存,但我一直无法找到它。

如果我能找出Xcode设置这个环境变量的位置,我可以清理它,一切都应该再好。

回答

1

我有同样的问题,我的答案是相当简单的获得:我试图使用被捆绑在老证书供应配置文件(我的猜测是EXPANDED_CODE_SIGN_IDENTITY是从您尝试使用的配置文件中提取的)。

无论如何,在与新证书绑定的开发中心上创建新配置文件之后,停止发生这种情况。

+0

由于没有任何可以找到的记录,我相信你是正确的。我在文本编辑器中打开了配置文件,发现有两个对开发人员证书的引用。我复制每个文本,基地64解码他们,然后发送他们作为输入openssl。一个与“坏”证书具有相同的SHA-1,另一个与“好”证书匹配。我不确定为什么Xcode选择了坏的,但原来的问题已经得到解答。 – 2015-03-12 23:56:40

0

,如果有帮助,我使用詹金斯打造的应用程序,使所有命令从控制台运行... 所以我关闭CODE_SIGNING_ALLOWED和“overrided” EXPANDED_CODE_SIGN_IDENTITY_NAME和EXPANDED_CODE_SIGN_IDENTITY。出于某种原因,它帮助我以适当的身份构建应用程序。

xcodebuild -project my.xcodeproj/ -sdk iphoneos \ 
CODE_SIGNING_REQUIRED=YES \ 
CODE_SIGNING_ALLOWED=NO \ 
CODE_SIGN_IDENTITY="My Identity" \ 
EXPANDED_CODE_SIGN_IDENTITY_NAME="My Identity" \ 
EXPANDED_CODE_SIGN_IDENTITY=<CODE_SIGN_IDENTITY> 

最后一个可以用

security find-certificate -a -c "My Identity" -Z|grep ^SHA-1|cut -d " " -f3|uniq 
+0

我们在构建服务器上使用jenkins,并且它在代码签名方面似乎很好。我相信那是因为它有一个手动配置,而Xcode是自动执行的。 – 2015-03-03 19:56:36

+0

那么,因为我们的项目是Unity项目,所以xcproject文件是由Unity生成的。 – 2015-03-04 10:12:10

+0

当我的证书过期并且必须使用其他证书时,我遇到了此问题。这个诀窍帮助我强制xcodebuil使用合适的codeign步骤。 – 2015-03-04 10:20:43