Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS webRTC library supporting both armv7 & arm64

How can I get the webRTC library which will support for both armv7 & arm64 in iOS?

like image 775
Dev Avatar asked Feb 10 '15 08:02

Dev


1 Answers

You are lucky. I have just finished to integrate webrtc in my project for couple days. My solution as below:

  1. Combine all *.a you built for armv7 to libWebRTC-armv7.a: Using command lines as below

    libtool -static -o src/out_ios_armv7/Release-iphoneos/libWebRTC-temp.a src/out_ios_armv7/Release-iphoneos/*.a

    strip -S -x -o src/out_ios_armv7/Release-iphoneos/libWebRTC-armv7.a -r src/out_ios_armv7/Release-iphoneos/libWebRTC-temp.a

  2. Combine all *.a you built for arm64 to libWebRTC-arm64.a:

    libtool -static -o src/out_ios/Release-iphoneos/libWebRTC-temp.a src/out_ios/Release-iphoneos/*.a

    strip -S -x -o src/out_ios/Release-iphoneos/libWebRTC-arm64.a -r src/out_ios/Release-iphoneos/libWebRTC-temp.a

  3. Create your libWebRTC supported both armv7 and arm64:

    lipo -create src/out_ios_armv7/Release-iphoneos/libWebRTC-armv7.a src/out_ios/Release-iphoneos/libWebRTC-arm64.a -output libWebRTC.a

P.s: Just build your armv7 library to separated folder with arm64:

export GYP_GENERATORS="ninja"
export GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_objc=1 OS=ios target_arch=armv7"
export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_ios_armv7"
export GYP_CROSSCOMPILE=1
pushd src
gclient runhooks
ninja -C out_ios_armv7/Release-iphoneos AppRTCDemo
popd
like image 106
phuongle Avatar answered Nov 15 '22 01:11

phuongle