打开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 ../..
Src:https://github.com/libgit2/objective-git/pull/54
现在打开项目并进行构建会导致一个错误和一个警告。我让Xcode自动更新项目设置以解决警告。
现在我转到libgit2
目录并使用cmake构建:
$ mkdir build && cd build
$ cmake ..
$ cmake --build .
Src: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错误。
```
答案 0 :(得分:1)
iOS不支持动态库。你必须使用静态库。
要明确:当然iOS支持动态库,但只支持由apple分发的动态库。