基于swift的应用程序能在OS X 10.9 (Mavericks)/iOS 7及更低版本上运行吗?
例如,我有一台运行OS X 10.8 (Mountain Lion)的机器,我想知道我用Swift写的应用程序是否能在它上面运行。
或者我应该有什么创建一个Swift应用程序使用Mac OS?
基于swift的应用程序能在OS X 10.9 (Mavericks)/iOS 7及更低版本上运行吗?
例如,我有一台运行OS X 10.8 (Mountain Lion)的机器,我想知道我用Swift写的应用程序是否能在它上面运行。
或者我应该有什么创建一个Swift应用程序使用Mac OS?
当前回答
是的,事实上苹果已经宣布Swift应用程序将向后兼容iOS 7和OS X Mavericks。此外,WWDC应用程序是用Swift编程语言编写的。
其他回答
Swift应用程序似乎不能在OS X 10.7上运行。我刚刚创建了一个简单的GUI应用程序(一个视图、一个标签、一个按钮),它在Mavericks上运行良好。基本SDK设置为10.9,部署目标设置为10.7。我把这个应用程序从DerivedData文件夹复制到我的10.7虚拟机,它在启动时崩溃了,显示这个错误:
Crashed Thread: 0
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Application Specific Information:
dyld: launch, loading dependent libraries
Dyld Error Message:
Library not loaded: /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
Referenced from: /Users/USER/Desktop/Swift-Test.app/Contents/MacOS/../Frameworks/libswiftAppKit.dylib
Reason: image not found
Binary Images:
0x109c65000 - 0x109c6afff +private.Swift-Test (1.0 - 1) <649695D0-58FD-3D02-9176-2D40D4E711F2> /Users/USER/Desktop/Swift-Test.app/Contents/MacOS/Swift-Test
0x109c83000 - 0x109dbffff +libswift_stdlib_core.dylib (1.0 - 600.0.34.4.5) <10AAC369-9404-321D-A892-49F65856D7AF> /Users/USER/Desktop/Swift-Test.app/Contents/Frameworks/libswift_stdlib_core.dylib
...
然而,这个消息是令人恼火的,因为在这个VM中肯定有一个CoreGraphics库。其他大量使用CoreGraphics的应用程序也可以正常工作。
说到Swift框架。 截至目前,在Xcode 6.1.1 (6A2008a)版本中,如果Swift框架针对iOS 7.1,链接器报告警告
ld: warning: embedded dylibs/frameworks only run on iOS 8 or later.
并且应用程序无法提交到AppStore。检查这个问题:Lint阻止动态库和框架在iOS 7中传递
我读了所有回答:不,Swift不能在iOS 7以下的系统上运行。但我说是的,我刚刚创建了一个Swift项目,它在Xcode 5 6.0部署目标中运行。
我只是用选择的Swift编程语言在Xcode 6 BETA中创建了一个演示项目。 关闭Xcode 6 beta,我在Xcode 5中以部署目标6.0打开这个演示项目 并选择模拟器6.1。
然后该项目在模拟器6.1中运行良好。我的MacOS X是10.9.3,所以我说是的,它运行在低于iOS 7的系统上。10.9.3 Mac OS X。
这是模拟器的截图:
这里还有一个演示
苹果公司宣布Swift应用程序将向后兼容iOS 7和OS X Mavericks。WWDC应用程序是用Swift编写的。
Swift代码可以部署在OS X 10.9和iOS 7.0上。在较旧的操作系统版本上,它通常会在启动时崩溃。