2012-04-14 6 views
1

ObjectieGitFramework.xcodeproj 파일을 열면 iOS 체계를 성공적으로 빌드 할 수 있습니다. 그러나 많은 실험이 필요했습니다. 처음부터 시작하자. 내가 어떻게했는지.iOS 앱에 ObjectiveGit 라이브러리 포함

내가 무슨 짓을 :

우선 내가 ObjectiveGit의 포크를 복제.

git clone [email protected]: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에서 자동으로 프로젝트 설정을 업데이트하여 경고를 해결하도록했습니다. Errors

는 지금은 libgit2 디렉토리로 이동 cmake를 사용하여 구축 :

$ mkdir build && cd build 
$ cmake .. 
$ cmake --build . 

의 Src를 : https://github.com/libgit2/libgit2

이 결과를, 다른 것들 사이의 libgit2.0.15.0.dylib 파일이 생성되고있다. Image of the file in finder

Xcode로 드래그하여 ObjectiveGit 및 iOS 대상에 추가합니다. 지금은 ObjectiveGit - iOS 용 빌드 단계 탭으로 이동하고 다음과 같이합니다

enter image description here

내가 프로젝트를 빌드 할 수 있고, 내가 클래스를 만들 수 있습니다 지금이 순간 문제

성공적으로 ObjectiveGit을 사용하십시오. 그러나 다른 프로젝트에서 프로젝트를 드래그했을 때 ObjectiveGit-iOS을 타겟 종속으로 추가했으며 libObjectiveGit-iOS.alink binary with libraries에 가져올 수 없었습니다. ObjectiveGit/ObjectiveGit.h을 가져올 수 없었습니다. 다른 이상한 오류가 발생했습니다 (아래 이미지 참조). xcode의 라이브러리에 대해서는 거의 알지 못하므로 왜 이것이 작동하지 않는지 전혀 알지 못합니다. enter image description here

enter image description here

지금이 내가 더 이상 한 번이 아닌있어 오류가 발생합니다. 나는 그것을하기 위해 무엇을하고 있었는지 모른다. enter image description here

업데이트

$(SRCROOT)/frameworks/ObjectiveGit/Classes 
$(SRCROOT)/frameworks/ObjectiveGit/libgit2/include 
$(SRCROOT)/frameworks/ObjectiveGit/Classes/Categories 

하는 것은 이상한 일이 발생 header search path 뭔가이를 추가 할 때. 결과적으로 파일이 발견되지 않고 70 개의 다른 Mach-o 오류가 발생합니다.

```

답변

1

동적 라이브러리는 아이폰 OS에서 지원되지 않습니다. 정적 라이브러리를 사용해야합니다.

분명히 : 물론 iOS는 동적 라이브러리를 지원하지만 사과가 배포하는 라이브러리 만 지원합니다.

+0

동적 라이브러리 자체가 포함 된 정적 라이브러리는 어떻습니까? dylib (libgit2)를 정적'ObjectiveGit'에 포함시킬 수 있다면 그렇게 할 수 없습니까? –

+1

libgit2.dylib를 장치에서 사용할 수 없으므로 아무 것도 변경되지 않습니다. libgit2를 정적으로 컴파일하면 어떨까요? –

+1

나는 지금 매우 바보 같다. 왜 내가 그렇게하지 않았는지 모르겠다. 지금은 해봤지만 제대로 작동하는 것처럼 보입니다. 그러나 libz에서 mach-o 오류가 발생했기 때문에이를 확실히 처리 할 수 ​​없습니다. –