Xcode Swift 可执行文件大小比 Objective-C 可执行文件大很多
Xcode Swift executable size much bigger than Objective-C executable
Swift 应用程序的可执行大小比 Objective-C 应用程序的大小大得多。
对于一个新的空 Cocoa 应用项目:
- 在 Objective-C 中,在构建阶段之后,我得到一个 65 Kb 可执行文件
- 在 Swift 中,在构建阶段之后,我得到一个 4.2 Mb 可执行文件,66 次更多 !!!
如果我查看生成的包,其中包含很多框架:
- libswiftAppKit.dylib, libswiftCore.dylib (3.2Mb),
libswiftCoreGraphics.dylib, libswiftDarwin.dylib,
libswiftDispatch.dylib, libswiftFoundation.dylib,
libswiftObjectiveC.dylib, libswiftQuartzCore.dylib,
libswiftSecurity.dylib
我没有找到要指定包含这些库的项目参数...
为什么 Swift 可执行文件的构建与 Objective-C 中的不同?
使用的 Xcode 版本:6.1.1
这是意料之中的事情。
目前,Swift 本身存在于使用它构建的每个应用程序的二进制文件中。当 Swift 达到 Apple 乐于与 iOS 捆绑的版本时,这可能会改变,但现在它只是我们必须忍受的东西。这种行为是您可以在 Swift 1.0/1.1/1.2 中构建 iOS 7/8 应用程序的原因,它只在您构建和 运行.
时起作用
您可以在 this article 中找到更多相关信息。
Swift 应用程序的可执行大小比 Objective-C 应用程序的大小大得多。
对于一个新的空 Cocoa 应用项目:
- 在 Objective-C 中,在构建阶段之后,我得到一个 65 Kb 可执行文件
- 在 Swift 中,在构建阶段之后,我得到一个 4.2 Mb 可执行文件,66 次更多 !!!
如果我查看生成的包,其中包含很多框架:
- libswiftAppKit.dylib, libswiftCore.dylib (3.2Mb), libswiftCoreGraphics.dylib, libswiftDarwin.dylib, libswiftDispatch.dylib, libswiftFoundation.dylib, libswiftObjectiveC.dylib, libswiftQuartzCore.dylib, libswiftSecurity.dylib
我没有找到要指定包含这些库的项目参数...
为什么 Swift 可执行文件的构建与 Objective-C 中的不同?
使用的 Xcode 版本:6.1.1
这是意料之中的事情。
目前,Swift 本身存在于使用它构建的每个应用程序的二进制文件中。当 Swift 达到 Apple 乐于与 iOS 捆绑的版本时,这可能会改变,但现在它只是我们必须忍受的东西。这种行为是您可以在 Swift 1.0/1.1/1.2 中构建 iOS 7/8 应用程序的原因,它只在您构建和 运行.
时起作用您可以在 this article 中找到更多相关信息。