Xcode 4说“在目标设备上完成了<my app =”“>” - 没有任何事情发生</my>

时间:2011-03-13 20:48:50

标签: iphone ios xcode xcode4 ipod-touch

该应用既不会安装也不会在我的设备上运行。所有配置文件都是最新的。我已经尝试删除并重新安装它们。

状态栏显示Xcode正在构建我的项目,然后它表示正在运行我的项目,然后它说“已完成运行”。在整个这段时间内,iPod屏幕都保持黑色。在管理器中检测到iPod,我发现其配置没有任何问题。几天前使用Xcode 3,一切都很完美。

它在模拟器上不起作用,但可能需要注意的是,在模拟器中它似乎卡在“附加到”并且模拟器拒绝启动。

25 个答案:

答案 0 :(得分:268)

对于那些阅读Xcode 4.2的人,并试图在早期设备上运行(例如iPhone 3G,2G,iPod 1st gen等),我有另一个解决方案。默认情况下,在Xcode 4.2中创建的新项目在“必需的设备功能”中指定“armv7”。如果想要支持运行armv6的设备(例如iPhone 3G),则需要删除它。

enter image description here

从您的ProjectName-Info.plist

中的'Required device capabilities'中删除armv7

您可能还需要更改构建设置以使用armv6而不是armv7进行编译。

这是默认值:

enter image description here

双击'标准(armv7)'添加另一个,然后点击弹出窗口中的'+',然后输入'armv6':

enter image description here

点击完成,它应如下所示:

enter image description here

答案 1 :(得分:43)

我刚遇到这个问题,但对我来说这是因为我只在我的架构中指定了armv7,但3G是armv6。确保你有两个。

答案 2 :(得分:21)

我遇到了这个问题,结果证明XCode默认部署目标为4.3,而我的手机是4.2.1。将部署目标更改为4.0似乎可以解决它。

答案 3 :(得分:12)

将“armv6”添加到Project和Targets的体系结构后,请确保info.plist的“Required device capabilities”部分中没有“armv7”。如果是这样,只需删除它就可以了!

答案 4 :(得分:11)

此处的相同问题是应用未在设备上运行。从设备中删除应用程序并没有帮助。项目 - &gt;清洁然后项目 - &gt;再跑一次也没有帮助。原来只是退出并重新启动Xcode 4解决了它。

答案 5 :(得分:9)

我也有这个。我在info.plist中添加了一个UIRequiredDeviceCapabilities部分,需要gamekit,并且应用程序不会被复制到运行iOS 4.2的iPhone 3G上。删除了所需的功能,一切都很好。

答案 6 :(得分:6)

我的案例:我错误地设置了: 所需的设备功能 - &gt;加速度计为NO(在Info.plist中)。 只需将其重新设置为YES

即可

另外:确保所需设备功能的类型正确:即布尔值或字符串。错误的类型总是会使测试失败,并且应用程序无法加载。

答案 7 :(得分:6)

尝试删除设备上的应用程序(就像通常的应用程序卸载一样)并再次从Xcode运行它。 除了模拟器不工作外,还帮我解决了同样的问题。

答案 8 :(得分:4)

对于那些仍在挣扎的人,我必须做的另一件事是让我的目标产品的名称与Debug和Release配置相同。它一直在“运行”我没有构建的Debug版本。

答案 9 :(得分:4)

添加armv6架构为我解决了这个问题。

答案 10 :(得分:2)

有时也会发生在我身上。干净(产品菜单 - >清洁)和运行(项目菜单 - >运行)始终修复它。

答案 11 :(得分:2)

我遇到了同样的问题:将项目从xcode3迁移到xcode4,在构建应用程序后,xcode不想在我的手机上安装和启动应用程序。

我的解决方案(对我有用)是:

  • 编辑您的计划(打算运行)
  • 在左侧列表中,选择“运行xyz.app”
  • 在信息标签下,在可执行文件中,我选择了“.app”。通过浏览到您的构建目录并选择您的应用程序来更改此内容。

为我工作,从现在开始,我可以使用: '产品 - &gt;执行操作 - &gt;运行没有构建',用于运行最新版本。这比单击Run更快,因为不会采取任何构建操作。

答案 12 :(得分:1)

只需重启设备即可。做一个干净的项目。从设备中删除应用程序并重建。

答案 13 :(得分:0)

我现在有大约45分钟的同样问题。清洁没有帮助,重新创建项目没有帮助,手臂版本没有帮助。我有一些“无法同步到iTunes”的消息打开,我以前没有看到过。单击确定就可以解决问题:(

答案 14 :(得分:0)

XCode构建,运行和完成但是应用程序无法部署,甚至没有复制到设备。

事实上,XCode项目中应该有一些东西被破坏了。最好的举措是从头开始构建一个新项目。不要忘记添加上一篇文章中所述的armv6支持。

对我来说效果很好!

答案 15 :(得分:0)

确保部署目标版本为&lt; =设备上的iOS版本。这就是我解决这个问题的方法。

答案 16 :(得分:0)

这是我尝试在设备上运行watchOS应用程序时发生的,因为我的Apple Watch的watchOS版本高于我当前安装的Xcode支持的版本。 我已升级到最新的Xcode (这也需要我升级到最新的macOS),在此之后运行良好

答案 17 :(得分:0)

我使用了Info.plist的备用名称,但没有在我的目标上正确设置Info.plist File构建设置。我通过查看Application Bundle并发现它不包含Info.plist来发现这一点。

答案 18 :(得分:0)

我的Info.plist将目标成员资格设置为我的构建目标。从目标成员中删除它解决了这个问题。

答案 19 :(得分:0)

一个名为“应用程序需要iPhone环境”的字段已经让我以某种方式进入我的plist。我删除了它,瞧!它在我的iPod上运行。

答案 20 :(得分:0)

我的解决方案是将UIInterfaceOrientationPortrait添加到Info.plist中的UISupportedInterfaceOrientations数组,即使我的应用不支持纵向。

答案 21 :(得分:0)

我通过在Info.plist中将“加速度计”从“NO”改为“YES”来解决这个问题。

Apple的Information Property List Key Reference表示如果“您的应用程序仅检测到设备方向更改”,则可以完全删除“加速度计”设置。

答案 22 :(得分:0)

在转移到最新的Xcode版本时,我经历了两次与两个不同的应用程序。第一次,使用GCC LLVM编译器编译应用程序是有效的。第二次,有效的是将armv6架构作为受支持的架构添加回来,因为当Xcode自动更新项目时它已被删除。

答案 23 :(得分:0)

我在使用Cocos2D的游戏项目中遇到了同样的问题。模板中的“Hello world”工作正常,我的项目在模拟器中工作正常,但在设备上运行失败并显示消息:“已完成运行”。

我已经用模板中的初始替换了项目中的Info.plist,这对我有用!

答案 24 :(得分:0)

项目和目标的构建设置不同。 我只是在两个部分中按下构建产品路径和中间构建文件路径上的suppr,它解决了我的问题。