Guide - how to compile TVVLCKit build from Dec 28 2015
Posted: 31 Mar 2016 08:42
at last after fighting with this framework - i got it to compile,
this is how the terminal looks after the second run of the buildMobileVLCKit.sh is done:
[info] ...vlc_entry__attachment
[info] ...vlc_entry__asf
[info] ...vlc_entry__araw
[info] ...vlc_entry__amem
[info] ...vlc_entry__aiff
[info] ...vlc_entry__afile
[info] ...vlc_entry__aes3
[info] ...vlc_entry__adpcm
[info] ...vlc_entry__adjust
[info] ...vlc_entry__adaptative
[info] ...vlc_entry__file
[info] ...vlc_entry__access_mms
[info] ...vlc_entry__concat
[info] ...vlc_entry__a52
[info] all done
and this is what you should receive after executing the xcodebuild commands (in the terminal):
** BUILD SUCCEEDED **
after my success i don’t want other developers to experience what i went through, so i constructed a complete guide here which you can use as a shell script to fully automate the build of TVVLCKit from date: Dec 28, 2015, these are the steps:
the end result of this process should produce a file named: TVVLCKit.framework in size of about 724.1 MB in folder: /VLCKit/build
then you can add it to your Xcode project with other frameworks and have at last a player that plays rtmp,mkv and other exotic stream and file formats,
please note: if you would like to compile the latest version then just remove the line:
git checkout 24382764560f4c6197362fed9f1adcbbf60a1bbc
and after the first run of buildMobileVLCKit.sh script goto "# stage 2:" and continue commands from there (without the middle part)
hope this will help some of you building this framework
(admins - i suggest you pin this one down)
this is how the terminal looks after the second run of the buildMobileVLCKit.sh is done:
[info] ...vlc_entry__attachment
[info] ...vlc_entry__asf
[info] ...vlc_entry__araw
[info] ...vlc_entry__amem
[info] ...vlc_entry__aiff
[info] ...vlc_entry__afile
[info] ...vlc_entry__aes3
[info] ...vlc_entry__adpcm
[info] ...vlc_entry__adjust
[info] ...vlc_entry__adaptative
[info] ...vlc_entry__file
[info] ...vlc_entry__access_mms
[info] ...vlc_entry__concat
[info] ...vlc_entry__a52
[info] all done
and this is what you should receive after executing the xcodebuild commands (in the terminal):
** BUILD SUCCEEDED **
after my success i don’t want other developers to experience what i went through, so i constructed a complete guide here which you can use as a shell script to fully automate the build of TVVLCKit from date: Dec 28, 2015, these are the steps:
- 1. first make sure to download Xcode 7.2.1 from here: http://adcdownload.apple.com/Developer_ ... _7.2.1.dmg
2. copy the Xcode app you just downloaded in to the /Applications folder (rename your current Xcode to Xcode.7.3 or whatever)
3. open terminal (from /Applications/Utilities/Terminal)
4. test to make sure you have the TVOS ver 9.1 by running the next command:
5. xcodebuild -showsdks
6. make sure a line similar to this appear: “tvOS 9.1 -sdk appletvos9.1”
7. now i suggest you to copy and paste the following commands one at a time into the terminal window and wait for each command to finish before you execute the next
Code: Select all
# note these instructions are in order to compile TVVLCKit last version of 2015 from last checkin date at: Dec 28, 2015
# Stage 1
git clone http://code.videolan.org/videolan/VLCKit.git
cd VLCKit
git checkout 24382764560f4c6197362fed9f1adcbbf60a1bbc
./buildMobileVLCKit.sh -t
curl -f -L -- "http://live555.com/liveMedia/public/live555-latest.tar.gz" > "MobileVLCKit/ImportedSources/vlc/contrib/tarballs/live.2015.11.09.tar.gz"
cd MobileVLCKit/ImportedSources/vlc/contrib/tarballs
shasum -a 512 "live.2015.11.09.tar.gz" > ../src/live555/SHA512SUMS
cd ../../../../..
sed -i .bak 's/git pull --rebase/#git pull --rebase/;s/git reset --hard ${TESTEDHASH}/#git reset --hard ${TESTEDHASH}/' buildMobileVLCKit.sh
sed -i .bak -e '/git reset --hard ${TESTEDHASH}/{' -e 'n;s?git am ../../patches/\*.patch?#git am ../../patches/\*.patch?' -e'}' buildMobileVLCKit.sh
cd MobileVLCKit/ImportedSources/vlc/contrib/AppleTVOS-aarch64/gsm/src
cp code.c code.bak
echo -e "#include <string.h>\n$(cat code.c)" > code.c
cd ../../../../../../..
./buildMobileVLCKit.sh -t
cd Sources
sed -i .bak 's/_url = \[NSURL fileURLWithPath:_url\];/_url = \[NSURL fileURLWithPath:urlString\];/‘ VLCMedia.m
sed -i .bak 's/@(titleInfo\[i\]->i_flags & libvlc_title_menu),/@(titleInfo\[i\]->b_menu),/' VLCMediaPlayer.m
cd ..
# Stage 2:
xcodebuild -project "MobileVLCKit.xcodeproj" -target "TVVLCKit" -sdk appletvos9.1 -configuration Release ARCHS="arm64" IPHONEOS_DEPLOYMENT_TARGET=9.1 GCC_PREPROCESSOR_DEFINITIONS=""
xcodebuild -project "MobileVLCKit.xcodeproj" -target "TVVLCKit" -sdk appletvsimulator9.1 -configuration Release ARCHS="x86_64" IPHONEOS_DEPLOYMENT_TARGET=9.1 GCC_PREPROCESSOR_DEFINITIONS=""
cd build
rm -rf TVVLCKit.framework
mkdir TVVLCKit.framework
lipo -create Release-appletvos/libTVVLCKit.a Release-appletvsimulator/libTVVLCKit.a -o TVVLCKit.framework/TVVLCKit
chmod a+x TVVLCKit.framework/TVVLCKit
cp -pr Release-appletvos/TVVLCKit TVVLCKit.framework/Headers
then you can add it to your Xcode project with other frameworks and have at last a player that plays rtmp,mkv and other exotic stream and file formats,
please note: if you would like to compile the latest version then just remove the line:
git checkout 24382764560f4c6197362fed9f1adcbbf60a1bbc
and after the first run of buildMobileVLCKit.sh script goto "# stage 2:" and continue commands from there (without the middle part)
hope this will help some of you building this framework
(admins - i suggest you pin this one down)