My Own Style

반응형

<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)

에러 상황1

에러 해결1



Sample Code 는 기존의 프로젝트에 설정되어 있던 libMobileVLCKti.a 파일을 바라보게 세팅되어 있으므로 

frameworks 의 MobileVLCKit.a 를 프로젝트에서 제거로 에러 해결 가능 

Error case(2)

에러 상황2


 기존의 바라보고 있던 build setting > search path 가 그대로 존재하여 문제가 발생

해결 방안2


해당 path들을 삭제해줌으로써 문제 해결 가능


Error case(3)

에러 상황3


MobileVLC 는 Bitcode 라는 option 이 생성되기 전에 만들어진 lib 이기 때문에 해당 옵션에 대한 link 를 정상적으로 찾을 수 없음


따라서, build setting 의 Enable Bitcode 를 "No"로 바꿔줌으로써 문제 해결 가능

해결 방안3


코드 수정 및 빌드

위의 에러 case 들을 제거하면 xcode 에서 정상적으로 해당 프로젝트가 빌드가 가능함.

테스트를 위해 코드 수정이 필요한데 자사 카메라의 RTSP Stream을 당기는 방법으로 테스트를 진행하기 위해 ip camera 를 사용하여 해당 망에 연결되어 있는 카메라의 url 변경 및 vlc caching 을 조정


반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band