【问题标题】:Removing unused frameworks in Xcode?删除 Xcode 中未使用的框架?
【发布时间】:2011-12-12 10:49:14
【问题描述】:

随着时间的推移,当您开发应用程序时,您会向其中添加新的库,这些库需要新的框架才能正常工作。然后删除库,如果您像我一样忘记删除最初添加的框架。

有没有办法找出我的代码需要哪些框架才能运行?

【问题讨论】:

  • not 'answer-worty':我只是从链接阶段删除有问题的,然后根据ld 的错误重新引入它们。
  • @Justin:我不同意,这是值得回答的。它很好地回答了这个问题。
  • @JeremyP 好吧,你说服了我 =)

标签: objective-c xcode frameworks xcode-project


【解决方案1】:

我只是从 Xcode 中的链接阶段(或 xcconfig,如果您在那里定义它们)删除有问题的框架,然后根据 ld 的错误重新引入框架。

如果您的目标是多个操作系统版本,那么构建和链接这些 SDK 可能是个好主意,因为事情可能会发生一些变化。

我通常也不会将静态库链接到它们的依赖项,而是将其保留给最终的可执行文件。

该阶段完成后,您可以从 Xcode 项目中删除未链接的框架。

【讨论】:

  • “将静态库链接到它们的依赖项,为最终的可执行文件保留它”是什么意思。还有一些文档应该在 Objective-C 中支持什么不同的框架?
  • a) 这意味着我的静态库目标默认情况下不链接到外部库。我将其保存为最终链接。 b) 我不确定你在问什么。
  • 你能给我举个例子吗,因为我想我还没有遇到过静态库。
  • 静态库是可执行代码的目标类型,类似于动态库或框架(类似于具有资源的动态库),但不同之处在于它们的符号与最终的可执行文件合并而不是动态加载.这显然不是您构建中的问题;如果您开发了您的应用链接到的静态库,那么您很有可能会知道您正在链接到它们。
【解决方案2】:

我讨厌挖坟,但我发现您可以通过在 Inspector 中取消选中目标和构建来轻松测试依赖关系。如果没有错误,则没有依赖关系。

【讨论】:

  • 截图在这里会很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多