Xcode无法获取进程XXX的任务,我该如何解决?(iPhone SDK 4.0)

55

当我尝试在我的iPod上运行一个新项目时,出现了以下错误:

Error launching remote program: failed to get the task for process 312.
The program being debugged is not being run.

我了解Entitlements.plist,我试图添加get-task-allow,但是由于代码签名错误,它不允许我编译。我只有一个开发配置文件,所以与尝试调试分发版本的人不同(我也在debug构建中,所以这不是一个问题)。

旧项目在iPod上构建和运行正常,只有新项目会出现问题。

我已经尝试重新启动Xcode和我的iPod,但没有帮助。

我对如何在Xcode上构建/运行新项目没有更多的想法,因此非常感谢任何帮助!

哦,我正在使用iOS 4.0.1的iPod 3G。 Xcode是3.2.3(64位)。

9个回答

121

结果发现使用具有通配符的不同配置文件(而不是没有通配符的配置文件)解决了这个问题。

关键在于使用开发者配置文件而不是发布配置文件。


这是开发证书还是发布证书? - fabian789
是的,我的问题出在分发证书上,当我将其更改为开发证书后,一切都顺利了。 - Felipe

45

请检查您是否正在使用开发型的配置文件来进行签名,而不是发布型的配置文件。


17

当您在代码签名中设置了分发的Provisioning Profile时,会出现此错误。将其更改为开发者的Provisioning Profile,然后它就可以正常工作了。对于我来说,Xcode SDK 4.5适用。


3

有一种情况可能会出现错误。

如果一个具有相同Bundle Identifier的应用在后台运行(可能是App Store版本),Xcode调试器将不知道它应该连接哪个应用程序。要解决这个问题,请卸载App Store版本,并再次在Xcode中点击Run

如果你曾经使用一个Bundle ID构建了应用程序,然后你改变了项目的Bundle ID并且仍然保留了两个应用程序版本,那么同样的故事也适用。确保删除旧版本。


1

前往苹果开发者中心,确保您的开发者证书没有过期。我的证书已过期,所以我进行了更新,然后回到Xcode(5.1.1)并在帐户首选项下查看了我的苹果帐户详细信息,并点击底部的刷新按钮。我的iOS开发签名身份出现了,我又可以进行开发了。


1
如果您的证书不太对或已经变得不太对,这个问题就会开始出现,并且您可能会在生成和授权文件上来回操作,但没有任何效果。(在几乎所有情况下,您都不需要授权文件。)
我在这里讨论的是在“调试”模式下针对有线设备进行调试,而不是任何形式的“发布”模式。
以下是我最终确定这是问题并解决它的方法:
1)尝试创建最简单的Xcode项目,并在Target...General中为您的“团队”设置它。(如果您发现这样做不可能,那已经是这种问题的标志了。)
2)连接您的设备并尝试在其上运行。通常,这将顺利进行,但如果打开屏幕在您的设备上出现一两秒钟,然后应用程序崩溃,并且Xcode表示无法附加到某些正任务ID,则您可能会遇到我遇到的问题。

3) 然后我去了另一台安装了Xcode的Mac电脑,做了同样的事情,让Xcode 5自动获取所需的凭据。(对于所有这些,我都使用了“通配符”*应用程序ID。)在我的情况下,令我惊讶的是,我在新Mac上创建的简单应用程序可以在连接的设备上很好地运行,并且可以无限期地保持其开屏状态。真是太令人欣慰了。然后我在新机器上打开钥匙串访问,将所有相关密钥导出到一个文件中,然后将相关证书导出为.p12文件。我还复制了新的工作项目,带回了第一台Mac电脑。

4) 回到第一台Mac电脑,使用第二台Mac电脑的应用程序时,在查看Target...General屏幕时遇到了Team ID问题。你的症状可能不同,但重点是我无法在第一台Mac电脑上重新构建第二台Mac电脑上的应用程序。

5) 然后我打开了钥匙串访问(可能不是必要的),双击我带来的文件,先是带有密钥的文件,然后是带有证书的文件,在请求时提供p12密码。(其中一些可能实际上并不是必要的,但我不确定哪些是必要的,并且我正在描述对我有效的内容。)

6) 我再次尝试了第四步,这次成功了!然后我发现其他一些出现“获取任务失败”问题的程序也能正常运行。我只希望我在尝试这里描述的过程之前所浪费的时间能够回来。

总结,第一个Mac上的证书或密钥出了问题或已经出了问题。这种问题足够微妙,以至于我仍然可以进行构建、制作自适应发布等操作,但我无法在被连接的设备上运行。虽然我不认为这是一个因素,但我使用的是企业开发者账户,而这台Mac被设置为为其他几个开发者账户进行开发(这些账户没有显示此问题)。


1

在 Xcode 5.0 尝试并失败(挂起)更新证书之后,...它建议我这样做。那时我所做的只有:

  • 重新启动 Xcode 5.0
  • 打开窗口 > 组织者
  • 在顶部选择设备
  • 选择我的设备(具有绿色符号)
  • 单击底部的 (+) “添加到成员中心” 并按照简单的几个步骤进行操作

@AdriánRodríguez 感谢你的感谢。我给了你两个赞,双倍回报 :-) 祝你有美好的一天! - meaning-matters

0

1. 使用开发证书在代码签名标识的调试和发布区域中运行应用程序。

或者

2. 在调试区域使用开发证书,在发布区域使用分发证书。


0

在组织者中从设备中删除分发配置文件解决了我的问题


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