该应用程序既不会在我的设备上安装也不会运行。所有配置文件都是最新的。我已经尝试删除并重新安装它们。
状态栏显示 Xcode 正在构建我的项目,然后显示正在运行我的项目,然后显示“已完成运行”。在整个期间,iPod 屏幕保持黑色。在 Organizer 中检测到 iPod,我看不出它的配置有什么问题。就在几天前,Xcode 3 一切正常。
它在模拟器上不起作用,但可能需要注意的是,在模拟器中它似乎卡在“附加到”上并且模拟器拒绝启动。
对于那些阅读有关 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
我刚遇到这个问题,但对我来说这是因为我在我的架构中只指定了 armv7,但 3G 是 armv6。确保两者都有。
我遇到了这个问题,事实证明 XCode 将部署目标默认为 4.3,而我的手机是 4.2.1。将部署目标更改为 4.0 似乎可以解决它。
将“armv6”添加到项目和目标的架构后,请确保在 info.plist 的“所需设备功能”部分中没有“armv7”。如果是这样,只需将其删除,它应该可以工作!
应用程序未在设备上运行时出现同样的问题。从设备中删除应用程序没有帮助。 Project -> Clean then Project -> Run again 也无济于事。原来只是退出并重新启动 Xcode 4 解决了它。
我也刚有这个。我在 info.plist 中添加了一个 UIRequiredDeviceCapabilities 部分,需要 gamekit,并且该应用程序不会被复制到运行 iOS 4.2 的 iPhone 3G 上。删除了所需的功能,一切都很好。
尝试删除设备上的应用程序(就像您通常的应用程序卸载一样)并再次从 Xcode 运行它。帮我解决了同样的问题,除了模拟器不工作。
我的案例:我错误地将:所需的设备功能 -> 加速度计设置为 NO(在 Info.plist 中)。只需将其设置回YES
另外:确保所需的设备功能是正确的类型:即布尔型或字符串。错误的类型总是会导致测试失败,并且应用程序无法加载。
对于那些仍在挣扎的人,我必须做的另一件事是使我的目标产品的名称与 Debug 和 Release 配置相同。它一直在“运行”我没有构建的调试版本。
添加 armv6 架构为我解决了这个问题。
有时也会发生在我身上。执行清理(产品菜单 -> 清理)并运行(项目菜单 -> 运行)总是可以修复它。
我有同样的问题:将项目从xcode3迁移到xcode4,构建应用程序后,xcode不想在我的手机上安装和启动应用程序。
我的解决方案(对我有用)是:
编辑您的方案(这意味着要运行)
在左侧列表中,选择“运行 xyz.app”
在信息选项卡下,在 Executable 我选择了“.app”。通过浏览到您的构建目录并选择您的应用程序来更改此设置。
为我工作,从现在开始我可以使用:'Product -> Perform Action -> Run without building'来运行最新的构建。这比简单地按运行要快,因为不会执行任何构建操作。
只需重新启动设备。做一个干净的项目。从设备中删除应用程序并重建。
项目和目标的构建设置不同。我只是在两个部分的 Build Products Path 和 Intermediate Build Files Path 上按 suppr ,它解决了我的问题。
我在使用 Cocos2D 的游戏项目中遇到了同样的问题。模板中的“Hello world”运行良好,我的项目在模拟器中运行良好,但在设备上运行失败并显示消息:“已完成运行”。
我已经用模板中的第一个替换了我的项目中的 Info.plist,这对我有用!
在迁移到最新的 Xcode 版本时,我使用两个不同的应用程序经历了两次这种情况。第一次,起作用的是使用 GCC LLVM 编译器编译应用程序。第二次,起作用的是将 armv6 架构重新添加为受支持的架构,因为当 Xcode 自动更新项目时它已被删除。
我通过在我的 Info.plist 中将“加速度计”从“否”更改为“是”来解决这个问题。
Apple 的 Information Property List Key Reference 表示,如果“您的应用程序仅检测到设备方向变化”,您可以完全删除“加速计”设置。
我的解决方案是将 UIInterfaceOrientationPortrait
添加到 Info.plist 中的 UISupportedInterfaceOrientations
数组中,即使我的应用程序不支持纵向。
一个名为“应用程序需要 iPhone 环境”的字段以某种方式进入了我的 plist。我删除了它,瞧!它在我的 iPod 上运行。
我的 Info.plist 将其目标成员资格设置为我的构建目标。从目标成员中删除它解决了这个问题。
我为 Info.plist 使用了备用名称,但没有在我的目标上正确设置 Info.plist File
构建设置。我通过查看 Application Bundle 并发现它不包含 Info.plist 发现了这一点。
确保部署目标版本 <= 您设备上的 iOS 版本。这就是我解决这个问题的方法。
我现在遇到同样的问题大约 45 分钟。清理没有帮助,重新创建项目没有帮助,arm 版本没有帮助。我打开了一些以前没有看到的“无法同步到 iTunes”消息。在那些上单击确定似乎已经解决了问题:(
XCode 构建、运行并完成,但应用程序未能部署,甚至没有复制到设备。
事实上,XCode 项目中应该有一些东西被破坏了。最好的做法是从头开始构建一个新项目。不要忘记添加 armv6 支持,如上一篇文章中所述。
这对我来说很有效!
这发生在我试图在设备上运行 watchOS 应用程序时,因为我的 Apple Watch 的 watchOS 版本高于我当前安装的 Xcode 支持。我升级到了最新的 Xcode(这也需要我升级到最新的 macOS),之后它运行良好。