【问题标题】:Is it possible to install iOS 7 SDK on Xcode 6?是否可以在 Xcode 6 上安装 iOS 7 SDK?
【发布时间】:2014-07-25 13:37:54
【问题描述】:

我安装了 Xcode 6,但意识到我只能为 iOS8 开发。我知道这个 beta 开发工具包是为开发 iOS 8 beta 版本而设计的,但我现在还没有时间开发它,但希望利用 Xcode 的一些新功能,同时我正在为我当前的 iOS 7 应用程序进行开发。

如何在 xcode 6 上安装 iOS 7 SDK?

【问题讨论】:

    标签: xcode ios7 xcode6


    【解决方案1】:

    我很好地更改了部署目标并安装在我的 iOS7 iPhone 4s 上。您可以通过这种方式进行所有开发,然后使用 5.1.1 进行相关构建。即使可以,我也不建议在这个 beta 环境中构建用于生产的应用程序。

    【讨论】:

    • 我只是将我的开发目标更改为 iOS 7.0 并且它有效。 +1
    • 部署目标不会更改构建项目所使用的 SDK 版本。确定构建 SDK 的是“基础 SDK”设置。对于 Xcode 6,默认情况下只有 iOS 8 可用。
    • 我知道,我的回答更多是针对“我安装了 Xcode 6 但意识到我只能为 iOS8 开发”的内容。而不是标题,这是他真正的问题。即使可以,也没有充分的理由使用旧版 SDK 进行构建。
    【解决方案2】:

    似乎如果您将之前安装的 Xcode 中的相关 SDK 符号链接到 Xcode 6 Beta 目录,Xcode 6 将能够使用它。假设您的机器上仍有 Xcode 5.1.1,请在终端中尝试以下操作:

    ln -s /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk
    

    这应该链接 iOS 7 SDK for iPhone(不是 sim),允许您在 Xcode 6 Beta 中选择 iOS 7 作为 Base SDK。如果您想对模拟器执行此操作,请将iPhoneOS.platform 替换为iPhoneSimulator.platform

    注意:您现在拥有 iOS 7 SDK 并不意味着它会构建。我个人对 Xcode 6 Beta 使用 Apple LLVM 6.0 编译器这一事实感到困惑,这显然与我正在尝试构建的某些东西不兼容。

    参考:https://stackoverflow.com/a/11424966/2383003

    【讨论】:

    • 是否可以让 Xcode 6 Beta 使用 Apple LLVM 5.1?
    • 对于那些还没有完全理解它的人来说,同样值得注意的是:如果您为 iOS7 SDK(即,以及“部署目标”)构建,那么设备运行 iOS8 将使用较旧的框架并(几乎)以与尚未升级的框架相同的方式运行。因此,如果您不需要任何 iOS8 功能,我相信您可以安全地使用旧版 SDK。
    • 奇怪的是,在将符号链接添加到我的 Xcode 文件夹后,我看到我的设备两次,其名称和目标中的一些信息(iOS 内部版本号、型号、设备标识符) Xcode 左上角的选择器。根据我选择的两个条目中的哪一个,无论我选择哪个 BASE SDK,我的应用程序都可以正常工作。 ???有人有同样的经历吗?
    • Apple 正在推动仅使用 iOS 8 SDK:developer.apple.com/news/?id=10202014a
    • 此技术仍然适用于在 Xcode7 中使用 Xcode 8.x SDK。
    【解决方案3】:

    只是重复克里斯蒂安的评论(关于 Ziewvater 的回答),所以它更加突出:

    奇怪的是,在将符号链接添加到我的 Xcode 文件夹后,我在左上角的目标选择器中看到我的设备两次,其中包含确切的名称和一些信息(iOS 内部版本号、型号、设备标识符) Xcode 的一角。根据我选择的两个条目中的哪一个,无论我选择哪个 BASE SDK,我的应用程序都可以正常工作。 ???有人有同样的经历吗?

    这也是我的经验!我和我的团队竭尽全力试图理解为什么有些构建似乎有效,而另一些则没有。

    当您从列表中选择错误的设备时,Apple 似乎必须忽略基本 SDK(或目标...或其他东西)。

    【讨论】:

    • 我看到了同样的事情。其中一个设备“重复”运行是用 iOS7 构建的,但另一个运行就像它是用 iOS8 构建的一样(我的模拟器也是如此)。
    • 这个问题有什么解决办法吗?
    • @MortenHolmgaard 解决方案是在 XCode 中选择正确的(在我的情况下首先)设备。如果您使用的是 AppCode 之类的第三方工具,它只显示“不正确”的设备,那么您就不走运了。
    【解决方案4】:

    只是发布以便有人可能会发现它有用:我想在运行 iOS 7.1 的 XCode 6.0.1 中调试我的应用程序。以前的 iOS 版本未在设置页面中列出,以选择作为基础 SDK/部署目标。 (我使用的是 OS X 10.10 Yosemite)。我安装了 XCode 6.0.1 和 Xcode 5.0.1 并复制了

    /Application/XCode501.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk

    /Application/XCode601.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

    现在我可以从 XCode 6.0.1 运行 iOS 7 应用程序。

    【讨论】:

    • Joe M +1 我为 macosx10.8 sdk 做的事情和它的魅力一样
    【解决方案5】:

    在 Xcode 6.1.1(窗口 -> 首选项 - 下载)中,您可以安装 iOS 7.1 模拟器。不幸的是,它没有安装 iOS 7.1 SKD。如果您将部署目标设置为 7.1,则所有构建都没有任何问题。放心!!!!由您来检查与 7.1 的兼容性(SDK 仍然是 8.1)。左右,所有运行时问题都应该在模拟器中看到。我使用这种方法在 swift 中为我的 iPhone 4 构建,其中 iOS 7.1.2 是最后一个可用的。 (不要使用仅适用于较新设备的任何类 :-))

    【讨论】:

      猜你喜欢
      • 2013-08-27
      • 2014-07-25
      • 2015-01-20
      • 1970-01-01
      • 2012-03-03
      • 1970-01-01
      • 1970-01-01
      • 2019-06-29
      • 1970-01-01
      相关资源
      最近更新 更多