代码之家  ›  专栏  ›  技术社区  ›  benvolioT

xcode无法在设备上运行app,表示正在调试的程序没有运行

  •  25
  • benvolioT  · 技术社区  · 16 年前

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

    14 回复  |  直到 14 年前
        1
  •  31
  •   benvolioT    16 年前

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

        2
  •  7
  •   leolobato    16 年前

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

        3
  •  4
  •   SomeRandomGuy    16 年前

    要解决这个问题,我只需要重新启动我的设备。

        4
  •  4
  •   VTPete    15 年前

    我也有过好几次这个问题,我想我终于(几个月后)用苹果的逻辑来思考了。

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

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

    这样做的目的是将您的分发配置文件与所有编译配置相关联。但是,分发配置文件不能用于调试!您必须确保不会在调试配置下重写开发人员配置文件。如果这样做,只需返回到项目,在配置下选择“调试”,然后选择要编译的适当的开发人员配置文件。

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

        5
  •  2
  •   Ronan    15 年前

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

        6
  •  1
  •   Tom    16 年前

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

    我将authorities.plist中的“application identifier”更改为配置配置文件中的应用程序ID后,它开始工作。默认值为$(AppIdentifierPrefix)$(cfBundleIdentifier),我将其更改为“h2gc99unhn.au.com.mydomain.myappname”。

    xcode默认值:$(appIdentifierPrefix)$(cfBundleIdentifier)将在正确解析这些变量的情况下工作。cfbundleIdentifier引用info.plist中的“bundle标识符”。 我从来没有找到在哪里设置AppIdentifierPrefix,它应该类似于h2gc99unhn。

    要在Xcode中查找应用程序ID,请转到“窗口”菜单,然后转到“管理器”。单击正确的即席配置文件,应用程序标识符是属性之一。

    PS:为了在我的设备上获得应用程序进行测试,我在Xcode中使用了“构建并运行”(我不知道更好)。但是运行部分会失败,因为我已经删除了beta配置中的调试符号。只需让运行部分失败,然后手动重新打开应用程序。

    如果已签名的应用程序链接到配置文件,并且是通过应用程序ID颁发的证书,则此错误是有意义的。

        7
  •  1
  •   foo    15 年前

    对于那些在尝试了以上所有方法之后仍然得到这个错误的人,下面的解决方案只是在我得到错误之后为我修正了它。

    我做越狱开发,所以为了绕过强制代码签名,我在/developer/platform s/iphoneos.platform下修改了xcode的info.plist。

    要修复错误,只需恢复这些修改:将该info.plist文件中xciphoneoscodesigncontext的所有实例替换为xciphoneoscodesigncontext。

        8
  •  1
  •   Pham Hong Nghiep    15 年前

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

        9
  •  1
  •   Binks    14 年前

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

    从设备中删除和重新添加开发人员配置文件,从苹果重新加载配置文件,重新启动设备(以各种组合方式)并不能解决这个问题。

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

    • 转到Xcode中的项目设置(双击项目名称)
    • 搜索“标识”以查找设置“代码签名标识”/“任何iOS”
    • 在“我的主页配置文件”部分下勾选“iPhone开发者:我的名字(mydevid)”(对于应用程序标识符“*”)
    • 做 不 在“自动配置文件选择器”下勾选“iPhone开发者”,即使它“当前匹配”相同的开发者ID和配置文件。

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

        10
  •  0
  •   Rafael Vega    16 年前

    在我的设备上安装了一个特殊的分布式应用程序之后,我就遇到了这种情况。我必须恢复设备才能使调试器再次工作。

        11
  •  0
  •   Community Mohan Dere    9 年前

    我也有同样的问题,上面的任何一个都没有工作(甚至是擦拭/恢复设备)。

    然后我看了看,发现我弄错了。 全部的 我的目标是使用临时分发配置文件。不支持调试。

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

        12
  •  0
  •   SheshPai    15 年前

    我只需要关闭iPhone设备的电源,然后重新启动。

    我按以下顺序尝试:

    1. 在Xcode中删除应用程序。
    2. 删除finder中的build文件夹。
    3. 重新启动设备。

    只有3个。为我工作。

    IMP:我的提供资料有效期将近一年,而且没有理由过期(我甚至交叉检查了一下,以确定是否过期)。 如果这不起作用,我会检查——正如有人正确建议的那样,如果正在使用开发人员配置文件——在我的情况下就是这样。

        13
  •  0
  •   IgorD    15 年前

    啊,最新版本:我的项目中包含了核心情节框架。我的旧开发概要文件过期了,我下载了新的概要文件,用最新的概要文件更改了项目,但我还是有这个错误。

    所以,我需要打开核心绘图框架项目本身,将那里的代码签名更改为最新的概要文件,构建它,返回到我的原始项目,重建它,然后一切都重新开始正常工作。

        14
  •  0
  •   Banjer    14 年前

    我最后删除了我的目标来解决这个反常的头痛。若要添加新目标,请右键单击“目标”>“新目标”>“应用程序”。