【发布时间】:2015-07-09 19:43:25
【问题描述】:
我在 10.10.3 上运行 Xcode-beta 7。它具有新的 GameplayKit 框架和更新的 SceneKit 框架。我可以在我当前的项目中使用它们(或它们的新功能)吗,或者我必须有 10.11 测试版?
【问题讨论】:
-
你自己试试看吧?
-
@HAS 我做了但失败了。我问了一个问题,想知道这是否可能。
我在 10.10.3 上运行 Xcode-beta 7。它具有新的 GameplayKit 框架和更新的 SceneKit 框架。我可以在我当前的项目中使用它们(或它们的新功能)吗,或者我必须有 10.11 测试版?
【问题讨论】:
您可以使用 Xcode 7β 在 OS X 10.10.3 上编写代码。您甚至可以编译和导出应用程序,因为 Xcode 可以针对包含的 10.11 SDK 构建它。
您可以不,但是,运行您的 Mac 上低于 10.10.3 的应用程序。要运行该应用,您需要更新到 10.11β。
请务必
如果您尝试运行一个链接到一个不可用的 SDK 的应用程序,您的应用程序将在启动之前崩溃,并出现类似于
的错误dyld:库未加载:/System/Library/Frameworks/Metal.framework/Versions/A/Metal
这是因为应用程序配置为告诉 dyld 在系统的 Frameworks 目录中搜索框架,并且该目录不包含您的 OS X 版本上的框架。
对于现有(更新)框架中的未知符号,根据语言有两种选择:
Swift:在 Swift 2.0 中,编译器会自动警告您要使用的 API 不可用,并让您像这样保护该语句:
if #available(OSX 10.11, *) {
let nameComponents = NSPersonNameComponents()
} else {
// Fallback on earlier versions
}
对象:使用this answer。
【讨论】: