该应用既不会安装也不会在我的设备上运行。所有配置文件都是最新的。我已经尝试删除并重新安装它们。
状态栏显示Xcode正在构建我的项目,然后它表示正在运行我的项目,然后它说“已完成运行”。在整个这段时间内,iPod屏幕都保持黑色。在管理器中检测到iPod,我发现其配置没有任何问题。几天前使用Xcode 3,一切都很完美。
它在模拟器上不起作用,但可能需要注意的是,在模拟器中它似乎卡在“附加到”并且模拟器拒绝启动。
答案 0 :(得分:268)
对于那些阅读Xcode 4.2的人,并试图在早期设备上运行(例如iPhone 3G,2G,iPod 1st gen等),我有另一个解决方案。默认情况下,在Xcode 4.2中创建的新项目在“必需的设备功能”中指定“armv7”。如果想要支持运行armv6的设备(例如iPhone 3G),则需要删除它。
从您的ProjectName-Info.plist
中的'Required device capabilities'中删除armv7您可能还需要更改构建设置以使用armv6而不是armv7进行编译。
这是默认值:
双击'标准(armv7)'添加另一个,然后点击弹出窗口中的'+',然后输入'armv6':
点击完成,它应如下所示:
答案 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)
此处的相同问题是应用未在设备上运行。从设备中删除应用程序并没有帮助。项目 - >清洁然后项目 - >再跑一次也没有帮助。原来只是退出并重新启动Xcode 4解决了它。
答案 5 :(得分:9)
我也有这个。我在info.plist中添加了一个UIRequiredDeviceCapabilities部分,需要gamekit,并且应用程序不会被复制到运行iOS 4.2的iPhone 3G上。删除了所需的功能,一切都很好。
答案 6 :(得分:6)
我的案例:我错误地设置了: 所需的设备功能 - >加速度计为NO(在Info.plist中)。 只需将其重新设置为YES
即可另外:确保所需设备功能的类型正确:即布尔值或字符串。错误的类型总是会使测试失败,并且应用程序无法加载。
答案 7 :(得分:6)
尝试删除设备上的应用程序(就像通常的应用程序卸载一样)并再次从Xcode运行它。 除了模拟器不工作外,还帮我解决了同样的问题。
答案 8 :(得分:4)
对于那些仍在挣扎的人,我必须做的另一件事是让我的目标产品的名称与Debug和Release配置相同。它一直在“运行”我没有构建的Debug版本。
答案 9 :(得分:4)
添加armv6架构为我解决了这个问题。
答案 10 :(得分:2)
有时也会发生在我身上。干净(产品菜单 - >清洁)和运行(项目菜单 - >运行)始终修复它。
答案 11 :(得分:2)
我遇到了同样的问题:将项目从xcode3迁移到xcode4,在构建应用程序后,xcode不想在我的手机上安装和启动应用程序。
我的解决方案(对我有用)是:
为我工作,从现在开始,我可以使用: '产品 - >执行操作 - >运行没有构建',用于运行最新版本。这比单击Run更快,因为不会采取任何构建操作。
答案 12 :(得分:1)
只需重启设备即可。做一个干净的项目。从设备中删除应用程序并重建。
答案 13 :(得分:0)
我现在有大约45分钟的同样问题。清洁没有帮助,重新创建项目没有帮助,手臂版本没有帮助。我有一些“无法同步到iTunes”的消息打开,我以前没有看到过。单击确定就可以解决问题:(
答案 14 :(得分:0)
XCode构建,运行和完成但是应用程序无法部署,甚至没有复制到设备。
事实上,XCode项目中应该有一些东西被破坏了。最好的举措是从头开始构建一个新项目。不要忘记添加上一篇文章中所述的armv6支持。
对我来说效果很好!
答案 15 :(得分:0)
确保部署目标版本为< =设备上的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,它解决了我的问题。