<MobileVLCKit 을 빌드하는 방법은 크게 2가지의 방법이 존재>
결론부터 얘기하면 빠른 확인을 위해서는
(1.)의 방법을 추천함. (2.) 의 방법은 참고용으로만 사용하시길 권장
(dependecy 설정이 까다로우며 OS X 버전 및 Xcode 버전에 따라 정상적으로 빌드가 되지 않거나
빌드가 되더라도 앱이 crash 나는 등의 문제가 발생하는 것을 경험적으로 확인, 최신의 VLC SDK 버전을 사용하기 위해서는 (2.) 의 방법으로 해결이 필요함)
1. cocoapods 를 이용한 build 및 integration 방법
1.1 cocoapods 이란?
개요
Opensource 를 이용한 iOS 앱을 만들 때 버전 업데이트의 어려움과 의존성 라이브러리가 중복되어 로딩되는 문제를 해결하기 위한 의존성 관리도구
Java 개발시의 의존성 관리도구인 Maven 이나 Ivy 와 비슷한 기능을 하는 도구라고 생각하면 이해가 쉬움
(참고자료 ; http://d2.naver.com/helloworld/444849)
1.2 설치 및 사용법
1.2.1 설치
cocoa pod 설치시 ruby gem 이용
$ sudo gem install cocoapods
$ pod setup
1.2.2 사용법
*.xcodeproj 파일이 있는 Directory 경로에서
$ pod init 명령을 사용하면 Podfile 생성됨
$ vi Podfile
내부에서 target 이나 platform 설정 및 iOS 버전 등등 설정이 가능함
$ pod install 명령사용시, 해당 Podfile 에 설정한 내용들이 적용되며 *.xcworkspace 파일이 생성되며
해당 파일을 이용하여 xcode 에서 project 빌드가 가능
자세한 사용은 (3.) 항목에서 예제를 통해 설명 진행
1.3 MobileVLCKit 을 포함한 project 빌드 방법
1.3.1 작업 Directory 생성
1.3.2 작업 Directory 하위에 Xcode Project 를 생성 및 저장 (ex> testAPP)
1.3.3 cocoapods 설치
: $ sudo gem install cocoapods
1.3.4 testAPP.xcodeproj 파일이 존재하는 디렉토리에서
-> $pod init 명령을 사용하여 Podfile 생성 및 해당 내용 수정
1.3.5 $pod install 명령을 통한 testAPP.xcworkspace 생성
1.3.6 testAPP.xcworkspace 를 이용해 xcode 실행 및 빌드
2. 직접 VLCKit 을 이용하여 build 및 integration 방법
모바일VLC 공식 페이지(https://wiki.videolan.org/VLCKit/)의 Building the framesork for iOS 항목을 따라 진행
작업이 진행되었던 xcode project 에 build된 framework를 drag & drop 으로 설정
build setting 에서 search path 항목들을 설정
bitcode 가 disable 된 상태로 framework를 빌드하였다면 project 의 build setting 항목의 bitcode 를 "NO" 상태로 변경하고 프로젝트 빌드
(* 빌드가 되어도 framework 의 dependency 가 타켓 프로젝트와 중복되어 빌드 되었다면 app crash 될 확률이 높음, 주의 필요)
3. VLCKit 에서 제공하는 샘플코드로 빌드 및 표준 RTSP Streaming 테스트 방법
3.1 개발환경
os X 버전 (OS X El Capitan Version 10.11.3)
xcode 버전 (Version 7.3 (7D175)
3.2 VLCKit 다운로드
VLC-iOS 2.2.2 버전으로 테스트 진행 (VLC-iOS_2.2.2 버전 링크 : http://ftp.kaist.ac.kr/vlc/vlc-iOS/ )
3.3 설정 및 세팅
작업 Directory에 해당 버전의 VLCKit 을 다운로드 받고 압축을 품
Example iOS 폴더의 SimplePlayback 프로젝트로 테스트 진행
SimplePlayback.xcodeproj 파일의 디렉토리 경로에서
: $ pod init
: $ vi Podfile 내용 수정 및 저장
:$ pod install 로 SimplePlayback.xcworkspace 생성
SimplePlayback.xcworkspace 로 xcode 프로젝트 실행
기본 프로젝트 빌드 후, 에러 제거
Error case(1)
Sample Code 는 기존의 프로젝트에 설정되어 있던 libMobileVLCKti.a 파일을 바라보게 세팅되어 있으므로
frameworks 의 MobileVLCKit.a 를 프로젝트에서 제거로 에러 해결 가능
Error case(2)
기존의 바라보고 있던 build setting > search path 가 그대로 존재하여 문제가 발생
해당 path들을 삭제해줌으로써 문제 해결 가능
Error case(3)
MobileVLC 는 Bitcode 라는 option 이 생성되기 전에 만들어진 lib 이기 때문에 해당 옵션에 대한 link 를 정상적으로 찾을 수 없음
따라서, build setting 의 Enable Bitcode 를 "No"로 바꿔줌으로써 문제 해결 가능
코드 수정 및 빌드
위의 에러 case 들을 제거하면 xcode 에서 정상적으로 해당 프로젝트가 빌드가 가능함.
테스트를 위해 코드 수정이 필요한데 자사 카메라의 RTSP Stream을 당기는 방법으로 테스트를 진행하기 위해 ip camera 를 사용하여 해당 망에 연결되어 있는 카메라의 url 변경 및 vlc caching 을 조정
tcpdump 크로스 컴파일 (cross compile arm) (2) | 2018.12.14 |
---|---|
환경변수를 이용한 공유라이브러리 후킹 방법 (0) | 2018.12.01 |
rsyslog 데몬을 이용한 네트워크 로깅기능 (0) | 2018.11.16 |
zeroMQ universal framework 빌드 방법 (0) | 2018.11.15 |
curl rfc7616 인증 우선 작업 (0) | 2018.11.15 |