2

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

“Hee's iPhone”上的 iOS 版本不匹配任何支持使用此 iOS SDK 安装进行开发的 iOS 版本。请将设备恢复到以下列出的操作系统版本,或更新到最新版本的 iOS SDK;可在此处获得。

我知道如果我更新 Xcode 或降级 iPhone,它会得到解决。但是,如果有的话,我想知道其他选择。我真的很想知道为什么有些设备很好,而有些则不然。

4

1 回答 1

1

您可以在其中放置 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 符号链接/别名到 /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 安装到单独的位置后,您可以通过以下方式将 Symbols/SDKs 目录从非主 Xcode 安装符号链接到主安装路径:

/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 目录进行符号链接后,打开 Xcode,你应该能够看到你的设备并使用它来测试构建等。


编辑2(命令解释):

llalias我为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(符号链接)是创建快捷方式/别名的命令。(非常基本的)语法是:

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

这是ln手册页

这是ls手册页

于 2011-09-21T22:01:45.757 回答