将静态库链接到XCode 4中的iOS项目

Mat*_*son 74 iphone objective-c ios xcode4

我有一个项目(AQGridView)编译成一个静态库,但我似乎无法将其添加到我的项目中.

在项目中拖动到我的项目创建一个工作区,如果我尝试libAQGridView.aDerivedData目录链接文件,它不会将其识别为库.我不确定我做错了什么.

这是AQGridView项目.有没有人具体知道如何在XCode 4项目中使用它?

Hal*_*lle 93

我这样做如下:

  1. 在静态库项目中拖动.如果您在Xcode中打开了静态库项目,请立即关闭它.
  2. 在项目导航器中选择主项目(我正在添加静态库的项目),在编辑器中,在左侧列的标题TARGETS下,选择我的主项目目标并导航到Build Phases选项卡.
  3. 单击Target Dependencies的"+"并从添加的静态库项目中添加库图标目标依赖项.
  4. 单击链接二进制文件的"+"和库,并添加"工作区"文件夹下的库图标.
  5. 如果这是标头在静态库项目本身中的链接方式,则可能还需要为静态库项目的标题输入标题搜索路径.

如果您没有看到静态库项目嵌套在主项目的项目导航器中的主项目下,最可能的原因是静态库自己的Xcode项目仍处于打开状态.退出Xcode并打开其中包含嵌套静态库项目的主项目,而无需打开原始静态库项目本身,您应该看到它在主项目中显示为嵌套项目.

  • 这似乎会起作用,但由于某种原因,库不会出现在Target Dependencies下.它显示在Link Binary with Libraries下,但不显示Target Dependencies.我无法弄清楚为什么它不会出现. (17认同)
  • 事实证明项目必须嵌套,这将修复目标依赖关系. (2认同)
  • 您不要拖动静态库,将项目导航器窗格中的静态库Xcode项目的主蓝色项目图标或其Finder图标拖到要添加到的Xcode项目的项目导航器窗格中的主蓝色项目图标上. (2认同)

Kaz*_*oto 14

Xcode菜单>查看>实用程序>文件检查器

选择静态库文件,然后在"Identity and Type"中将"File Type"设置为"Mach-O对象代码".


Ric*_*III 5

在finder中找到你的.a文件,然后将其拖入你的项目中.

选择"将项目复制到目标组的文件夹(如果需要)",然后将标题添加到项目中.

现在,XCode 4应该自动链接到该框架.

以下是库在项目中的外观:


Joe*_*son 5

工作区应该让这更容易,但我不知道他们这样做.我这样做的方法是创建一个工作区,添加我的主项目,添加我的库项目.然后进入主项目的构建阶段,并在"使用库链接二进制文件"部分中添加库并添加库.这应该是所有必要的,至少这是我的阅读,但事实并非如此.我所做的是进入Xcode首选项,然后进入Source Trees窗格.添加指向静态库标题的源树,然后返回到项目的构建设置,然后返回到Header Search Paths键,并在那里输入$ {foo},其中"foo"是您称之为源树的任何内容.

这对我有用,但我不知道这是否是最好或最简单的方法.