Xcode 无法获取进程 XXX 的任务。我该如何解决这个问题? (iPhone SDK 4.0)

Posted

技术标签:

【中文标题】Xcode 无法获取进程 XXX 的任务。我该如何解决这个问题? (iPhone SDK 4.0)【英文标题】:Xcode fails to get the task for process XXX. How do I solve this? (iPhone SDK 4.0) 【发布时间】:2010-08-19 16:02:59 【问题描述】:

当我尝试在我的 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,但由于代码签名错误,它无法让我编译。我只有一个开发配置文件,所以它与尝试调试分发版本的人不同(我也在调试版本中,所以这不是问题)。

旧项目在 ipod 上构建和运行良好,只是新项目。

我尝试重新启动 xcode 和我的 ipod,但没有帮助。

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

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

【问题讨论】:

【参考方案1】:

事实证明,使用不同的配置文件(一个带有通配符而不是一个没有)解决了这个问题。

关键是使用开发者配置文件而不是分发配置文件。

【讨论】:

是开发证书还是分发证书? 是的,我的是有发行证书的,我改成开发后一切顺利。【参考方案2】:

检查您是否使用开发配置文件而不是分发配置文件进行签名。

【讨论】:

【参考方案3】:

当您在代码签名中设置分发供应配置文件时会发生此错误。将其更改为 Developer Provisioning Profile,然后它将起作用。为 Xcode SDK 4.5 工作。

【讨论】:

【参考方案4】:

还有一种情况是你的错误会发生。

如果在后台启动具有相同 Bundle Identifier 的应用程序(可能是 App Store 版本),Xcode 调试器将不知道它应该附加到哪个应用程序。要解决它,请删除/卸载 App Store 版本,然后在 Xcode 中再次单击Run

如果您曾经使用捆绑包 ID 构建应用程序,然后您更改了项目捆绑包 ID 并仍然保留两个应用程序版本,则同样的情况也适用。确保删除旧的。

【讨论】:

【参考方案5】:

如果您的证书不完全正确或变得不完全正确,则可能会开始出现此问题,您可以反复使用配置文件和授权文件,但没有效果。 (几乎在所有情况下,您都不需要授权文件。)

我在这里谈论的是在“调试”模式下在系留设备上进行调试,而不是任何类型的“发布”模式。

这是我最终确定这是问题并修复它的方法:

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) 我再次执行了第 4 步,这次效果很好!然后我发现其他给我“未能获得任务”问题的程序现在也可以正常工作。我只是希望在我尝试这里描述的过程之前,我能找回失去的所有时间。

结论,第一台 Mac 上的证书或密钥出现问题或出现问题。它足够微妙,我仍然可以进行构建、制作临时发布等,但我无法在连接的设备上运行。虽然我不认为这是一个因素,但我使用的是公司开发者帐户,而这台 Mac 被设置为为其他几个开发者帐户进行开发(这些没有显示问题)。

【讨论】:

【参考方案6】:

在 Xcode 5.0 尝试更新证书但失败(它挂起)之后,......它建议我这样做。我当时所做的一切:

重启 Xcode 5.0 打开窗口 > 管理器 在顶部选择设备 选择我的设备(带有绿色子弹) 点击底部的 (+) 添加到会员中心,然后按照几个简单的步骤进行操作

【讨论】:

@AdriánRodríguez 感谢您感谢我。我 ^-ed 你的两个答案,双倍回报你 :-) 祝你有美好的一天!【参考方案7】:

前往 Apple 开发者中心并确保您的开发者证书未过期。我的已经过期了,所以我更新了它,然后又回到了 Xcode(5.1.1),在账户偏好下,我查看了我的苹果账户的详细信息,然后点击底部的小刷新按钮。我的 iOS 开发签名身份出现了,我又重新开始工作了。

【讨论】:

【参考方案8】:

在管理器中从设备中删除分发配置文件为我解决了这个问题

【讨论】:

【参考方案9】:

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

2.debug区使用开发证书,release区使用分发证书。

【讨论】:

以上是关于Xcode 无法获取进程 XXX 的任务。我该如何解决这个问题? (iPhone SDK 4.0)的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 调试:如何解决“无法获取进程任务”?

Xcode 5 挂起 iOS 7.0.3 设备并且日志无法获取进程 -1 的任务

C#如何通过进程名称获取指定窗口的句柄,通过该句柄获取该窗口的标题?

PHP多进程处理并行处理任务实例

PHP多进程处理并行处理任务实例(转,备用)

另一个程序正在使用此文件,进程无法访问。我该怎么办?