- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我使用 Xcode 9 构建用 Swift 4 编写的简单菜单栏 cocoa 应用程序时,很多 libswift*.dylib 库被链接/下载/嵌入到 .app 包中,如下所示:
我只用 import Cocoa
和 import Foundation
在我的项目中,一些@objc 函数作为定时器函数的选择器。我真的不认为我的非常简单的菜单栏应用程序需要一些 3D 渲染 Metal 库函数或任何 SwiftOnoneSupport,所以我想要它们 从 .app 包中删除 . (帮助应用程序中也包含相同的库,用于在登录时启动,这使得帮助应用程序甚至超过 10 MB)
我原以为 Xcode 实际上只会复制默认情况下需要的任何内容。问了一些类似的问题 here和 here但我认为两者都没有令人满意的最新答案。
到目前为止我尝试过的
我设置了ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
至 NO
在 Build Settings
.它似乎没有任何影响。
我设置了LINK_WITH_STANDARD_LIBRARIES
至 NO
在 Build Settings
.它毁了一切并且无法构建它,即使我尝试在链接框架和库部分下自己添加一些框架(Cocoa、Foundation)。
最佳答案
简而言之,不可能排除 Swift 自动包含在应用程序中的标准库并期望它能够工作。目前,任何使用 Swift 创建的应用程序都捆绑了自己版本的 Swift 动态库。 Swift 并不存在于操作系统中,而是存在于每个应用程序包中。这意味着任何使用 Swift 4.1 的应用程序(例如)都包含在 Swift 4.1 动态库(包含 4.1 ABI)中,等等。
Swift 项目路线图上的一件事是最终拥有 ABI Stability .如果 Swift 成为 ABI 稳定版,Swift 将存在于操作系统中,并且它的 ABI 将与 Swift 的每个版本兼容。
关于xcode - 如何从 macOS 应用程序包中排除标准但未使用的 libswift*.dylib 并减小包大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52047664/
当我使用 Xcode 9 构建用 Swift 4 编写的简单菜单栏 cocoa 应用程序时,很多 libswift*.dylib 库被链接/下载/嵌入到 .app 包中,如下所示: 我只用 impor
我正在尝试在 Instruments 中分析 Swift 应用程序,但遇到困难,因为未显示 libswiftCore.dylib 和 libswiftFoundation.dylib 库的调试符号。鼠
我是一名优秀的程序员,十分优秀!