如果不需要,在静态库中删除框架

时间:2014-01-30 00:34:22

标签: ios xcode xcode5 static-libraries facebook-ios-sdk

我有一个iOS静态库,它使用了几个框架,例如: FacebookSDK。一些使用我的库的应用程序需要该SDK,而有些则不需要。我正在尝试在构建任何不需要它的项目时使Xcode剥离Facebook SDK。这就是我所做的:

  • 在库和客户端应用程序项目中将死代码剥离设置为YES
  • 为两个项目添加了-dead_strip链接器标志
  • 使FacebookSDK成为客户端应用程序中的可选框架
  • 确保我不在我的应用程序中创建任何Facebook对象(通过在代码中运行grep等)。

但是,FacebookSDK仍然会进入应用程序二进制文件。命令nm MyApp.app/MyApp | grep FB返回一大堆Facebook符号。

但为什么Facebook会被关联?以及如何避免它?

0 个答案:

没有答案