如何更新iPhone SDK而无需重新下载Xcode?

时间:2010-03-30 08:03:03

标签: xcode iphone-sdk-3.0

愚蠢的问题 - 当Apple发布更新时,有没有办法在没有Xcode的情况下下载iPhone SDK?

6 个答案:

答案 0 :(得分:32)

据我所知,你不能单独下载SDK - 即使你可以,我也不推荐它。在我看来,使用捆绑的SDK + Xcode版本是最好的想法,因为它将为您提供开箱即用的功能。我知道为SDK下载如此大量的数据很烦人(不是我们所有人都有100mbps管道可以玩!)但是为了便于开发,这是我建议你去的方式。

答案 1 :(得分:11)

对于已安装Xcode但没有iOS SDK的用户,可以通过以下方式下载Xcode而无需重新下载Xcode: 得到了

  

Xcode>偏好>下载

并选择您要安装的任何内容。

答案 2 :(得分:7)

是的,与其他人所说的相反,这有点可能。

方法一

使用此方法,您可以下载任何iOS或OSX SDK并将其安装到XCode。 从developer.apple.com/downloads

下载与XCode捆绑在一起的所需SDK

Downloading XCode with SDK

完成包后,下载安装磁盘映像。在图像中的XCode应用程序上,然后单击“显示包内容”。导航至:

  

/内容/开发商/平台/

iOS SDK位于:

  

iPhoneOS.platform /开发商/软件开发工具包/   iOS SDKs

OSX SDK位于:

  

MacOSX.platform /开发商/软件开发工具包/

和iOS模拟器SDK位于:

  

iPhoneSimulator.platform /开发商/软件开发工具包/

要安装其中一个SDK,只需找到XCode.app并将SDK放在XCode.app包的相应文件夹中。

方法二

使用此方法,您只能下载iOS模拟器和iOS模拟器SDK。

打开XCode并在菜单栏中单击XCode>喜好。在首选项对话框中,选择下载选项卡,然后选择要下载的模拟器。

Imgur

答案 3 :(得分:6)

不幸的是,没有。 Apple仅将SDK作为捆绑包提供。

答案 4 :(得分:2)

他们经常在捆绑的xcode版本中包含修复和更新。我想这是他们“强迫”人们使用xcode最新版本的好方法。

答案 5 :(得分:1)

我认为,所提出问题的答案是不可能的。但是,存在一个高度相关的问题(答案更有趣),即如何在特定版本的Xcode中使用不同/非居民的iOS SDK?这确实需要下载一些 other Xcode(以获得对某些 other iOS SDK的访问权限)。

自从我享受了熟悉的IDE(即Xcode)版本的稳定性(或者至少是已知错误行为的可预测性)以来,这个问题一直引起我的兴趣。我上次研究此问题的解决方案是在三年前,它比在此之前的五年左右的解决方案中涉及的解决方案略多。这是我2017年的笔记:

SDK

  • 开发环境将其视为目标设备的方法,例如编译,IDE行为(例如显示界面定义/标题和代码完成)。
  • “基本SDK”(在项目中目标的“构建设置”中,可能包含在工作空间中)设置默认为“最新iOS”,它根据以下内容解析为特定的iOS版本Xcode应用程序包目录
    • <app-package>/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
    • 仅使用一个SDK即可发布Xcode应用程序的一个版本(通过Mac App Store或来自developer.apple.com的磁盘映像)。上面的路径将包含一个名为iPhoneOS.sdk的目录和一个针对该目录的别名(符号链接),该别名根据SDK版本(iPhoneOS10.0.sdk-> iPhoneOS.sdk)命名
  • 没有应用程序提供的手段(即其他UI提供能力的偏好)来更改此特征。
    • 虽然目录名(SDK)的复数形式似乎是麻烦/嘲笑的选择,但您可以修改此应用程序内包目录的内容,以包含指向其他Xcode版本中包含的SDK的符号链接。
    • li>
    • 这似乎只能向前使用,即在较旧的Xcode中使用较新的SDK(例如,Xcode 7中为iOS 10 SDK)。这个方向一直满足我的历史需求。直到最近,我才尝试向后退(使新的Xcode使用旧的SDK,例如Xcode 7中的iOS 8.4 SDK),我发现最近安装的Xcode(在10.11.6系统上的版本8.0和7.3.1)忽略了符号链接到旧版SDK(即它们不会出现在目标的基本SDK弹出菜单中– Xcode 7.3.1的屏幕快照,忽略了iOS 8.4 SDK符号链接)。
      • 更新(新详细信息):我仔细检查了家用计算机(用于其他多SDK实验的机器),发现较旧的SDK确实出现在Base SDK弹出窗口中。神秘!这是一个10.10.5系统,运行Xcode 7.2.1(iOS 9.2 SDK附带),编辑另一个(非创新的)Xcode项目,iOS 8.2 SDK(来自Xcode 6.2)将显示在弹出窗口中。显然,设置之间存在许多差异,我也不知道哪个变量会导致行为差异。
        • 已解决的神秘问题:最近安装的Xcode(上述版本8.0和7.3.1)在MinimumSDKVersion文件中包含一个…/iPhoneOS.platform/Info.plist键。该密钥似乎已设置为Xcode随附的SDK(即在应用程序包中),因此阻止了Xcode识别较旧的SDK。我首先从xcodebuild命令行工具进入了最低版本机制,该工具正在打印出“ Skipped SDK <sdk-path>; its version (8.4) is below required minimum (10.0) for the iphoneos platform.
        • 编辑MinimumSDKVersion plist键(例如使其变为8.0)可以显示和选择较旧的SDK!
  • Apple严格将SDK版本绑定到Xcode版本这一事实一直困扰着我。通常,我宁愿将SDK添加到现有的Xcode安装中,而不是仅仅为了获得对新版本iOS的支持而更新整个Xcode环境。诚然,以锁定步骤的方式整合所有内容(应用程序,工具,设备和操作系统支持)似乎应该可以简化Apple的支持问题,并且,也许他们认为,这种联合发展也简化了第三方开发人员的工作(无选择)烦恼,只需更新应用程序即可。