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