iphone - 无法使用 iOS 4.3.5 设备在 Xcode 4.1 中构建源代码

标签 iphone ipad sdk ios4 xcode4.1

我一直在 Xcode 4.1 中使用 iOS 4.3.5 的 iPhone 进行开发。没有出现版本不匹配的问题就很好了。今天,我连接了另一部具有相同版本 iOS (4.3.5) 的 iPhone,但我无法在该设备上构建源代码。组织者窗口说,

The version of iOS on “Hee’s iPhone” does not match any of the versions of iOS supported for development with this installation of the iOS SDK. Please restore the device to a version of the OS listed below, or update to the latest version of the iOS SDK; which is available here.

我知道如果我更新 Xcode 或降级 iPhone 就会解决这个问题。但是,我想知道是否还有其他选择。我真的很想知道为什么有些设备很好,而另一些则不然。

最佳答案

您可以将适用于 iPhoneOS/iPhoneSimulator 平台的其他 SDK/符号放入其中:

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/[insert ios version folder here]

/Developer/Platforms/iPhoneOS.platform/DeviceSupport/[insert ios version folder here]

我所做的就是下载旧的 xcode 和新的 beta xcode,将它们安装到/Developer-3.2.3/之类的位置,然后将上面的文件夹从/Developer-3.2.3 符号链接(symbolic link)/别名到/Developer。

这可以让我的 4.1 xcode 在 iOS5.0 手机上进行测试!上面的目录路径可能不准确,因为我是用手机写的,但它们与此接近。当我回到我的计算机时,我将确保这些目录是正确的。

对于模拟器版本,它将是:

/Developer/Platforms/iPhoneSimulator.platform/SDK/...
<小时/>

编辑(回到我的电脑):

这是我的开发者目录的样子:

[ 17:49 root@MacBookPro / ]# ll
drwxrwxr-x+ 44 root      admin      1.5K Sep 20 12:37 Applications
drwxrwxr-x  15 root      admin      510B Sep 20 13:27 Developer
drwxrwxr-x@ 17 root      admin      578B Sep 20 13:12 Developer-3.2.4
drwxr-xr-x@ 10 root      admin      340B Sep 20 13:54 Developer-3.2.5
drwxrwxr-x@ 18 root      admin      612B Sep 20 13:44 Developer-4.2-beta7

[ 17:46 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/Developer/SDKs ]# ll
lrwxr-xr-x  1 root  wheel    75B Sep 20 13:53 iPhoneOS3.2.sdk -> /Developer-3.2.4/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk
drwxr-xr-x  8 root  wheel   272B Sep 20 13:26 iPhoneOS4.3.sdk
lrwxr-xr-x  1 root  wheel    79B Sep 21 12:50 iPhoneOS5.0.sdk -> /Developer-4.2-beta7/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk

[ 17:46 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/Developer ]# cd ../../DeviceSupport/
[ 17:46 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/DeviceSupport ]# ll
drwxrwxr-x  5 root      admin   170B Sep 20 13:26 3.0
drwxrwxr-x  5 root      admin   170B Sep 20 13:26 3.1
drwxrwxr-x  5 root      admin   170B Sep 20 13:26 3.1.2
drwxrwxr-x  5 root      admin   170B Sep 20 13:26 3.1.3
drwxrwxr-x  5 root      admin   170B Sep 20 13:26 3.2
drwxrwxr-x  5 root      admin   170B Sep 20 13:26 3.2.1
drwxrwxr-x  5 root      admin   170B Sep 20 13:26 3.2.2
drwxrwxr-x  5 root      admin   170B Sep 20 13:26 4.0
drwxrwxr-x  5 root      admin   170B Sep 20 13:26 4.0.1
drwxrwxr-x  5 root      admin   170B Sep 20 13:26 4.0.2
drwxrwxr-x  5 root      admin   170B Sep 20 13:26 4.1
drwxrwxr-x  5 root      admin   170B Sep 20 13:26 4.2
drwxrwxr-x  5 root      admin   170B Sep 20 13:26 4.3
lrwxr-xr-x  1 root      admin    77B Sep 21 12:54 5.0 (9A5313e) -> /Developer-4.2-beta7/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A5313e)/
lrwxr-xr-x  1 root      admin    13B Sep 21 12:54 Latest -> 5.0 (9A5313e)
[ 17:46 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/DeviceSupport ]#

为此,您需要安装具有不同 iOS SDK 的不同版本的 Xcode。为了实现上述目的,我只安装了 Xcode 3.2.4、3.2.4、4.1 和 4.2(测试版)。我使用 4.1 作为我的主 /Developer 目录。

将每个 Xcode 安装到单独的位置后,您可以通过以下方式将符号/SDK 目录从非主 Xcode 安装符号链接(symbolic link)到主安装路径:

/Developer/Platforms/iPhoneOS.platform/DeviceSupport
[ 17:54 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/DeviceSupport ]# cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport
[ 17:54 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/DeviceSupport ]# ln -sf "/Developer-4.2-beta7/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A5313e)/" "5.0 (9A5313e)"
[ 17:54 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/DeviceSupport ]# cd ../Developer/SDKs
[ 17:54 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/DeviceSupport ]# ln -sf "/Developer-3.2.4/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk" "iPhoneOS3.2.sdk"
[ 17:54 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/DeviceSupport ]# ln -sf "/Developer-4.2-beta7/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk" "iPhoneOS5.0.sdk"

对主 /Developer/Platforms/iPhoneOS.platform/DeviceSupport/Developer/Platforms/iPhoneOS.platform/Developer/SDKs 中的每个 SDK/Symbol 目录进行符号链接(symbolic link)后目录,打开 Xcode,您应该能够看到您的设备并使用它来测试构建等。

<小时/>

编辑 2(命令解释):

ll 是我为 ls -l 命令创建的别名:

[ 18:07 root@MacBookPro / ]# alias
cd..='cd ..'
cls='clear'
df='/usr/local/bin/df.nawk'
du='du -L'
l='ls -lsG'
ldir='ls -d */'
ll='ls -lhG'
ls='ls -G'
lsdir='ls -d */'
text='open -a TextWrangler'
v='ls -lhG'
vi='vim'
vu='vim'
vv='du . --max-depth=1 -L | sort -n | cut -f2 | xargs -d "\n" du -sh -L'
xcode='open -a xcode'

ln(符号链接(symbolic link))是创建快捷方式/别名的命令。 (非常基本的)语法是:

 [ 18:07 root@MacBookPro / ]# ln -s [TARGET_PATH] [LINK_NAME]

Here is the ln man page

Here is the ls man page

关于iphone - 无法使用 iOS 4.3.5 设备在 Xcode 4.1 中构建源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7497353/

相关文章:

iphone - 滚动指示器可见性

iphone - coreImage iOS 4.3.3 崩溃

iphone - 是否可以删除 iOS 主从 View 上的 'Edit' 和 '+' 按钮?

iphone - iPad 上的 UILabel 文本无法调整大小

css - 如何仅删除 webkit 点击突出显示边框?

android - 无法在具有向后兼容性的 Android App 中导入 ActionBar

iphone - 我应该在我编写的每个文件中导入 UIKit 吗?

java - 使用 Java SDK sellpartner-api-aa-java 连接 SP-API 时遇到问题

iphone - 向下滚动 Tableview 时复选标记重复

iphone - 设备 (iPad) 上 OpenGL 纹理中的视觉伪影 - 但模拟器上没有