相关疑难解决方法(0)

为什么Xcode会在钥匙串中自动安装(重复和过期)证书?

可能重复:
xCode 4 - 重新安装我删除的密钥链证书

这个问题简而言之.

在Xcode中构建项目时,我收到来自Check dependencies步骤的错误消息:

CodeSign error: Certificate identity 'iPhone Developer: xxxxx' appears more than once in the keychain. The codesign tool requires there only be one.
Run Code Online (Sandbox Code Playgroud)

问题是,每当启动Xcode时,都会重新安装此证书标识.它也是一个过期的证书,会造成额外的混乱.所以我在钥匙串中删除它,并构建项目,一切正常.

退出Xcode,重新启动,观看Keychain和TA-DA!过期的证书重新出现.

我觉得我回到了病毒感染的Windows机器上.

由于项目在删除证书时正确构建和执行,唯一的问题是xcode的自动安装.


编辑:

我认为无论出于何种原因,它都必须与xcode对钥匙串的检查有关.然后xcode决定根据其对钥匙串的检查来安装证书,尽管这是一个错误的决定.如果我花了24-48小时,我可以解决这个问题,但我能够继续工作,而不会退出Xcode.:)

iphone xcode build certificate keychain

27
推荐指数
1
解决办法
1万
查看次数

开发人员和企业分发之间的CodeSign冲突

我的公司使用一台构建机器(Mac Mini)作为CI节点来构建我们的iOS应用程序.我们目前在mini上构建了一个Ad-Hoc和一个App Store配置.我们最近注册了企业计划,并希望开始构建企业配置.但是,我们的构建过程现在失败了,因为我们现在有两个名为"iPhone Distribution:Widget Corporation"的证书.一个是AdHoc/AppStore的分发证书,一个是Enterprise(Apple称之为In-House).

我已经尝试修改mini的钥匙链,使得一个证书在登录钥匙串中,一个在一个名为"enterprise"的新钥匙串中,但这只是从构建开始转移了错误:

CodeSign error: Certificate identity 'iPhone Distribution: Widget Corporation' appears more than once in the keychain.
Run Code Online (Sandbox Code Playgroud)

到构建结束时:

iPhone Distribution: Widget Corporation: ambiguous (matches "iPhone Distribution: Widget Corporation" in /Users/hudson.admin/Library/Keychains/login.keychain and "iPhone Distribution: Widget Corporation" in /Users/hudson.admin/Library/Keychains/enterprise.keychain)
Run Code Online (Sandbox Code Playgroud)

我的问题是,是否有办法正确沙箱两个证书,以便我可以在同一台机器上构建应用程序的Ad-Hoc,App Store和内部版本.我还没有尝试的唯一可能的解决方案是将证书与源捆绑在一起,并根据security需要添加和删除证书; 显然,解决方案不是很漂亮,并带来安全风险.

有任何想法吗?

continuous-integration hudson objective-c codesign ios

20
推荐指数
3
解决办法
4906
查看次数

Xcode过期证书问题

请看下面的截图 在此输入图像描述

如您所见,有两个证书.所有都是我的,具有加工用户的ID和通用名称.

每当我构建应用程序并在Xcode中为设备启动它时,我都会收到致命的证据,即此证书是重复的.所以我删除了过期的应用程序并再次启动应用程序 - 它正在设备上安装和调试,没有任何问题.

但是,当我启动其他项目或重新启动时,一次又一次地在钥匙串中显示过期的证书,这会变得有点烦人.

是什么原因导致过期的证书被重新读入钥匙串?我该怎么办呢?

iphone cocoa-touch code-signing xcode4

8
推荐指数
2
解决办法
5723
查看次数

在 OSX 10.10.3 中导入单个证书后出现重复身份

尽管只安装了一个,但操作系统似乎错误地列出了多个身份。

这是我的钥匙串(安全列表钥匙串

"/Users/mateuscb/Library/Keychains/login.keychain"
"/Library/Keychains/System.keychain"
Run Code Online (Sandbox Code Playgroud)

我列出了身份,但返回的身份为零。

然后我通过以下命令行导入它:

security import "~/mycert.p12" -k "/Users/mateuscb/Library/Keychains/login.keychain" -t cert -f pkcs12 -P password`
Run Code Online (Sandbox Code Playgroud)

当我列出身份时,我现在得到这个(security find-identity):

Valid identities only
 1) 7E0B7E829EBF27EEC57CC796F948D7C2D9A91330 "Developer ID Application: The Company Inc."
 2) 7E0B7E829EBF27EEC57CC796F948D7C2D9A91330 "Developer ID Application: The Company Inc."
Run Code Online (Sandbox Code Playgroud)

更奇怪的是,如果指定钥匙串,我只得到一个(security find-identity login.keychain)。并且 System.keychain 始终为空。

我还多次休息过我的钥匙串(钥匙串访问)。

macos import certificate

2
推荐指数
1
解决办法
2190
查看次数