XCode无法在设备上运行app,说正在调试的程序没有运行

时间:2009-11-13 04:42:17

标签: iphone xcode

我正在运行Xcode,试图让我的应用程序在我的iphone上运行。我收到错误消息“正在调试的程序没有运行。”

14 个答案:

答案 0 :(得分:31)

解决方案是在我的手机连接到我的计算机时使用Xcode的管理器窗口从我的手机中删除我的开发者配置文件,然后重新添加我从developer.apple.com重新下载的开发人员配置文件。

答案 1 :(得分:7)

当我从设备中删除另一个不相关的过期配置文件时,它才对我有用。非常奇怪。

答案 2 :(得分:4)

解决此问题我需要做的就是重新启动设备。

答案 3 :(得分:4)

我也曾经多次遇到过这个问题,我想我最后(几个月后)就围绕着Apple的逻辑。

开发时,必须使用新的配置文件是很常见的;通常是因为你添加了一个新的测试人员,或者旧的测试人员到期因此,您尽职地将新用户的UDID添加到您的配置文件中,下载它然后将其拖到xcode中。

然后,单击项目(或目标)的设置并告诉它使用新的分发配置文件。您可能像我一样使用“配置”下拉菜单下的“所有配置”。糟糕。

这样做是为了将您的DISTRIBUTION配置文件与所有编译配置相关联。但是,分发配置文件不适用于调试!您必须确保在调试配置下不覆盖DEVELOPER配置文件。如果这样做,只需返回项目,在配置下选择“Debug”,然后选择要编译的相应DEVELOPER配置文件。

希望有帮助,伙计们。 -VTPete

答案 4 :(得分:2)

为了解决这个问题,我删除了我使用xcode部署到应用程序的最后一个应用程序,然后再次构建我当前的应用程序,它运行正常。

答案 5 :(得分:1)

其他建议对我也不起作用。

在我将Entitlements.plist中的“application-identifier”更改为Provisioning Profile中找到的App Id之后,它开始工作了。默认值为$(AppIdentifierPrefix)$(CFBundleIdentifier),我将其更改为“H2GC99UNHN.au.com.mydomain.myappname”。

Xcode默认值:$(AppIdentifierPrefix)$(CFBundleIdentifier)如果这些变量正确解析将会起作用。 CFBundleIdentifier引用Info.plist中的“Bundle identifier”。 我从来没有发现在哪里设置AppIdentifierPrefix应该像H2GC99UNHN。

要在Xcode中找到您的App ID,请转到“窗口”菜单,然后选择“管理器”。单击正确的Ad Hoc配置文件,应用程序标识符是其中一个属性。

PS:为了让我的设备上的应用程序进行测试,我在Xcode中使用“Build and Run”(我不知道更好)。但是运行部分将失败,因为我在Beta配置中删除了调试符号。只需让运行部件失败,然后手动重新打开应用程序。

如果签名的应用程序通过应用程序ID链接到配置文件及其证书,则此错误有意义。

答案 6 :(得分:1)

对于那些在完成上述所有操作后仍然出现此错误的人,以下解决方案在我收到错误后为我修复了这个错误。

我做了越狱开发,所以为了绕过强制性代码签名,我在/Developer/Platforms/iPhoneOS.platform下修改了XCode的Info.plist。

要修复错误,只需还原这些修改:将该XCCodeSignContext的所有实例替换为该Info.plist文件中的XCiPhoneOSCodeSignContext。

答案 7 :(得分:1)

您应该检查您使用的证书,记得在您的设备上使用开发人员配置进行调试,并确保完成所有配置。

答案 8 :(得分:1)

我有两个开发人员身份(工作和家庭)并使用相同的设备进行开发。我还在家中使用通配符应用程序标识符(xxxxxxxxxx。*),我经常使用相同的配置文件构建不同的应用程序。有时当我切换位置时(例如从工作到家)我得到上述错误。

从设备中删除并重新添加开发者配置文件,从Apple重新加载配置文件并重新启动设备(以各种组合)并没有为我解决问题。

在设备上再次启用运行和调试的是:

  • 转到Xcode中的项目设置(双击项目名称)
  • 搜索“identity”以查找设置“Code Signing Identity”/“Any iOS”
  • 勾选“iPhone开发人员:我的名字(mydevid)”,在我的家庭档案部分(申请标识符'*')下
  • 执行勾选“自动配置文件选择器”下的“iPhone开发人员:”,即使它“当前匹配”相同的开发者ID和配置文件

(我也退出Xcode并做rm -rf build,但可能不需要这样做。)

答案 9 :(得分:0)

在将AdHoc分布式应用程序安装到我的设备后,发生了这种情况。我不得不恢复设备以使调试器再次工作。

答案 10 :(得分:0)

我遇到了同样的麻烦,上述情况都没有(甚至擦拭/恢复设备)。

然后我看了一眼,发现我错误地设置了所有我的目标,以使用adhoc发布配置文件。哪个不支持调试。

另见iPhone Debugging: How to resolve 'failed to get the task for process'?

答案 11 :(得分:0)

我只需要关闭我的iPhone设备并重新启动它。

我按此顺序尝试了:

  1. 在Xcode中删除应用。
  2. 在Finder中删除构建文件夹。
  3. 重启设备。
  4. 只有3.为我工作。

    imp:我的Provisoning配置文件有效期近一年,没有理由让它们过期(我甚至交叉检查它们是双重确定:))。 如果这不起作用,我会检查 - 正如有人正确建议的那样,是否正在使用开发人员配置文件 - 就我而言。

答案 12 :(得分:0)

啊,最新版本:我的项目中包含Core-Plot框架。我的旧开发配置文件已过期,我下载了新配置文件,使用最新配置文件更改了项目,但无论如何我都遇到了此错误。

所以,我需要打开Core-Plot框架项目本身,将代码签名更改为最新的配置文件,构建它,返回原始项目,重建它,然后一切都恢复正常。

答案 13 :(得分:0)

我最终删除了我的目标,以解决这个令人头疼的问题。要添加新的,请右键单击Target>新目标>应用