Ios5 在iOS应用程序中包括ObjectiveGit库

Ios5 在iOS应用程序中包括ObjectiveGit库,ios5,frameworks,xcode4.3,dynamic-library,libgit2,Ios5,Frameworks,Xcode4.3,Dynamic Library,Libgit2,打开ObjecteGitFramework.xcodeproj文件时,我现在可以成功构建iOS方案。然而,需要进行大量的实验。让我们从头开始——我是如何做到的 我所做的: 首先,我克隆了一个分叉 git clone git@github.com:Eonil/objective-git.git --recurse-submodules cd objective-git cd ./Scripts/libgit2-make-ios/; sh ./download-make-clean-deploy.s

打开ObjecteGitFramework.xcodeproj文件时,我现在可以成功构建iOS方案。然而,需要进行大量的实验。让我们从头开始——我是如何做到的

我所做的:

首先,我克隆了一个分叉

git clone git@github.com:Eonil/objective-git.git --recurse-submodules
cd objective-git
cd ./Scripts/libgit2-make-ios/; sh ./download-make-clean-deploy.sh "./../../libgit2.a"; cd ../..
Src:

现在打开项目和建筑将导致一个错误和一个警告。我让Xcode自动更新项目设置以解决警告问题。

现在,我转到
libgit2
目录,并使用以下方法进行构建:

Src:

除其他外,这个结果出现在正在创建的
libgit2.0.15.0.dylib
文件中。

我将其拖到Xcode中,并将其添加到ObjectiveGit和iOS目标中。现在,我转到ObjectiveGit iOS的构建阶段选项卡,并使其如下所示:

问题

此时,我可以构建项目,并且可以使用
ObjectiveGit
成功地在项目中创建类。然而,当我将项目拖到另一个项目中时,添加了
ObjectiveGit iOS
作为目标依赖项,并在
链接二进制文件与库中添加了
libObjectiveGit iOS.a
,我无法导入
ObjectiveGit/ObjectiveGit.h
,而且我还遇到了一些奇怪的错误(见下图)。我对xcode中的库知之甚少,所以我根本不知道为什么这不起作用

这是我曾经犯过的一个错误,但现在不是了。我不知道我是怎么做的。

更新

 $(SRCROOT)/frameworks/ObjectiveGit/Classes
 $(SRCROOT)/frameworks/ObjectiveGit/libgit2/include
 $(SRCROOT)/frameworks/ObjectiveGit/Classes/Categories
将此添加到
标题搜索路径时,会发生一些奇怪的情况。这导致没有文件找不到,而是70个其他Mach-o错误


```iOS不支持动态库。您必须使用静态库


需要说明的是:当然,iOS支持动态库,但只有apple发布的动态库。

iOS不支持动态库。您必须使用静态库


需要明确的是:iOS当然支持动态库,但只支持由apple分发的动态库。

静态库本身包含动态库如何?如果可以将动态库(libgit2)包含在静态
ObjectiveGit
中,这难道不起作用吗?这不会改变任何事情,因为libgit2.dylib在设备上不可用。为什么不编译libgit2static呢?我现在觉得非常非常愚蠢。我不知道为什么我没有那样做。我现在已经做了,它似乎工作得很好,但我不能确定,因为libz也有一些mach-o错误,它们正在工作。那么一个本身包含动态库的静态库呢?如果可以将动态库(libgit2)包含在静态
ObjectiveGit
中,这难道不起作用吗?这不会改变任何事情,因为libgit2.dylib在设备上不可用。为什么不编译libgit2static呢?我现在觉得非常非常愚蠢。我不知道为什么我没有那样做。我现在已经做了,它似乎工作得很好,但我不能确定,因为libz也有一些mach-o错误,它们正在工作。
 $(SRCROOT)/frameworks/ObjectiveGit/Classes
 $(SRCROOT)/frameworks/ObjectiveGit/libgit2/include
 $(SRCROOT)/frameworks/ObjectiveGit/Classes/Categories