Xcode iOS开发签名标识

12

我在将iOS开发签名标识添加到Xcode时遇到了问题。我尝试了很多方法都无法解决它。

我曾尝试过自动方式,让Xcode来完成所有步骤,但是总是被卡住,Xcode不断显示:

找不到签名标识。Xcode可以为您请求一个新的iOS开发签名标识。

接下来是:

您的账户已经有一个有效的证书。如果您在另一台Mac上有签名标识,您可以导入开发者配置文件。您也可以撤销当前证书并重新请求一个新的证书。

enter image description here

我采取了很多步骤:

  • 从Xcode的首选项中删除我的帐户。
  • 从钥匙链应用程序中删除所有内容。
  • 从开发人员成员中心(苹果开发者网站)清除所有内容
    • 删除所有预配资料
    • 删除我的设备
    • 撤销了所有我的证书
  • 重新启动Xcode以执行“Clean”项目(从“Product”菜单中)。
  • 甚至进入我的project.pbxproj文件清除与PROVISIONING_PROFILE有关的所有内容。
  • 从我的设备中删除了所有预配置资料。

然后我回到Xcode:

  • 将我的帐户添加到首选项部分
  • 点击“查看详细信息”
  • 进行刷新
  • Xcode会自动创建两个证书
  • Xcode会自动创建预配资料
  • Xcode只会创建一个签名标识:只适用于iOS分发。 这就是我的问题所在:我无法获得iOS开发签名标识。 enter image description here

在无法使其正常工作后,我采用了传统的手动方式:

  • 首先像上面一样清除所有内容
  • 手动创建新的证书,下载并将它们添加到钥匙链应用程序中。
  • 在此输入图片描述
  • 手动创建了新的配置文件,下载并将它们拖到Xcode应用程序图标上。 在此输入图片描述 在此输入图片描述 最终结果相同;当我在Xcode > 首选项 > 帐户 > 查看详细信息时:
  • 我有一个发布签名标识
  • 我没有一个开发签名标识

当我点击签名标识下的“+”按钮并选择“iOS开发”,什么也不会发生。

我在StackOverflow上找到了很多帖子,尝试了他们的建议,但对我没有用。其他帖子的例子: 这里, 这里这里

我正在使用最新版本的Xcode:6.2。 我正在开发一款已经在App Store中的应用程序。

编辑: 我还将我的项目和目标的代码签名构建设置更改为不进行代码签名,然后将其改回iOS分发(用于Ad-hoc),以及iOS开发(用于调试)。 在此输入图片描述


1
你是否在门户网站中手动创建了新的开发证书?我想我知道你是从XCode内部尝试的,但还是要确认一下。同时,包含Dev Portal、XCode和Keychain Access的屏幕截图可能会有所帮助。请遮盖敏感信息。 - Dan
@Dan,感谢您的回复。是的,我已经尝试了自动和手动两种方式,结果都一样。我已经添加了一些截图,就像您要求的那样...还有其他信息或者需要我提供的东西吗,以便您能够帮助我? - Brabbeldas
你将新证书绑定到了配置文件中吗? - Dan
是的,证书与新配置文件相关联。 - Brabbeldas
3个回答

8

和一位在苹果开发者论坛上非常乐于助人的人一起,我们试图弄清楚这个问题。

我太盲目地认为它无法工作,从未想过尝试并构建另一个项目以查看是否可行。我完全专注于成员中心中的我的证书和配置文件以及xcode中的帐户详细信息。 当我尝试构建另一个(随机)项目时,它一次成功了。这告诉我们它一定与该特定项目的构建设置有关,xcode无法对其进行代码签名。

最后,在xcode中,我进入了我的目标构建设置。在代码签名部分内,我将任何iOS SDK的值更改为指向我的Keychain中的特定身份,而不是自动选择(iOS Developer / iOS Distribution)。 这解决了我的问题,我能够构建/部署到我的设备,并能够上传新版本到iTunes Connect。

enter image description here


1
对我没用。我打赌这里有一些证书和设置的组合问题。唉。 - Tom Roggero

1

由于尝试了所有以上解决方案都没有起作用,我们的团队决定删除Pod文件并重新运行pod install。最终,我们OTA上传的ipa被安装到了用户设备上。

  1. 清除项目:菜单 > 产品 > 清理构建文件夹/Users/{你的用户名}/Library/Developer/Xcode/DerivedData
  2. 进入您的项目目录并删除Podfile.lockPods文件夹,pod_***.framework
  3. 再次运行pod install

0

Brabbeldas,那些构建设置更改是否已经在Xcode > Preferences > Accounts > (your account) > View Details > Signing Identities面板中显示iOS开发人员证书?

昨天(3月26日)下午2:30左右解决了短暂的证书生成问题,这恢复了缺少组织单位字段的iOS开发人员证书,这些证书也表现出了这种症状(在帐户 > 查看详细信息 > 签名标识面板中缺少开发人员证书)。

如果仍然缺失,则您可能仍然受到此问题的影响。要确认,请在Keychain Access中双击您的iPhone Developer证书。如果证书缺少其组织单位字段,则问题仍然存在。如果您的组织单位字段存在,则无需担心。组织单位应设置为您的团队ID的值。

此问题的完整症状包括:

  • iOS开发人员证书显示为Revoked,或根本不显示在Preferences > Accounts > (your account) > View Details > Signing Identities面板中。
  • 使用该证书签名的框架无法加载,显示dyld: Library not loaded: [your_signed_framework]

由于证书服务器问题已经解决,请按照以下步骤解决问题:

  1. 在网站上撤销受影响的开发者证书
  2. 在 Xcode > 首选项 > 帐户 > (您的帐户) > 查看详细信息 中单击 "⟳" 按钮
  3. 重新生成任何自定义开发人员配置文件,下载并安装到 Xcode 中

作为诊断签名框架问题的额外方法,请使用 codesign -dvvv your_signing_framework.dylib。对于受影响的证书,TeamIdentifier 字段将显示为 not set 而不是您的团队 ID。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接