【问题标题】:Signing iOS app with someone else's developer certificate使用其他人的开发者证书签署 iOS 应用程序
【发布时间】:2014-02-04 16:33:37
【问题描述】:

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

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

我尝试运行该应用程序,但它说没有为该配置文件找到有效的签名身份。然后我尝试通过单击Otherp12 文件输入到证书中(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'

这是我的项目配置:

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

【问题讨论】:

    标签: xcode certificate provisioning-profile


    【解决方案1】:

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

    为此,他需要邀请您加入他的开发者帐户,然后您创建证书。 See Apple's App Distribution Guide

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

    确保您已获得WWDR certificate installed,检查应用程序 bundleID 是否与配置文件的匹配,重新启动 Xcode 并然后应该能够选择他的代码签名身份并签署您的应用程序。

    【讨论】:

    • 他如何邀请我加入他的开发者帐户?除了公司帐户(不是我们的情况)之外,我找不到有关此的信息。我想使用他的身份,我打开了他导出的 p12 文件,但我仍然无法使用该证书进行签名。
    • 我找到了问题所在。开发者证书不包含私钥。即使我告诉他从钥匙串访问中向我发送带有私钥的证书,他也只选择了证书,假设私钥也被导出。经过一番研究(请参阅stackoverflow.com/a/10965723/811405),我了解到应该像在该答案中给出的屏幕截图中那样明确地同时选择证书和私钥。钥匙串访问显​​示像私钥在证书中,这会导致很大的混乱。
    • 如果您的朋友是以个人身份而非组织身份注册的,则他无法邀请您。请参阅 [developer.apple.com/library/content/documentation/IDEs/…(Apple 指南),尤其是在“选择以个人或组织身份注册”下。
    猜你喜欢
    • 2012-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-30
    • 1970-01-01
    • 2011-02-10
    • 2011-10-04
    • 1970-01-01
    相关资源
    最近更新 更多