基于swift的应用程序能在OS X 10.9 (Mavericks)/iOS 7及更低版本上运行吗?

例如,我有一台运行OS X 10.8 (Mountain Lion)的机器,我想知道我用Swift写的应用程序是否能在它上面运行。

或者我应该有什么创建一个Swift应用程序使用Mac OS?


当前回答

简而言之:

基于Swift的应用程序可以针对OS X Mavericks或iOS 7的同一应用程序。

这怎么可能?

Xcode在你的应用程序包中嵌入了一个小的Swift运行时库。因为这个库是嵌入式的,所以你的应用程序使用了一个一致的Swift版本,可以在过去、现在和未来的操作系统版本上运行。

我为什么要相信这个答案?

因为我不是像一个苹果人在推特上告诉我的那样说这个答案,或者我写了hello world并测试了它。

我从苹果开发者博客上截取的。

所以你可以相信这个。

其他回答

试试下面的代码:

它在没有StoryBoard的情况下工作:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
    self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
    self.window!.backgroundColor = UIColor.whiteColor()

    // Create a nav/vc pair using the custom ViewController class

    let nav = UINavigationController()
    let vc = ViewController(nibName: "ViewController", bundle: nil)

    // Push the vc onto the nav
    nav.pushViewController(vc, animated: false)

    // Set the window’s root view controller
    self.window!.rootViewController = nav

    // Present the window
    self.window!.makeKeyAndVisible()
    return true
}

是的,事实上苹果已经宣布Swift应用程序将向后兼容iOS 7和OS X Mavericks。此外,WWDC应用程序是用Swift编程语言编写的。

简而言之:

基于Swift的应用程序可以针对OS X Mavericks或iOS 7的同一应用程序。

这怎么可能?

Xcode在你的应用程序包中嵌入了一个小的Swift运行时库。因为这个库是嵌入式的,所以你的应用程序使用了一个一致的Swift版本,可以在过去、现在和未来的操作系统版本上运行。

我为什么要相信这个答案?

因为我不是像一个苹果人在推特上告诉我的那样说这个答案,或者我写了hello world并测试了它。

我从苹果开发者博客上截取的。

所以你可以相信这个。

正如Beta 4发布说明所述,Swift应用程序支持iOS 7及以上版本。iOS 6.0, 6.1, 7.0, 7.1, 8.0在Xcode 6 Beta

Swift应用程序支持OS X 10.9及以上平台。“部署目标”中的OS X 10.4 ~ 10.10。我已经在目标10.5到10.10上进行了测试,并在10.9.3上运行

我刚刚为你测试了一下,Swift应用程序编译成标准二进制文件,可以在OS X 10.9和iOS 7上运行。


简单的Swift应用程序用于测试:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
    self.window = UIWindow(frame: UIScreen.mainScreen().bounds)

    var controller = UIViewController()
    var view = UIView(frame: CGRectMake(0, 0, 320, 568))
    view.backgroundColor = UIColor.redColor()
    controller.view = view

    var label = UILabel(frame: CGRectMake(0, 0, 200, 21))
    label.center = CGPointMake(160, 284)
    label.textAlignment = NSTextAlignment.Center
    label.text = "I'am a test label"
    controller.view.addSubview(label)

    self.window!.rootViewController = controller
    self.window!.makeKeyAndVisible()
    return true
}