使用其他人的开发者证书签署iOS应用程序

Can*_*ğlu 5 xcode certificate provisioning-profile

我和我的朋友正在开发一个应用程序,我需要用他的身份签名来测试推送通知系统.这是我们做的:

  • 我已将UDID发送给他,他将我的UDID添加到他的设备中
  • 他为我们的捆绑包ID创建了一个新的配置文件,包括用于开发人员证书的UDID
  • 他把配置文件发给了我.
  • 我已经为我的设备和Xcode添加了配置文件.
  • 他在Keychain访问中导出了他的开发人员证书(带有私钥)并将其发送给我
  • 我成功导入了他的证书
  • 我已经选择了他在Xcode发送的配置文件

我试图运行该应用程序,它说没有找到该配置文件的有效签名身份.然后我尝试p12通过单击Other(Xcode无法找到任何对该配置文件有效的证书)将文件键入证书,但它无法签名:

Code Sign error: No codesigning identities found: No codesigning identities
(i.e. certificate and private key pairs) that match the provisioning profile
specified in your build settings (“tanisalim”) were found.
CodeSign error: code signing is required for product type
 'Application' in SDK 'iOS 7.0'
Run Code Online (Sandbox Code Playgroud)

这是我的项目配置:

在此输入图像描述

如何使用我朋友的证书对应用程序进行编码?

Rhy*_*man 6

首先,如果您在开发期间进行协作,那么您的朋友应该将您添加到他的帐户中作为开发人员并将您的证书添加到开发配置文件中。

为此,他需要邀请您访问他的开发者帐户,然后您创建证书。请参阅 Apple 的应用程序分发指南

但是,如果您只想使用他的身份,我会打开他的 p12 文件,将其导入您的钥匙串。我不认为在代码签名标识中输入路径 p12 有效。

确保您已经安装WWDR 证书,检查应用程序 bundleID 与配置文件的匹配,重新启动 Xcode 以获得良好的测量,然后应该能够选择他的代码签名身份并签署您的应用程序。

  • 我找到了问题所在。开发者证书不包含私钥。即使当我告诉他通过钥匙串访问向我发送带有私钥的证书时,他也只是选择了证书,假设私钥也被导出。经过一番研究(参见 http://stackoverflow.com/a/10965723/811405),我明白应该像该答案给出的屏幕截图一样明确地同时选择证书和私钥。钥匙串访问显​​示私钥在证书中,这导致很大的混乱。 (5认同)