使用 Xcode 链接 iOS 静态库的正确变体

Linking the correct variant of an iOS static library using Xcode

我有一个iOS静态库。

事实上,我有四种变体:

Debug-iphoneos/libopende.a
Debug-iphonesimulator/libopende.a
Release-iphoneos/libopende.a
Release-iphonesimulator/libopende.a

我想 link 我的 iOS 应用程序使用 Xcode.

针对这个静态库

为此,我转到 Build Phases,然后在 Link Binary With Libraries 中,单击“ +' 添加一个,使用 Add Other.

现在我遇到了应该添加哪个变体的问题。所以我只选择了一个 .a 文件,希望 Xcode 足够聪明,可以找到其他文件?

无论如何,如果我这样做,linking 会失败,说找不到 libopende.a 文件。

那么,是否可以在不先构建 'Framework' 而不是一组静态库的情况下做我想做的事?

好的,所以在链接静态 iOS 库时,您需要知道:

  1. Build Phases 中添加哪个 .a 文件并不重要 - Link Binary With Libraries面板。四个 .a 文件中的任何一个都可以,它只需要文件名,而不是它的路径。

  2. 要真正区分 Debug/Release Device/Simulator 的库变体,您需要在 Build Settings - Library Search Paths.