ChatGPT解决这个技术问题 Extra ChatGPT

Xcode 4 在目标设备上显示“已完成运行 <我的应用>”——什么也没有发生

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

状态栏显示 Xcode 正在构建我的项目,然后显示正在运行我的项目,然后显示“已完成运行”。在整个期间,iPod 屏幕保持黑色。在 Organizer 中检测到 iPod,我看不出它的配置有什么问题。就在几天前,Xcode 3 一切正常。

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

如果您使用其中一个 xcode 模板创建一个全新的项目并尝试在模拟器或设备中运行它,它会工作吗?我正在尝试确定 xcode 的安装/配置是否损坏,或者您询问的应用程序中的某些内容是否影响了行为。
创建了一个新的项目模板,它工作。所以现在我们知道我的项目中一定有一些错误配置。
D-Nice,你有没有解决过这个问题?我的游戏也遇到了同样的问题,我无法终生解决。

M
MattyG

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

https://i.stack.imgur.com/AOGLP.png

从 yourProjectName-Info.plist 中的“所需设备功能”中删除 armv7

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

这是默认设置:

https://i.stack.imgur.com/kCvA4.png

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

https://i.stack.imgur.com/TjZJT.png

单击完成,它应该如下所示:

https://i.stack.imgur.com/Hi7qP.png


Bingo:为了在我的旧 iPhone 3G 上正常运行,我必须执行上述两个步骤。谢谢马蒂格!
太感谢了!如果可以的话,我会给你 10 票。我正在浏览此页面上的所有场景,但一点运气都没有。当我升级到 XCode 4.3 时,这个值一定已经改变了。
感谢您努力详细解释该程序。
我也谢谢你!许多人建议添加“armv6”,但删除 armv7 是诀窍!
“从 yourProjectName-Info.plist 中的‘所需设备功能’中删除 armv7”-> 谢谢
a
axiixc

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


这是我的主要原因。太容易忘记了。谢谢。
要添加“armv6”选项,请参见:stackoverflow.com/questions/7488657/…
我的旧 iPod Touch 也必须是 armv6,因为这个修复也适用于它。
是的,我很确定最初的 iPhone、3G 和前两个 iPod touch 都是 armv6。
J
Jeremy Flores

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


正是我想要的。
当我的设备仅达到 5.0.1 时,我在将部署目标设置为 5.1 时遇到了这个问题 - 欢呼队友 +1
J
Johann

将“armv6”添加到项目和目标的架构后,请确保在 info.plist 的“所需设备功能”部分中没有“armv7”。如果是这样,只需将其删除,它应该可以工作!


是的,这就是我的案子的原因。不知道 armv7 的“所需设备功能”是如何进入 plist 的。谢谢!
S
SPitBalls.com

应用程序未在设备上运行时出现同样的问题。从设备中删除应用程序没有帮助。 Project -> Clean then Project -> Run again 也无济于事。原来只是退出并重新启动 Xcode 4 解决了它。


G
Graham Perks

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


那么,您应该如何在设备本身上测试需要 gamekit 的应用程序呢?
您仍然可以在没有 info.plist 的情况下获得 GameCenter,说明您需要拥有它的设备。任何运行 4.2 的设备都有 GameCenter,因此不需要额外的 info.plist “我需要它!”
T
Tomek Kopczuk

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


设备上不再有该应用程序的踪迹。我不再认为这是一个配置问题......我的项目中有一些东西被破坏了,但我不知道它可能是什么。
C
Community

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

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


L
Luke

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


r
red_car

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


这就是给我的;新版本的 Xcode 决定从“架构”构建设置中删除 armv6,因此您需要手动将其添加回来
T
TheBlack

有时也会发生在我身上。执行清理(产品菜单 -> 清理)并运行(项目菜单 -> 运行)总是可以修复它。


谢谢!这种情况经常发生。每次我尝试新的东西!这是 Xcode 中的错误吗?
b
bxantus

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

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

编辑您的方案(这意味着要运行)

在左侧列表中,选择“运行 xyz.app”

在信息选项卡下,在 Executable 我选择了“.app”。通过浏览到您的构建目录并选择您的应用程序来更改此设置。

为我工作,从现在开始我可以使用:'Product -> Perform Action -> Run without building'来运行最新的构建。这比简单地按运行要快,因为不会执行任何构建操作。


我的没有构建目录?诡异的。
A
Alex Terente

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


G
GeorgioA

项目和目标的构建设置不同。我只是在两个部分的 Build Products Path 和 Intermediate Build Files Path 上按 suppr ,它解决了我的问题。


r
rudyryk

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

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


H
Halle

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


c
codeperson

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

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


你的应用支持加速度计吗?
M
Morrowless

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


N
Namratha

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


R
RohinNZ

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


B
Ben Flynn

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


d
d4n13l

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


J
John Fawcett

我现在遇到同样的问题大约 45 分钟。清理没有帮助,重新创建项目没有帮助,arm 版本没有帮助。我打开了一些以前没有看到的“无法同步到 iTunes”消息。在那些上单击确定似乎已经解决了问题:(


C
Claude COULOMBE

XCode 构建、运行并完成,但应用程序未能部署,甚至没有复制到设备。

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

这对我来说很有效!


n
nickjwallin

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