最终构建中是不是包含未使用的 Cocoa Touch 框架?

Posted

技术标签:

【中文标题】最终构建中是不是包含未使用的 Cocoa Touch 框架?【英文标题】:Do unused Cocoa Touch frameworks get included in the final build?最终构建中是否包含未使用的 Cocoa Touch 框架? 【发布时间】:2016-12-28 06:57:05 【问题描述】:

我的 XCode 项目中包含一堆框架。

我想知道当我在项目中有这些框架但从未#import 或使用它们时会发生什么。他们会被排除在最终的二进制文件之外吗?或者即使我从不给他们打电话,他们仍然包括在内?

基本上,我想知道是否应该在不需要时检查并删除这些框架(我目前的方法是简单地不包含它们,假设如果我从不导入/使用它们会自动从构建中排除/在代码中的任何地方调用它们。但如果我弄错了,突然就好奇了)

【问题讨论】:

【参考方案1】:

毫无疑问,答案是“是”或“真”;) 您添加到项目的所有库、框架和 lib 文件都包含在您创建的构建中。

转到TARGET -> SELECT YOUR TARGET -> Build Phases,然后您可以在Compile SourcesLink Binary With LibrariesCopy Bundle Resources 下看到多个文件和框架,它们都负责增加您的构建大小,因为它们是最终构建的一部分。

【讨论】:

【参考方案2】:

是的,所有添加的库或框架都包含在最终构建中。

如果您根本不使用它,则应手动将其删除以排除它,否则最终二进制文件或构建会将其计算在内,并且您的构建大小会增加。

【讨论】:

以上是关于最终构建中是不是包含未使用的 Cocoa Touch 框架?的主要内容,如果未能解决你的问题,请参考以下文章

Qt + cocoa:架构 x86_64 的未定义符号

Cocoa 应用程序无法开始循环 python 脚本。通过 xcode 构建/运行时工作

构建纯 Swift Cocoa Touch 框架

如何在 iOS 中构建一个 Cocoa 触控框架?

Cocoa Touch:图形界面构建UIKit

如何在 Cocoa 中构建 OSXFUSE.framework?