我有一个现有的iOS应用程序,它支持iOS 8.我想为iOS 9添加新功能.
我为iOS 9创建了一个新的故事板,它使用了UIStackView等iOS 9功能.基于Device OS版本实例化适当的故事板文件.
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let storyboard: UIStoryboard
if #available(iOS 9, *, *) {
storyboard = UIStoryboard(name: "Main", bundle: nil)
} else {
storyboard = UIStoryboard(name: "MainOld", bundle: nil)
}
let mainViewController = storyboard.instantiateInitialViewController()
window?.rootViewController = mainViewController
window?.makeKeyAndVisible()
return true
}
Run Code Online (Sandbox Code Playgroud)
但我在Main.storyboard"iOS 9.0之前的UIStackView"上遇到编译错误
我正在使用Xcode 7 beta 5.
如何使用Swift 2 #availability检查在iOS 8支持的项目中使用iOS 9相关功能
我在 Apple Cocoa 开发者电子邮件列表中收到了 Quincey Morris 的回复。
默认情况下, 故事板文件的文件检查器中设置的构建是“部署目标”,即 iOS 8,因此编译器会抛出错误。
如果我在使用 iOS 9 功能的故事板上将“Build for”设置更改为 iOS 9。没有错误,应用程序在 iOS 8 和 iOS 9 中运行。
| 归档时间: |
|
| 查看次数: |
421 次 |
| 最近记录: |