在Xcode中使用库(例如ImageMagick、AdMob),是将其包含到项目中还是链接?

3

(这个问题可能已经被问过很多次了,但我在建议的问题/搜索中没有看到)

假设我有第三方代码库,比如ImageMagick和AdMob,我可能会在多个iOS项目中使用它们,是将它们链接还是包含在项目中更好呢?

我正在使用带有git的XCode。在一个项目中,我已经将它们包含在项目中,所以它们都在源代码控制下。在另一个项目中,它们被链接起来,我在所有库文件旁边看到了"?"(问号)图标。令人困惑。


“链接它们或包含它们” - 你是否在C相关的意义上使用这些词?如果是这样,你应该同时包含头文件并链接库。 - user529758
@H2CO3 - 不,我的意思是将文件包含在项目目录中,而不是链接到硬盘上的其他位置。 - spring
1个回答

1

对于使用第三方库的诚恳建议是尽可能使用CocoaPods。有很大的机会所有库都可以使用。

CocoaPods包含的原因:

  • 易于添加和从项目中删除
  • 自动链接到您的项目
  • 包含后易于更新

CocoaPods使用的缺点:

  • 如果您的库未被包含,则无法帮助您
  • 您不想使用新创建的xcworkspace而不是xcodeproj

不使用它们的原因相当薄弱,我承认我对它们持有偏见。我必须使用许多静态库和框架,其中大部分是内部创建的。 CocoaPods使共享、维护和安装库变得轻而易举。因此,请考虑在您的项目中使用它们。

如果CocoaPods不是你的菜或者不是一个选项,那么链接库或框架可能是第二好的选择。如果你拖放到你的项目中(虽然很容易),但稍后更新会有点麻烦。动态链接允许你从文件目录中替换它们,而无需更改Xcode项目中的任何内容。它需要一些技巧来设置,但最终对于长期来说会更好。在我看来是这样。


以前没听说过 CocoaPods。我会去了解一下的。 - spring
你不会后悔的。这对我在工作和个人项目中都是救命稻草。 - Bill Burgess

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接