这是一个现有的应用程序,编译和分发多次。自从更新到Xcode 5,我有这个错误弹出。

我在代码签名中选择了我的开发人员配置文件用于调试。 删除派生数据几次。 戒烟几次 下载并尝试重新添加我的开发者证书。 重置我的电脑!检查更新 尝试使用黑魔法! 方案>生成配置被设置为调试

奇怪的情况是,我正在编译到iOS 6.1,这样我就可以在我的iPhone 3GS上运行——基础是SDK iOS 7?这是一个问题吗?我只需要在更换到iOS 7之前先测试一下。


当前回答

更新:

Xcode 5.1似乎修复了下拉菜单,现在当两个配置文件有相同的名字时,它会显示一个“(blah blah)”。这可以让您选择正确的。哪个更好:)


被这个咬了几次。Xcode5显示“配置文件”作为一个单一的字段,这总是不正确的,苹果不应该这样编码他们的GUI(初学者错误从苹果那里)。

在Xcode5(没有以前的版本)中,有两个“Provisioning Profile”值。在设置“代码签名标识”之前必须设置此选项。显然,因为它必须先设置……苹果将其置于列表的第二位,比必须设置为“前面”的内容低3条。

(给糟糕的GUI设计加分…)

它也有问题:如果您有两个相同名称的Provisioning Profiles, Xcode5将只允许您选择其中一个。为了解决这个问题,你必须使用iPhone配置实用程序来找到你想要的配置文件,找到30位的“配置文件标识符”,并将其复制/粘贴到配置文件下拉菜单的“其他”值中。

你的配置文件必须有一个“调试”值和一个不同的“发布”值(除非你手工创建了一个自定义的大型配置文件,苹果将两者分开)。

调试配置文件通常会有上面描述的同名错误——大多数人会使用苹果自动生成的团队配置文件,苹果错误地总是为所有目标和所有项目命名相同。(Xcode5中的另一个bug)。

设置了这两个值之后,“代码签名标识”字段将最终开始正确工作。事实上,它工作得很好:在大多数先前版本的Xcode中,这个字段被破坏了,“自动”选择很少工作。在Xcode5中,它只能使用你预先选择的配置文件中找到的代码签名值——所以它似乎100%正确。

(例如,你可以安全地将其设置为“自动”。在之前版本的Xcode中,Xcode通常会“自动”使用一个发布配置文件作为开发版本,反之亦然,这导致了很多问题)

其他回答

在我的案例中,Xcode无法自动为调试构建配置设置正确的iOS开发者配置文件。 我手动设置为iPhone Developer: My Name (XXXXXX):

目标版本设置→代码签名→代码签名标识→调试。

根据我目前的搜索,错误“Failed to get the task for process”在xcode 5可能发生多种原因:

其中之一是,我们正在调试一个应用程序,该应用程序使用分发专用供应配置文件进行签名。 另一个原因是xcode5无法找到正确的开发配置文件,尽管编码签名标识中有开发人员签名标识。

对我来说,第二种情况似乎也适用于这个问题。

我能够通过更改调试供应配置文件下拉到正确的开发供应配置文件,然后尝试将应用程序加载到实际设备来解决这个问题。Xcode会给出以下错误:

点击“Fix issue”继续,xcode 5会修复这个问题。问题修复后,调试配置文件再次重置为“None”,但不确定xcode为什么会这样做。

它可能由配置配置文件来执行。对于我的情况,我试图在我的手机上运行应用程序,而供应配置文件被设置为adhoc配置文件(XC Ad Hoc),因此出现了错误。我需要将其更改为由xcode管理的iOS团队配置文件(以避免在开发中心进行手动工作)。

当你的设备通过电缆连接到你的计算机,并且你构建+运行你的应用程序时,你的设备将尝试调试。调试只允许用于开发概要文件。

If you build + run with a Development Profile + Development Signing Code, everything will be OK If you build + run with an AppStore Distribution profile + Distribution Signing Code, the app will not even reach your device. This build is only for uploading to AppStore If you build + run with an AdHoc Distribution profile + Distribution Signing Code, you'll get the "failed to get the task for process..." error, but the app will get installed in your device. Unplug the device and run the app from your device. It's running in distribution environment. Enjoy :)

我最终通过记住在项目和目标选项卡中设置代码签名和供应参数来解决这个问题…