使用Xcode 4.2和iOS 5 SDK时是否可以定位较旧的iOS版本? [英] Is it possible to target older iOS versions when using Xcode 4.2 and iOS 5 SDK?

查看:95
本文介绍了使用Xcode 4.2和iOS 5 SDK时是否可以定位较旧的iOS版本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近刚下载了带有iOS 5 SDK包的Xcode 4.2,我立即注意到我无法将我的iPhone 3Gs与iOS 4.2.1一起用于调试。我只能在安装了iOS 5的iphone 4上进行调试和测试。

I just recently downloaded the Xcode 4.2 with iOS 5 SDK package and I immediately noticed that I am unable to use my iPhone 3Gs with iOS 4.2.1 for debugging. I am only able to debug and test on my iphone 4 with iOS 5 installed.

对于任何运行任何低于5.0 Xcode的iOS设备,只需说完成iPhone3GS的运行并且不运行它。我的部署目标设置为3.0,因为我没有使用3.0以上的应用程序中的任何功能,我希望能够定位所有版本3.0或更高版本。我安装了所有配置文件并保持最新。

For any of my devices running any iOS less than 5.0 Xcode just says "Finished running for iPhone3GS" and doesn't run it. I have my deployment target set to 3.0 because I am not using any features in my app above 3.0 and I want to be able to target all versions 3.0 or higher. I have all my provisioning profiles installed and up to date.

我已退出并重新启动xcode,我已多次清理构建。我尝试在archtecture构建设置中添加armv6,但没有任何东西可以让我在ios 4.2.1的旧手机上构建和运行我的应用程序。

I have quit and restarted xcode, I have cleaned the build multiple times. I have tried adding armv6 in the archtecture build settings, but nothing will allow me to build and run my app on my old phone with ios 4.2.1.

我的问题是,是否仍然可以让新SDK的应用程序适用于低于5的iOS版本?如果我无法在旧手机上安装我的应用程序,我怎么能确定我的应用程序仍能在较低的iOS版本上运行?

My question is, is it possible to still make apps with the new SDK work for iOS versions lower than 5? How can I be sure that my app will still run on lower iOS versions if I am unable to install them on my old phone?

编辑:
确定iOS SDK 5默认情况下不支持armv6。您需要做的是在Target和您的Project的Build Settings下的Architectures字段中添加armv6。然后您的应用程序将能够在iPhone 3G设备上运行。
答案可以在这里找到
如何使用iOS 5构建armv6和armv7架构

推荐答案

我有尝试在iPhone 3G 4.2.1上运行新创建的Xcode 4.2项目同样的问题。以下是我如何让它运行。

I was having the same issue trying to get a newly created Xcode 4.2 project running on an iPhone 3G 4.2.1. Here is how I was able to get it to run.

1)将目标的构建设置==>架构从标准(armv7)更改为其他。添加armv6和armv7。

1) Change the Target's "Build Settings" ==> "Architecture" from "Standard (armv7)" to "other". Add armv6 and armv7.

2)将目标的构建设置==>有效架构更改为armv6和armv7。

2) Change the Target's "Build Settings" ==> "Valid Architecture" to armv6 and armv7.

3)将目标的构建设置==>iOS部署目标更改为iOS 4.2。

3) Change the Target's "Build Settings" ==> "iOS Deployment Target" to iOS 4.2.

4)打开项目* -Info.plist,删除设置所需的设备功能(注意它需要armv7)

4) Open the projects *-Info.plist, remove the setting "Required device capabilities" (note it required armv7)

顺便说一句,当我尝试通过组织者手动添加应用程序并且它报告时,我想出了这个:

btw I figured this out when I tried to manually add the app via the organizer and it reported:


可以安装应用程序

Can't install application

/Users/.../TestsDebug.app上的应用程序的Info.plist指定
设备功能要求,但不满足开发者iPhone 3G

The Info.plist for application at /Users/.../TestsDebug.app specifies device capability requirements, which are not met by Dev iPhone 3G

之后一切都应该有效。谈论PITA。

All should work after that. Talk about a PITA.

这篇关于使用Xcode 4.2和iOS 5 SDK时是否可以定位较旧的iOS版本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆