Xcode 4.3.1“找不到此可执行文件的有效配置文件”

13
今晚我从Snow Leopard升级到Lion,并升级到Xcode 4.3.1(iOS 5.1)。现在,当我尝试在我的设备(iPad)上运行调试模式时,出现“未找到此可执行文件的有效签名文件”。我已经尝试了以前帖子中的所有建议。我已经生成了新证书。我已经将我的代码签名设置为使用新证书。我已经更新了配置文件以使用新证书。我已经进入.pbxproj文件并删除了所有有关配置文件的引用。我已经清理并关闭了Xcode无数次。不管我做什么,当我尝试在设备上运行时,仍然会得到相同的错误。
在组织者中,配置文件显示为我的库中的“有效配置文件”,但在列出的设备的配置文件下面没有任何配置文件。我已经尝试单击添加按钮并手动导入它-什么也没有发生。它不会出现。当我单击组织者中的设备图标时,它说“配置:没有配置文件”。但是,当我在线访问我的iOS配置门户并单击设备时,配置文件会显示为与设备关联。有什么想法吗?我在这里拔光头发了。

你检查过你的包标识符了吗?你必须把你的新配置文件的标识符作为你的包标识符。 - Sree
我的预配文件关联的 App ID 是 (Bundle Seed ID).(Bundle Identifier)。它与我 info.plist 文件中设置的 Bundle Identifier 匹配。 - Joel
你是否在项目和目标的“构建设置”中设置了相同的“代码签名标识”?最简单的方法是使用“iPhone Developer”,这使其始终匹配正确的配置文件。 - ott--
7个回答

10

你是否有两个不同的开发者账户,分别拥有不同的设备和应用程序?我遇到过这种情况(请看“iOS团队配置”文件与“iPhone开发者”匹配)。目前我找到的唯一切换账户的方法是选择你的设备并点击“添加到门户”,然后使用正确的苹果ID登录。


这对我有用。我必须删除两个帐户,然后重新启动XCode。重新启动后,我重新添加了需要此项目的帐户。这一定会触发来自Apple服务器上的配置文件的刷新。一旦发生这种情况,我就能够选择"团队配置文件"作为开发代码签名证书。 - Jason

6
我的解决方案是:
- 删除 .pbxproj 文件中所有关于配置文件的引用。 - 从钥匙链中删除所有证书。 - 将我的证书导入到钥匙链中。 - 创建一个新的配置文件并在开发者门户中进行配置。 - 在 Xcode 组织器中刷新配置文件。 - 删除 Xcode 自动添加的通配符配置文件。 - 进入代码签名,并选择与正确配置文件相关联的签名帐户。 - 插入其他 iOS 设备(用新的 iPhone 换掉 iPad)。 - 为新的 iOS 设备构建。
它奏效了。我不确定哪一步是关键步骤。我没有重新安装 Xcode。

5

确保为该配置文件生成了有效的私钥和公钥。更重要的是,确保密钥存储在钥匙串的正确位置。

它们应该在登录下,而不是系统或任何其他位置。这曾经给我造成了问题,花费了我一段时间才找到解决方法。

希望这可以帮助到您。


谢谢建议。不过我之前已经尝试了。最后我只好删除所有内容,重新开始创建新的配置文件等。 - Joel
1
@JoelMilne:你是怎么做的?你重新安装了Xcode吗?能详细说一下吗? - Todd Lehman
1
在.pbxproj中删除了所有对配置文件的引用。删除了钥匙串中的所有条目。将我的证书导入到了钥匙串中。创建了新的配置文件,并在开发者门户中进行了配置。在Xcode组织器中刷新了配置文件。删除了Xcode自动添加的通配符配置文件。进入代码签名并选择与正确配置文件相关联的密钥。构建iOS设备。然后就能正常工作了。我没有重新安装Xcode。 - Joel
1
@Joel 如果这对你有用,你应该将其写成答案并接受它。 - powerj1984

2

我之前遇到过这个问题,我的“标准”解决方案是:

a)创建一个新的iOS虚拟项目,使用Xcode菜单-文件-新建-项目。检查代码签名是否为您的开发者证书。编译并查看它是否能在您的iPhone / ipad上运行。

如果a)失败了,那么可能是您的证书和密钥链出了问题。清除所有内容并创建新的证书。

如果b)成功了,那么可能是.xcodeproj文件或您的问题项目的构建文件夹中的某些问题。删除构建中的所有文件和文件夹。使用您的备份(确保您每天备份您的项目!),并将“旧”的.xcodeproj文件复制到您的问题项目中。使用Xcode - 项目 - 清理,xcode - 项目 - 构建为 - 测试,然后“运行”。

在尝试上述解决方案之前,请进行额外的备份。

祝你好运,并记住你不是第一个遇到证书问题的人。


0
在我的情况下,问题根本与密钥、证书、配置文件或其他任何在这里和其他地方提到的原因无关。事实证明,不同团队中的其他开发人员借用了我们使用的iPad,并将设备的日期改为未来一年!在我设置正确的日期和时间并在设备上运行应用程序后,一切都正常工作。
不幸的是,Xcode没有警告我,直到我需要解决另一个无关的问题时,Instruments才告诉我设备上的错误日期情况。

0
如果您正在使用Xcode 6,并在添加新设备(iPhone 5/6)时遇到此问题,您可以按照这里的步骤进行操作:
https://dev59.com/Jn7aa4cB1Zd3GeqPsJep#26153171


0

只需在“构建设置”中检查“代码签名”部分。如果您之前已经为App Store发布构建了应用程序,可能忘记从分发配置文件更改为开发配置文件。


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