我使用Xcode 4在iPhone上运行我的应用的发布模式。

一切都很顺利,直到我切换到模拟器,又切换回iPhone。切换回来后,应用会在iPhone上启动,但主屏幕会立即显示,在Xcode中我得到:

failed to get the task for process 

我试着删除/添加授权文件,删除应用程序和重新启动Xcode,但什么也没做。


当前回答

我敢打赌你的发行模式包括使用发行证书进行编译,这将禁止这种行为(你肯定不希望在从应用商店下载应用后出现一些随机的傻瓜)。使用开发证书进行编译。您可以在代码签名下的建筑设置中更改此设置。

其他回答

对于任何遇到这个问题的人: 读完这篇文章后,我试图通过将调试签名设置为开发证书来解决这个问题,但发现部署仍然失败。

结果发现我的目标是发布,因此仍然使用分发证书签名——要么回到调试目标,要么暂时将发布签名更改为开发。

如果有人遇到这个问题,但确定他们的证书和代码签名设置正确,请在单击项目时检查功能选项卡(即在构建设置选项卡,构建阶段选项卡等旁边)。

在我的例子中,Game Center和In- app purchase的链接失效了,需要修复(通过点击“修复我”按钮)来解决这个问题。

我在“调试”的构建设置配置文件上切换回“自动”,并保持发布证书配置文件不变,我的工作正常。试了其他答案。毫无效果。不想重新配置我的证书。配置配置文件上的自动配置完成了任务

把我的应用程序安装在带有Distribution Profile的iPhone 5S上也会遇到同样的问题

>我的解决方案是激活分布配置文件中设置的功能(在我的情况下“钥匙链共享”,“应用内购买”和“游戏中心”)

希望这能帮助到某人…

我也遇到过同样的问题,不过情况有点不同。有一天,我的应用程序正常启动(使用开发人员提供的条款),然后我对我的授权文件做了一些小的编辑,之后它就停止工作了。应用程序在我的设备上安装得很好,但是每次我试图启动它时,它都会立即退出(在开始动画之后)。(因为我也对其他文件进行了编辑,我没有怀疑下面的问题)

问题是在授权文件格式,似乎下面的声明是不一样的:

正确的:

<key>get-task-allow</key>
<true/>

不正确的:

<key>get-task-allow</key>
<true />

虽然它是XML格式,但不要在标签中使用空格,否则Xcode将无法连接到进程。

我一直在使用开发人员配置文件。

编辑:同时确保授权文件中的结束行是\n (LF)而不是\r\n (CRLF)。如果在Windows上使用CRLF行结束符编辑授权文件,可能会导致应用程序无法启动。