证书过期后我开始出现密码错误。我有一个更新的证书,已过期的证书已被删除。但不知何故,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中这样:
当我检查的钥匙圈,找到正确的身份:
$ 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设置这个环境变量的位置,我可以清理它,一切都应该再好。
由于没有任何可以找到的记录,我相信你是正确的。我在文本编辑器中打开了配置文件,发现有两个对开发人员证书的引用。我复制每个文本,基地64解码他们,然后发送他们作为输入openssl。一个与“坏”证书具有相同的SHA-1,另一个与“好”证书匹配。我不确定为什么Xcode选择了坏的,但原来的问题已经得到解答。 – 2015-03-12 23:56:40