Xcode:未能获得处理任务


242

这是针对已编译和分发多次的现有应用程序。由于更新到Xcode 5,我弹出此错误。

  1. 我在代码签名中选择了要调试的开发人员资料。
  2. 几次删除了衍生数据。
  3. 退出几次
  4. 下载并尝试重新添加我的开发人员证书。
  5. 重设我的电脑!并检查更新
  6. 尝试使用黑魔法!
  7. 方案>构建配置设置为调试

我正在编译编译为iOS 6.1的奇怪情况,因此我可以在我的iPhone 3GS上运行-基本版本是SDK iOS 7?这可能是个问题吗?我只需要先测试一下,然后再找到更新的手机,然后再将其更改为iOS 7即可。


2
检查您的方案,以确保您实际上在调试模式下运行。
borrrden

我忘记提及方案>构建配置设置为Debug
elliotrock 2013年

我也遇到这个问题。在Xcode 4.x中没有问题。所有设置似乎都相同。调试符号不应在“ debug”中删除,方案应将“ debug”运行为“ Run”。这是我唯一的有此问题的代码。我在此代码中使用了推送通知和共享钥匙串。
DBD 2013年

我将在xcode5中重建项目,仅对回购物料进行分类
elliotrock 2013年

Answers:


489

当您选择临时配置文件时,通常会出现此错误。确保您的代码签名用于开发。


2
我建议您在包含您设备的开发中心中创建一个新的配置文件。然后下载并使用。我很确定它会起作用。
哈桑

7
将“构建设置”>“供应配置文件”设置为“无”可用于调试设备。
大卫·道格拉斯

7
顺便说一句,请检查是否在Project和Target构建设置中都完成了此操作(尤其是Target具有最高优先级,因此,如果您喜欢我通过更改Project花了30分钟而您没有意识到Target有所不同,您将学习这个...)
viggio24年

1
使用XCode 6,我必须使用开发人员帐户刷新我的配置文件,以便在“构建设置”中看到iOS Team Provisioning配置文件。刷新:底部的XCode>首选项>帐户> Apple ID>查看详细信息>刷新按钮。
kalana 2014年

1
有时,如果不重新启动xcode,此解决方案将不起作用。@ hasan83这仍在发生
albanx

90

如果您使用分发配置概要文件调试设备,则会发生此错误。

转到

Build Settings> Provisioning Profileset to 'None' for Debugging


2
我猜这对大多数人来说都是正确的答案。
约翰

39

最后,我记得在项目和目标选项卡中都设置了代码签名和配置参数,从而解决了这个问题。


6
是的 就是这样 由于Xcode完整的moronic用户界面,又浪费了30分钟。感谢您的保存!
2014年

那救了我!非常感谢!
Evgeniy Kleban '16

31

当您的设备通过电缆连接到计算机并且您构建并运行应用程序时,设备将尝试调试。仅允许对开发配置文件进行调试。

  1. 如果您使用开发配置文件+开发签名代码进行构建+运行,一切都会好起来的

  2. 如果您使用AppStore分发配置文件+分发签名代码进行构建+运行,则该应用甚至无法访问您的设备。此版本仅用于上传到AppStore

  3. 如果您使用AdHoc分发配置文件+分发签名代码进行构建+运行,则会收到“无法获取要处理的任务...”错误,但是该应用将安装在您的设备中。拔下设备电源,然后从设备上运行该应用程序。它在分发环境中运行。请享用 :)


14

更新:

Xcode 5.1似乎已修复了该下拉列表,因此,当两个配置文件具有相同的名称时,它现在会显示“(blah blah)”。这使您可以选择正确的一个。哪个更好:)


被这个咬了几次。Xcode5将“ Provisioning Profile”显示为单个字段,这总是不正确的,Apple不应这样编码其GUI(Apple的初学者错误)。

在Xcode5(无先前版本)中,您有两个“ Provisioning Profile”值。必须在设置“代码签名身份”之前进行设置。显然,由于必须首先将其设置为...苹果将其放在列表的第二位,因此必须将其设置为“之前”以下三项。

(那里糟糕的GUI设计的奖励点...)

这也很麻烦:如果您有两个名称相同的Provisioning Profile,Xcode5将仅允许您选择其中之一。要解决此问题,您必须使用iPhone配置实用程序找到所需的配置文件,找到30位数字的“配置文件标识符”,然后将其复制/粘贴到“ Provisioning Profile”下拉列表的“ Other”值中。

您的“供应配置文件”必须具有“调试”的值和“发布”的其他值(除非您手动构建自定义的大型配置文件,Apple会将两者分开)。

调试配置文件通常会出现上述同名错误-大多数人将使用Apple自动生成的团队配置文件,对于所有项目中的所有Target,Apple总是错误地使用相同的名称。(Xcode5中的另一个错误)。

设置完两个值后,“代码签名身份”字段将最终开始正常工作。实际上,它工作得很好:在大多数以前的Xcode版本中,此字段已损坏,并且“自动”选择很少起作用。在Xcode5中,它只能使用在您预先选择的Provisioning Profile中找到的代码签名值-因此看来它可以在100%的时间内正确显示。

(即,您可以安全地将其设置为“自动”。在以前版本的Xcode中,Xcode通常会“自动”使用发行版配置文件进行开发人员构建,反之亦然,这会导致很多问题)


注意:使用Xcode v7.3的NB有时在设置为“自动”时仍会选择错误的配置文件,从而导致此错误。
Ash Ash

12

根据我当前的搜索,在xcode 5上可能会出现错误“无法获取要处理的任务”,原因可能有多种:

  1. 其中之一是,我们正在调试使用分发专用配置文件签名的应用程序。
  2. 另一个原因是,尽管编码签名身份在那里具有开发人员签名身份,但xcode5却以某种方式找不到正确的开发提供配置文件。

对我来说,这是第二种情况,这个问题也是如此。

我可以通过将调试提供配置文件下拉列表更改为正确的开发提供配置文件,然后尝试将应用加载到实际设备来解决此问题。Xcode将给出以下错误: 在此处输入图片说明

点击“修复问题”继续,xcode 5将解决该问题。解决此问题后,将调试的配置文件再次重置为“无”,但不确定为什么xcode会这样做。


我在这里陷入了困境-单击“修复问题”将需要大约15秒钟才能与服务器对话,然后构建应用程序,随后立即出现完全相同的提示来修复问题。
克里斯

不知道为什么会出现这种情况,几天前我只是尝试过相同的方法,但它再次起作用。
windfly2006年

+1,表示:调试使用分发临时配置文件签名的应用程序。那就是我的问题。
约翰·埃克

4

我遇到了这个问题,一旦设置了CODE_SIGN_IDENTITYPROVISIONING_PROFILE,它们都可以正常工作,

请注意,这在Xcode 5中有所更改,以前的版本在构建设置中没有PROVISIONING_PROFILE的条目

//:configuration = Adhoc
CODE_SIGN_IDENTITY = iPhone Distribution: orgname
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution: orgname

请注意,这里我必须手动将iphone开发人员写入第二个条目,因为自动选择似乎不起作用

//:configuration = Debug
CODE_SIGN_IDENTITY = iPhone Developer: Joe Bloggs (0A0AA00A00)
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer: Joe Bloggs (0A0AA00A00)

//:configuration = Release
CODE_SIGN_IDENTITY = iPhone Distribution: orgname
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution: orgname

然后更新和配置文件设置

为您添加个人资料ID 0000只是为了保护隐私

//:configuration = Adhoc 
PROVISIONING_PROFILE = 11111111-1111-1111-1111-111111111111
PROVISIONING_PROFILE[sdk=iphoneos*] = 11111111-1111-1111-1111-111111111111

//:configuration = Debug
PROVISIONING_PROFILE = 00000000-0000-0000-0000-000000000000
PROVISIONING_PROFILE[sdk=iphoneos*] = 00000000-0000-0000-0000-000000000000

//:configuration = Release
PROVISIONING_PROFILE = 22222222-2222-2222-2222-222222222222
PROVISIONING_PROFILE[sdk=iphoneos*] = 22222222-2222-2222-2222-222222222222

4

尝试重新启动XCode

在根据所有这些建议设置了Provisioning和Code Signing设置之后,重新启动最终使它可以在Provisioning设置为none且Code Signing设置为iOS Developer(自动)的情况下运行


4

可以通过配置文件来说明。就我而言,我尝试在手机上运行该应用,并且配置文件已设置为临时文件(XC Ad Hoc),因此出现错误。我需要将其更改为由xcode管理的iOS团队资料(以避免在开发中心上进行人工操作)。


3

实际上,这是您的配置文件--Debug错误。


2

hasan83的答案对我有用。临时配置出现此错误,并且该配置文件中也未包含我的设备。我设置为自动设置并构建。Xcode提示解决此问题,因此通过下载和设置开发人员配置文件来解决此问题。


2

就我而言,这是因为所选方案Run action指向另一个Target,其Code Signing Identity设置为iPhone Ditributor


对于一个简单的问题,这是多么可怕的非描述性错误消息。节省了我很多时间,谢谢。
jungledev

1

我没有接受上述答案,因为我需要解决一系列问题:

  1. 未将第三方SDK设置为分发。
  2. 第三方SDK未设置为arm64,我认为这是我徒劳地将编译为arm64的问题修复的原因。
  3. 需要完成清除所有旧证书并从Apple添加新证书。好事。
  4. 现在,我认为Xcode 5在首选项中隐藏了证书和配置文件,这增加了挫败感。
  5. 然后,确保在构建设置的调试和发布设置中选择了正确的配置文件。

一如既往地感谢人民的帮助。


1

因此,在测试了所有这些选项之后,我认为正确的方法是现在您必须创建用于开发的配置概要文件,而不仅仅是分发。转到首选项窗格,并在配置文件下单击“新建”,选择“开发”,然后转到构建设置并将签名设置为自动(这将选择正确的配置),这对我来说是正确的。

我希望苹果在进行类似默认设置的更改时能提供更多信息

干杯,

G。


1

感谢其他答案中的所有帮助,我这样解决了它:

  • 创建了新的空项目
  • 在设备上运行-运行正常
  • 在旧项目中,打开“项目,目标”选项卡。
  • 在“项目”中,将“所有代码签名”属性设置为与新的空项目相同(在我的情况下全部关闭)
  • 在“目标”中,对目标执行相同的操作。

在这一点上,很难确定哪种设置适用于哪种操作模式,因此我只是从一个一切正常的项目开始。


1

只是遇到了同样的问题-应用程序已正确安装,但由于“进程启动失败:无法获得进程任务”而无法从Xcode运行。

原来我的开发证书在夜间过期了。重新生成证书和配置文件可以解决该问题。


1

我发生了这个问题,因为我在Project => Info下删除了一个“ Configuration”。

要解决此问题,请转到“产品” =>“方案” =>“管理方案”。编辑活动方案,并检查“构建配置”是否未为每个进程(运行,测试等)指定任何已删除的配置。


1

就我而言,Xcode无法自动为调试构建配置设置正确的iOS开发者配置文件。我是手动将其设置为iPhone Developer: My Name (XXXXXX)

目标构建设置→代码签名→代码签名身份→调试。


1

就我而言,我无法将配置文件设置为“无”,因为我需要用于推送通知的配置文件。因此,我要做的就是在Apple开发人员上创建另一个配置文件,这是与相同的应用程序ID绑定的iOS开发人员的配置文件(不是iOS发行版)。然后在构建设置标签中为您的应用使用该配置文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.