我知道按照以下步骤Is it possible to get the iOS 5.1 SDK for Xcode 4.2 on Snow Leopard?可以在ios 6.0上工作,但是现在看来这是不可能的。有谁知道解决方法,还是我应该升级?
最佳答案
仍然可能。事实上,您可以使用SDK 6.1在Snow Leopard上使用XCode 4.2进行所有开发并将应用程序提交到Appstore。但是,您无法运行模拟器6.1(因此请使用真实设备)。
方法如下(几步缩写):
设备支持:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/6.1(10B141)
SDK:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk
使用tar归档每个目录可能是最方便的,如下所示:
tar cvf /tmp/archive.tar <<目录名>>
注意:“设备支持”目录的特定版本可能有所不同(即“6.1.2(10B146)”或更高版本),请在以下所有说明中使用与您的ios设备匹配的版本。
设备支持:/Developer/Platforms/iPhoneOS.platform/DeviceSupport/
SDK:/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
如果使用tar,请转到每个目录并提取其各自的tar存档,如下所示:
tar xvf /tmp/archive.tar。使用tar的优点是可以保留时间戳,符号墨迹链接等(如果有)。
复制后,删除设备支持目录中的“最新”链接,然后重新链接至“6.1(10B141)”,如下所示:ln -s“6.1(10B141)”最新
==============================================
此时,您可以重新启动XCode 4.2,并且应该能够:
==============================================
但是,如果您尝试支持4英寸iPhone 5屏幕(通过添加Default-568h@2x.png启动图像),您仍然不能完全将以这种方式构建的应用程序提交到Appstore。XCode 4.2将SDK 5.0嵌入到某些应用程序中。应用档案库中的元数据的一部分,因此看起来该应用程序是根据5.0 sdk构建的。Appstore主动拒绝包含4“屏幕支持且不基于6.0或更高版本SDK的二进制文件。
因此,您必须借助一些手动工作来告诉Appstore已经存在的事实:)
方法如下:
plutil-转换xml1 Info.plist
DTPlatformVersion:6.1
DTP平台版本:10B141
DTSDK内部版本:10B141
DTSDK名称:iphoneos6.1
如果您喜欢冒险,请替换XCode版本并建立值。我没有。
为此,您首先需要在签名期间要使用的嵌入式权利文件的副本。
codesign -d --entitlements /tmp/entitlements.xml“yourapp”
在文本编辑器中打开文件/tmp/entitlements.txt,并清除<?xml版本标签之前的所有奇怪内容,保存。
首先删除当前签名文件,以防万一:
rm -rf _CodeSignature
然后运行:
codesign -f -s“iPhone发行版:您的公司” --entitlements /tmp/entitlements.xml yourapp
就是这个。现在,您的应用程序是针对6.1 SDK构建的,并显示如下。您应该能够从Organizer进行验证并将其提交到appstore。
===========================
免责声明:我以这种方式提交的应用仍在“等待审核”。因此,将在此处发布是否被接受/拒绝。
注意:那为什么要跳过这些箍呢?好吧,原因如下:
关于iphone - 是否可以在Snow Leopard上获得Xcode 4.2的iOS 6.1 SDK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14993504/