打开 ObjectieGitFramework.xcodeproj 文件时,我现在可以成功构建 iOS 方案。虽然需要进行大量的实验。让我们从头开始——我是怎么做到的。
我做了什么:
首先,我克隆了一个 ObjectiveGit 的分支。
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 ../..
源:https ://github.com/libgit2/objective-git/pull/54
现在打开项目并构建会导致一个错误和一个警告。我让 Xcode 自动更新项目设置来解决警告。
现在我进入目录并使用cmakelibgit2
构建:
$ mkdir build && cd build
$ cmake ..
$ cmake --build .
源:https ://github.com/libgit2/libgit2
除其他外,这会导致libgit2.0.15.0.dylib
正在创建的文件中。
我将它拖入 Xcode 并将其添加到 ObjectiveGit 和 iOS 目标。现在我转到 ObjectiveGit-iOS 的构建阶段选项卡,让它看起来像这样:
问题
此时我可以构建项目,并且可以使用ObjectiveGit
. 但是,当我将项目拖到另一个项目中,添加ObjectiveGit-iOS
为目标依赖项并添加libObjectiveGit-iOS.a
时,link binary with libraries
我无法导入ObjectiveGit/ObjectiveGit.h
,而且我遇到了一些其他奇怪的错误(见下图)。我对 xcode 中的库知之甚少,所以我根本不知道为什么这不起作用。
现在,这是我曾经遇到的一个错误,但现在没有了。我不知道我做了什么导致它。
更新
$(SRCROOT)/frameworks/ObjectiveGit/Classes
$(SRCROOT)/frameworks/ObjectiveGit/libgit2/include
$(SRCROOT)/frameworks/ObjectiveGit/Classes/Categories
当将此添加到header search path
奇怪的事情发生时。它导致没有找到文件,而是 70 个其他 Mach-o 错误。
```