微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift 2 API可用性检查故事板

我有一个现有的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
}

但我在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中运行.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐