Ios5 在iOS应用程序中包括ObjectiveGit库
打开ObjecteGitFramework.xcodeproj文件时,我现在可以成功构建iOS方案。然而,需要进行大量的实验。让我们从头开始——我是如何做到的 我所做的: 首先,我克隆了一个分叉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
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