From 9e229a7544a8d0dc4b88841f3cd89e385d7fa764 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 14 Sep 2015 09:42:49 +0200 Subject: [PATCH 01/42] travis: use --depth 1 option for submodules since only last revision is needed to speed up build a bit --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0fe35ffa0..93f4a84c0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,7 @@ before_install: - sudo mv gas-preprocessor.pl /usr/local/bin - sudo ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize - sudo ln -s /usr/bin/strings /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings - - git submodule update --init --recursive + - git submodule update --init --recursive --depth 1 install: - ./prepare.py -d x86_64 -G Ninja From 5b32aa9887f7f1968c0b640f4c1c1fddb6fa0e7f Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 14 Sep 2015 09:46:50 +0200 Subject: [PATCH 02/42] travis: we should handle submodules manually since travis is using --depth 20 --- .travis.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 93f4a84c0..b7ee55a51 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,15 @@ language: objective-c + env: global: - secure: "JPPcWdmNIJiR3YcIwe0LRYce6qDdsiagO+eKKAp7eVk/wD9UHbz96Ms2FFkXxPhRJB1PA6Pf8FpAzIL2YRiJL9jRtKHSvtdF1cSto+57XyBkCsw7PkMVUIxp7fg6Wiwn3H3tucF8jisIkv/Pn7R+9EqePkZSqqu3+ig5AX9ApQ4=" - KIF_SCREENSHOTS=$PWD/Screens +git: + submodules: false before_install: + - git submodule update --init --recursive --depth 1 - brew update 1>/dev/null - brew install doxygen nasm yasm optipng imagemagick coreutils intltool ninja antlr - brew upgrade cmake @@ -14,7 +18,6 @@ before_install: - sudo mv gas-preprocessor.pl /usr/local/bin - sudo ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize - sudo ln -s /usr/bin/strings /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings - - git submodule update --init --recursive --depth 1 install: - ./prepare.py -d x86_64 -G Ninja From 6089b1267d3adc4b8ed03817eb181cab518aa590 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 14 Sep 2015 10:11:23 +0200 Subject: [PATCH 03/42] Revert "travis: we should handle submodules manually since travis is using --depth 20" This reverts commit 5b32aa9887f7f1968c0b640f4c1c1fddb6fa0e7f. --- .travis.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index b7ee55a51..93f4a84c0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,15 +1,11 @@ language: objective-c - env: global: - secure: "JPPcWdmNIJiR3YcIwe0LRYce6qDdsiagO+eKKAp7eVk/wD9UHbz96Ms2FFkXxPhRJB1PA6Pf8FpAzIL2YRiJL9jRtKHSvtdF1cSto+57XyBkCsw7PkMVUIxp7fg6Wiwn3H3tucF8jisIkv/Pn7R+9EqePkZSqqu3+ig5AX9ApQ4=" - KIF_SCREENSHOTS=$PWD/Screens -git: - submodules: false before_install: - - git submodule update --init --recursive --depth 1 - brew update 1>/dev/null - brew install doxygen nasm yasm optipng imagemagick coreutils intltool ninja antlr - brew upgrade cmake @@ -18,6 +14,7 @@ before_install: - sudo mv gas-preprocessor.pl /usr/local/bin - sudo ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize - sudo ln -s /usr/bin/strings /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings + - git submodule update --init --recursive --depth 1 install: - ./prepare.py -d x86_64 -G Ninja From b7f6104b6ba3062f3c21f2fa8758d4e11ce66df7 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 14 Sep 2015 10:23:14 +0200 Subject: [PATCH 04/42] .gitmodules: change opus repository URL to git.linphone.org since git.opus-codec.org is down for 3 days now --- .gitmodules | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/.gitmodules b/.gitmodules index f8ebf7732..6cf8b510b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,61 +3,61 @@ url = git://git.linphone.org/linphone [submodule "submodules/externals/gsm"] path = submodules/externals/gsm - url = git://git.linphone.org/gsm.git + url = git://git.linphone.org/gsm [submodule "submodules/externals/speex"] path = submodules/externals/speex - url = git://git.linphone.org/speex.git + url = git://git.linphone.org/speex [submodule "submodules/msilbc"] path = submodules/msilbc - url = git://git.linphone.org/msilbc.git + url = git://git.linphone.org/msilbc [submodule "submodules/libilbc-rfc3951"] path = submodules/libilbc-rfc3951 - url = git://git.linphone.org/libilbc-rfc3951.git + url = git://git.linphone.org/libilbc-rfc3951 [submodule "submodules/externals/opencore-amr"] path = submodules/externals/opencore-amr url = git://git.linphone.org/opencore-amr ignore = dirty [submodule "submodules/msamr"] path = submodules/msamr - url = git://git.linphone.org/msamr.git + url = git://git.linphone.org/msamr [submodule "submodules/externals/ffmpeg"] path = submodules/externals/ffmpeg - url = git://git.linphone.org/ffmpeg.git + url = git://git.linphone.org/ffmpeg [submodule "submodules/externals/x264"] path = submodules/externals/x264 - url = git://git.linphone.org/x264.git + url = git://git.linphone.org/x264 ignore = dirty [submodule "submodules/msx264"] path = submodules/msx264 - url = git://git.linphone.org/msx264.git + url = git://git.linphone.org/msx264 [submodule "submodules/externals/libvpx"] path = submodules/externals/libvpx url = https://github.com/webmproject/libvpx ignore = dirty [submodule "submodules/bzrtp"] path = submodules/bzrtp - url = git://git.linphone.org/bzrtp.git + url = git://git.linphone.org/bzrtp [submodule "submodules/mssilk"] path = submodules/mssilk - url = git://git.linphone.org/mssilk.git + url = git://git.linphone.org/mssilk [submodule "submodules/externals/srtp"] path = submodules/externals/srtp - url = git://git.linphone.org/srtp.git + url = git://git.linphone.org/srtp [submodule "submodules/bcg729"] path = submodules/bcg729 - url = git://git.linphone.org/bcg729.git + url = git://git.linphone.org/bcg729 [submodule "submodules/belle-sip"] path = submodules/belle-sip url = git://git.linphone.org/belle-sip [submodule "submodules/externals/antlr3"] path = submodules/externals/antlr3 - url = git://git.linphone.org/antlr3.git + url = git://git.linphone.org/antlr3 [submodule "submodules/externals/polarssl"] path = submodules/externals/polarssl - url = git://git.linphone.org/polarssl.git + url = git://git.linphone.org/polarssl [submodule "submodules/externals/opus"] path = submodules/externals/opus - url = git://git.opus-codec.org/opus.git + url = git://git.linphone.org/opus ignore = dirty [submodule "submodules/externals/libxml2"] path = submodules/externals/libxml2 @@ -65,7 +65,7 @@ ignore = dirty [submodule "submodules/cunit"] path = submodules/cunit - url = git://git.linphone.org/cunit.git + url = git://git.linphone.org/cunit ignore = dirty [submodule "submodules/externals/openh264"] path = submodules/externals/openh264 @@ -73,17 +73,17 @@ ignore = dirty [submodule "submodules/msopenh264"] path = submodules/msopenh264 - url = git://git.linphone.org/msopenh264.git + url = git://git.linphone.org/msopenh264 [submodule "submodules/mswebrtc"] path = submodules/mswebrtc - url = git://git.linphone.org/mswebrtc.git + url = git://git.linphone.org/mswebrtc [submodule "Classes/KIF"] path = Classes/KIF - url = https://github.com/kif-framework/KIF.git + url = https://github.com/kif-framework/KIF ignore = dirty [submodule "submodules/cmake-builder"] path = submodules/cmake-builder - url = git://git.linphone.org/linphone-cmake-builder.git + url = git://git.linphone.org/linphone-cmake-builder [submodule "submodules/externals/vo-amrwbenc"] path = submodules/externals/vo-amrwbenc url = git://git.linphone.org/vo-amrwbenc From bc4969dae27b735722887ae8700ab73277aa5448 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 14 Sep 2015 13:35:22 +0200 Subject: [PATCH 05/42] TutorialHelloWorld: rework tutorial --- .../hello-world.xcodeproj/project.pbxproj | 709 +++++++++++------- 1 file changed, 440 insertions(+), 269 deletions(-) diff --git a/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj b/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj index bbd185c8f..5f5892cf4 100755 --- a/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj +++ b/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj @@ -7,45 +7,11 @@ objects = { /* Begin PBXBuildFile section */ - 154E1A941715638900A0D168 /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A931715638900A0D168 /* libmediastreamer_base.a */; }; - 154E1A961715639A00A0D168 /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A951715639A00A0D168 /* libmediastreamer_voip.a */; }; - 154E1A981715642E00A0D168 /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A971715642E00A0D168 /* libavutil.a */; }; - 154E1A9A1715644400A0D168 /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A991715644400A0D168 /* libavcodec.a */; }; - 154E1A9C1715645F00A0D168 /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A9B1715645F00A0D168 /* libswscale.a */; }; - 154E1A9D171564B500A0D168 /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A991715644400A0D168 /* libavcodec.a */; }; - 154E1A9E171564B500A0D168 /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A991715644400A0D168 /* libavcodec.a */; }; - 154E1A9F171564B600A0D168 /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A991715644400A0D168 /* libavcodec.a */; }; - 154E1AA0171564BA00A0D168 /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A971715642E00A0D168 /* libavutil.a */; }; - 154E1AA1171564BA00A0D168 /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A971715642E00A0D168 /* libavutil.a */; }; - 154E1AA2171564BA00A0D168 /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A971715642E00A0D168 /* libavutil.a */; }; - 154E1AA3171564C100A0D168 /* libilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFED14C41EBA00E1BC69 /* libilbc.a */; }; - 154E1AA4171564C100A0D168 /* libilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFED14C41EBA00E1BC69 /* libilbc.a */; }; - 154E1AA5171564C200A0D168 /* libilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFED14C41EBA00E1BC69 /* libilbc.a */; }; - 154E1AA6171564C600A0D168 /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A931715638900A0D168 /* libmediastreamer_base.a */; }; - 154E1AA7171564C600A0D168 /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A931715638900A0D168 /* libmediastreamer_base.a */; }; - 154E1AA8171564C700A0D168 /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A931715638900A0D168 /* libmediastreamer_base.a */; }; - 154E1AA9171564C900A0D168 /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A951715639A00A0D168 /* libmediastreamer_voip.a */; }; - 154E1AAA171564CA00A0D168 /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A951715639A00A0D168 /* libmediastreamer_voip.a */; }; - 154E1AAB171564CA00A0D168 /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A951715639A00A0D168 /* libmediastreamer_voip.a */; }; - 154E1AB21715661100A0D168 /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A9B1715645F00A0D168 /* libswscale.a */; }; - 154E1AB31715661100A0D168 /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A9B1715645F00A0D168 /* libswscale.a */; }; - 154E1AB41715661200A0D168 /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E1A9B1715645F00A0D168 /* libswscale.a */; }; - 15FC168517157478003FDB31 /* buddy_status.c in Sources */ = {isa = PBXBuildFile; fileRef = 15FC167E17157478003FDB31 /* buddy_status.c */; }; - 15FC168817157478003FDB31 /* chatroom.c in Sources */ = {isa = PBXBuildFile; fileRef = 15FC167F17157478003FDB31 /* chatroom.c */; }; - 15FC168A17157478003FDB31 /* helloworld.c in Sources */ = {isa = PBXBuildFile; fileRef = 15FC168017157478003FDB31 /* helloworld.c */; }; - 15FC168F17157478003FDB31 /* registration.c in Sources */ = {isa = PBXBuildFile; fileRef = 15FC168117157478003FDB31 /* registration.c */; }; 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; 2220D5D81278461C008F2C2E /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5D71278461C008F2C2E /* CFNetwork.framework */; }; 2220D5DA1278461C008F2C2E /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5D91278461C008F2C2E /* CoreAudio.framework */; }; 2220D5EA12784672008F2C2E /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5E912784672008F2C2E /* AudioToolbox.framework */; }; - 2294996912A53FEE00D6CF48 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; - 2294996A12A53FEE00D6CF48 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; - 2294996B12A53FEE00D6CF48 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; - 2294997612A53FEE00D6CF48 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5D71278461C008F2C2E /* CFNetwork.framework */; }; - 2294997712A53FEE00D6CF48 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5D91278461C008F2C2E /* CoreAudio.framework */; }; - 2294997812A53FEE00D6CF48 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5E912784672008F2C2E /* AudioToolbox.framework */; }; - 2294997912A53FEE00D6CF48 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 22D1B6A012A3E159001AE361 /* libresolv.dylib */; }; 229499A612A5417D00D6CF48 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 229499A712A5417D00D6CF48 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; 229499A812A5417D00D6CF48 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; @@ -62,43 +28,12 @@ 229499FB12A5433F00D6CF48 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 22D1B6A012A3E159001AE361 /* libresolv.dylib */; }; 22D1B6A112A3E159001AE361 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 22D1B6A012A3E159001AE361 /* libresolv.dylib */; }; 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; - 34F9DFF614C41EBA00E1BC69 /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEC14C41EBA00E1BC69 /* libgsm.a */; }; - 34F9DFF714C41EBA00E1BC69 /* libilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFED14C41EBA00E1BC69 /* libilbc.a */; }; - 34F9DFF814C41EBA00E1BC69 /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEE14C41EBA00E1BC69 /* liblinphone.a */; }; - 34F9DFFA14C41EBA00E1BC69 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF014C41EBA00E1BC69 /* libortp.a */; }; - 34F9DFFD14C41EBA00E1BC69 /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF314C41EBA00E1BC69 /* libspeex.a */; }; - 34F9DFFE14C41EBA00E1BC69 /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF414C41EBA00E1BC69 /* libspeexdsp.a */; }; 34F9E00314C41FB400E1BC69 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00214C41FB400E1BC69 /* OpenGLES.framework */; }; - 34F9E00614C41FCF00E1BC69 /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00414C41FCF00E1BC69 /* libsrtp.a */; }; - 34F9E00714C41FCF00E1BC69 /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00514C41FCF00E1BC69 /* libvpx.a */; }; 34F9E00B14C4202100E1BC69 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00A14C4202100E1BC69 /* QuartzCore.framework */; }; - 34F9E00C14C4203900E1BC69 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00214C41FB400E1BC69 /* OpenGLES.framework */; }; - 34F9E00D14C4203900E1BC69 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00A14C4202100E1BC69 /* QuartzCore.framework */; }; - 34F9E00E14C4204600E1BC69 /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00414C41FCF00E1BC69 /* libsrtp.a */; }; - 34F9E00F14C4204600E1BC69 /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00514C41FCF00E1BC69 /* libvpx.a */; }; - 34F9E01014C4207700E1BC69 /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEE14C41EBA00E1BC69 /* liblinphone.a */; }; - 34F9E01314C4208C00E1BC69 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF014C41EBA00E1BC69 /* libortp.a */; }; - 34F9E01614C420B800E1BC69 /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEC14C41EBA00E1BC69 /* libgsm.a */; }; - 34F9E01714C420B800E1BC69 /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF314C41EBA00E1BC69 /* libspeex.a */; }; - 34F9E01814C420B800E1BC69 /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF414C41EBA00E1BC69 /* libspeexdsp.a */; }; - 34F9E01A14C420DD00E1BC69 /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEC14C41EBA00E1BC69 /* libgsm.a */; }; - 34F9E01B14C420DD00E1BC69 /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEE14C41EBA00E1BC69 /* liblinphone.a */; }; - 34F9E01C14C420DD00E1BC69 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF014C41EBA00E1BC69 /* libortp.a */; }; - 34F9E01F14C420DD00E1BC69 /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF314C41EBA00E1BC69 /* libspeex.a */; }; - 34F9E02014C420DD00E1BC69 /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF414C41EBA00E1BC69 /* libspeexdsp.a */; }; 34F9E02214C420FA00E1BC69 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00A14C4202100E1BC69 /* QuartzCore.framework */; }; 34F9E02314C4210100E1BC69 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00214C41FB400E1BC69 /* OpenGLES.framework */; }; - 34F9E02414C4211000E1BC69 /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00414C41FCF00E1BC69 /* libsrtp.a */; }; - 34F9E02514C4211000E1BC69 /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00514C41FCF00E1BC69 /* libvpx.a */; }; 34F9E02614C4212F00E1BC69 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00214C41FB400E1BC69 /* OpenGLES.framework */; }; 34F9E02714C4212F00E1BC69 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00A14C4202100E1BC69 /* QuartzCore.framework */; }; - 34F9E02914C4214500E1BC69 /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEC14C41EBA00E1BC69 /* libgsm.a */; }; - 34F9E02A14C4214500E1BC69 /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFEE14C41EBA00E1BC69 /* liblinphone.a */; }; - 34F9E02C14C4214500E1BC69 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF014C41EBA00E1BC69 /* libortp.a */; }; - 34F9E02F14C4214500E1BC69 /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF314C41EBA00E1BC69 /* libspeex.a */; }; - 34F9E03014C4214500E1BC69 /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9DFF414C41EBA00E1BC69 /* libspeexdsp.a */; }; - 34F9E03114C4214500E1BC69 /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00414C41FCF00E1BC69 /* libsrtp.a */; }; - 34F9E03214C4214500E1BC69 /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00514C41FCF00E1BC69 /* libvpx.a */; }; 34F9E03414C4247A00E1BC69 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03314C4247A00E1BC69 /* AVFoundation.framework */; }; 34F9E03514C4249600E1BC69 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00814C41FE900E1BC69 /* CoreVideo.framework */; }; 34F9E03714C424AF00E1BC69 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03614C424AF00E1BC69 /* CoreMedia.framework */; }; @@ -108,49 +43,163 @@ 34F9E03B14C4251B00E1BC69 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03314C4247A00E1BC69 /* AVFoundation.framework */; }; 34F9E03C14C4251B00E1BC69 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03614C424AF00E1BC69 /* CoreMedia.framework */; }; 34F9E03D14C4251B00E1BC69 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00814C41FE900E1BC69 /* CoreVideo.framework */; }; - 34F9E03E14C4252600E1BC69 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03314C4247A00E1BC69 /* AVFoundation.framework */; }; - 34F9E03F14C4253300E1BC69 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03614C424AF00E1BC69 /* CoreMedia.framework */; }; - 34F9E04014C4253300E1BC69 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00814C41FE900E1BC69 /* CoreVideo.framework */; }; - F079D95D199A6864009C58AA /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D95C199A6864009C58AA /* libbellesip.a */; }; - F079D95E199A6864009C58AA /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D95C199A6864009C58AA /* libbellesip.a */; }; - F079D95F199A6864009C58AA /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D95C199A6864009C58AA /* libbellesip.a */; }; - F079D960199A6864009C58AA /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D95C199A6864009C58AA /* libbellesip.a */; }; - F079D962199A6871009C58AA /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D961199A6871009C58AA /* libantlr3c.a */; }; - F079D963199A6871009C58AA /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D961199A6871009C58AA /* libantlr3c.a */; }; - F079D964199A6871009C58AA /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D961199A6871009C58AA /* libantlr3c.a */; }; - F079D965199A6871009C58AA /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D961199A6871009C58AA /* libantlr3c.a */; }; - F079D968199A68A5009C58AA /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D966199A68A5009C58AA /* libpolarssl.a */; }; - F079D969199A68A5009C58AA /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D966199A68A5009C58AA /* libpolarssl.a */; }; - F079D96A199A68A5009C58AA /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D966199A68A5009C58AA /* libpolarssl.a */; }; - F079D96B199A68A5009C58AA /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D966199A68A5009C58AA /* libpolarssl.a */; }; - F079D96C199A68A5009C58AA /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D967199A68A5009C58AA /* libxml2.a */; }; - F079D96D199A68A5009C58AA /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D967199A68A5009C58AA /* libxml2.a */; }; - F079D96E199A68A5009C58AA /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D967199A68A5009C58AA /* libxml2.a */; }; - F079D96F199A68A5009C58AA /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D967199A68A5009C58AA /* libxml2.a */; }; - F079D972199A68BA009C58AA /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D970199A68BA009C58AA /* libbzrtp.a */; }; - F079D973199A68BA009C58AA /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D970199A68BA009C58AA /* libbzrtp.a */; }; - F079D974199A68BA009C58AA /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D970199A68BA009C58AA /* libbzrtp.a */; }; - F079D975199A68BA009C58AA /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D970199A68BA009C58AA /* libbzrtp.a */; }; - F079D976199A68BA009C58AA /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D971199A68BA009C58AA /* libopus.a */; }; - F079D977199A68BA009C58AA /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D971199A68BA009C58AA /* libopus.a */; }; - F079D978199A68BA009C58AA /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D971199A68BA009C58AA /* libopus.a */; }; - F079D979199A68BA009C58AA /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D971199A68BA009C58AA /* libopus.a */; }; + 63D5C1001BA6E3EB002D1ABF /* helloworld.c in Sources */ = {isa = PBXBuildFile; fileRef = 63D5C0FC1BA6E3EB002D1ABF /* helloworld.c */; }; + 63D5C1021BA6E3F7002D1ABF /* registration.c in Sources */ = {isa = PBXBuildFile; fileRef = 63D5C0FD1BA6E3EB002D1ABF /* registration.c */; }; + 63D5C1031BA6E3FA002D1ABF /* chatroom.c in Sources */ = {isa = PBXBuildFile; fileRef = 63D5C0FB1BA6E3EB002D1ABF /* chatroom.c */; }; + 63D5C1041BA6E3FE002D1ABF /* buddy_status.c in Sources */ = {isa = PBXBuildFile; fileRef = 63D5C0FA1BA6E3EB002D1ABF /* buddy_status.c */; }; + 63D5C12C1BA6E504002D1ABF /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1081BA6E4F0002D1ABF /* libantlr3c.a */; }; + 63D5C12D1BA6E504002D1ABF /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1091BA6E4F0002D1ABF /* libavcodec.a */; }; + 63D5C12E1BA6E504002D1ABF /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10A1BA6E4F0002D1ABF /* libavutil.a */; }; + 63D5C12F1BA6E504002D1ABF /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10B1BA6E4F0002D1ABF /* libbellesip.a */; }; + 63D5C1301BA6E504002D1ABF /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10C1BA6E4F0002D1ABF /* libbzrtp.a */; }; + 63D5C1311BA6E504002D1ABF /* libcunit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10D1BA6E4F0002D1ABF /* libcunit.a */; }; + 63D5C1321BA6E504002D1ABF /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10E1BA6E4F0002D1ABF /* libgsm.a */; }; + 63D5C1331BA6E504002D1ABF /* libilbcrfc3951.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10F1BA6E4F0002D1ABF /* libilbcrfc3951.a */; }; + 63D5C1341BA6E504002D1ABF /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1101BA6E4F0002D1ABF /* liblinphone.a */; }; + 63D5C1351BA6E504002D1ABF /* liblinphonetester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1111BA6E4F0002D1ABF /* liblinphonetester.a */; }; + 63D5C1361BA6E504002D1ABF /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1121BA6E4F0002D1ABF /* libmediastreamer_base.a */; }; + 63D5C1371BA6E504002D1ABF /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1131BA6E4F0002D1ABF /* libmediastreamer_voip.a */; }; + 63D5C1381BA6E504002D1ABF /* libopencore-amrnb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1141BA6E4F0002D1ABF /* libopencore-amrnb.a */; }; + 63D5C1391BA6E504002D1ABF /* libopencore-amrwb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1151BA6E4F0002D1ABF /* libopencore-amrwb.a */; }; + 63D5C13A1BA6E504002D1ABF /* libopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1161BA6E4F0002D1ABF /* libopenh264.a */; }; + 63D5C13B1BA6E504002D1ABF /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1171BA6E4F0002D1ABF /* libopus.a */; }; + 63D5C13C1BA6E504002D1ABF /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1181BA6E4F0002D1ABF /* libortp.a */; }; + 63D5C13D1BA6E504002D1ABF /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */; }; + 63D5C13E1BA6E504002D1ABF /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */; }; + 63D5C13F1BA6E504002D1ABF /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */; }; + 63D5C1401BA6E504002D1ABF /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */; }; + 63D5C1411BA6E504002D1ABF /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */; }; + 63D5C1421BA6E504002D1ABF /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11E1BA6E4F0002D1ABF /* libswresample.a */; }; + 63D5C1431BA6E504002D1ABF /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11F1BA6E4F0002D1ABF /* libswscale.a */; }; + 63D5C1441BA6E504002D1ABF /* libtunnel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1201BA6E4F0002D1ABF /* libtunnel.a */; }; + 63D5C1451BA6E504002D1ABF /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1211BA6E4F0002D1ABF /* libvpx.a */; }; + 63D5C1461BA6E504002D1ABF /* libx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1221BA6E4F0002D1ABF /* libx264.a */; }; + 63D5C1471BA6E516002D1ABF /* libmsamr.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1251BA6E4F0002D1ABF /* libmsamr.a */; }; + 63D5C1481BA6E516002D1ABF /* libmsbcg729.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1261BA6E4F0002D1ABF /* libmsbcg729.a */; }; + 63D5C1491BA6E516002D1ABF /* libmsilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1271BA6E4F0002D1ABF /* libmsilbc.a */; }; + 63D5C14A1BA6E516002D1ABF /* libmsopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1281BA6E4F0002D1ABF /* libmsopenh264.a */; }; + 63D5C14B1BA6E516002D1ABF /* libmssilk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1291BA6E4F0002D1ABF /* libmssilk.a */; }; + 63D5C14C1BA6E516002D1ABF /* libmswebrtc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C12A1BA6E4F0002D1ABF /* libmswebrtc.a */; }; + 63D5C14D1BA6E516002D1ABF /* libmsx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C12B1BA6E4F0002D1ABF /* libmsx264.a */; }; + 63D5C14F1BA6E6D1002D1ABF /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C14E1BA6E6D1002D1ABF /* libz.dylib */; }; + 63D5C1511BA6E6E9002D1ABF /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1501BA6E6E9002D1ABF /* libiconv.dylib */; }; + 63D5C1531BA6E6F0002D1ABF /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1521BA6E6F0002D1ABF /* libxml2.dylib */; }; + 63D5C1571BA6E765002D1ABF /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1081BA6E4F0002D1ABF /* libantlr3c.a */; }; + 63D5C1581BA6E765002D1ABF /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1091BA6E4F0002D1ABF /* libavcodec.a */; }; + 63D5C1591BA6E765002D1ABF /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10A1BA6E4F0002D1ABF /* libavutil.a */; }; + 63D5C15A1BA6E765002D1ABF /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10B1BA6E4F0002D1ABF /* libbellesip.a */; }; + 63D5C15B1BA6E765002D1ABF /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10C1BA6E4F0002D1ABF /* libbzrtp.a */; }; + 63D5C15C1BA6E765002D1ABF /* libcunit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10D1BA6E4F0002D1ABF /* libcunit.a */; }; + 63D5C15D1BA6E765002D1ABF /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10E1BA6E4F0002D1ABF /* libgsm.a */; }; + 63D5C15E1BA6E765002D1ABF /* libilbcrfc3951.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10F1BA6E4F0002D1ABF /* libilbcrfc3951.a */; }; + 63D5C15F1BA6E765002D1ABF /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1101BA6E4F0002D1ABF /* liblinphone.a */; }; + 63D5C1601BA6E765002D1ABF /* liblinphonetester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1111BA6E4F0002D1ABF /* liblinphonetester.a */; }; + 63D5C1611BA6E765002D1ABF /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1121BA6E4F0002D1ABF /* libmediastreamer_base.a */; }; + 63D5C1621BA6E765002D1ABF /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1131BA6E4F0002D1ABF /* libmediastreamer_voip.a */; }; + 63D5C1631BA6E765002D1ABF /* libopencore-amrnb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1141BA6E4F0002D1ABF /* libopencore-amrnb.a */; }; + 63D5C1641BA6E765002D1ABF /* libopencore-amrwb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1151BA6E4F0002D1ABF /* libopencore-amrwb.a */; }; + 63D5C1651BA6E765002D1ABF /* libopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1161BA6E4F0002D1ABF /* libopenh264.a */; }; + 63D5C1661BA6E765002D1ABF /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1171BA6E4F0002D1ABF /* libopus.a */; }; + 63D5C1671BA6E765002D1ABF /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1181BA6E4F0002D1ABF /* libortp.a */; }; + 63D5C1681BA6E765002D1ABF /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */; }; + 63D5C1691BA6E765002D1ABF /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */; }; + 63D5C16A1BA6E765002D1ABF /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */; }; + 63D5C16B1BA6E765002D1ABF /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */; }; + 63D5C16C1BA6E765002D1ABF /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */; }; + 63D5C16D1BA6E765002D1ABF /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11E1BA6E4F0002D1ABF /* libswresample.a */; }; + 63D5C16E1BA6E765002D1ABF /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11F1BA6E4F0002D1ABF /* libswscale.a */; }; + 63D5C16F1BA6E765002D1ABF /* libtunnel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1201BA6E4F0002D1ABF /* libtunnel.a */; }; + 63D5C1701BA6E765002D1ABF /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1211BA6E4F0002D1ABF /* libvpx.a */; }; + 63D5C1711BA6E765002D1ABF /* libx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1221BA6E4F0002D1ABF /* libx264.a */; }; + 63D5C1721BA6E778002D1ABF /* libmsamr.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1251BA6E4F0002D1ABF /* libmsamr.a */; }; + 63D5C1731BA6E778002D1ABF /* libmsbcg729.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1261BA6E4F0002D1ABF /* libmsbcg729.a */; }; + 63D5C1741BA6E778002D1ABF /* libmsilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1271BA6E4F0002D1ABF /* libmsilbc.a */; }; + 63D5C1751BA6E778002D1ABF /* libmsopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1281BA6E4F0002D1ABF /* libmsopenh264.a */; }; + 63D5C1761BA6E778002D1ABF /* libmssilk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1291BA6E4F0002D1ABF /* libmssilk.a */; }; + 63D5C1771BA6E778002D1ABF /* libmswebrtc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C12A1BA6E4F0002D1ABF /* libmswebrtc.a */; }; + 63D5C1781BA6E778002D1ABF /* libmsx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C12B1BA6E4F0002D1ABF /* libmsx264.a */; }; + 63D5C17A1BA6E8BD002D1ABF /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D97A199A6905009C58AA /* libsqlite3.dylib */; }; + 63D5C17B1BA6E8C2002D1ABF /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C14E1BA6E6D1002D1ABF /* libz.dylib */; }; + 63D5C17C1BA6E8C6002D1ABF /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 22D1B6A012A3E159001AE361 /* libresolv.dylib */; }; + 63D5C17D1BA6E8CC002D1ABF /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1521BA6E6F0002D1ABF /* libxml2.dylib */; }; + 63D5C17E1BA6E8D1002D1ABF /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1501BA6E6E9002D1ABF /* libiconv.dylib */; }; + 63D5C17F1BA6E8D6002D1ABF /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5E912784672008F2C2E /* AudioToolbox.framework */; }; + 63D5C1801BA6E8DE002D1ABF /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03314C4247A00E1BC69 /* AVFoundation.framework */; }; + 63D5C1811BA6E8E3002D1ABF /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5D71278461C008F2C2E /* CFNetwork.framework */; }; + 63D5C1821BA6E8E8002D1ABF /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2220D5D91278461C008F2C2E /* CoreAudio.framework */; }; + 63D5C1831BA6E8EE002D1ABF /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; + 63D5C1841BA6E8F5002D1ABF /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E03614C424AF00E1BC69 /* CoreMedia.framework */; }; + 63D5C1851BA6E8FA002D1ABF /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00814C41FE900E1BC69 /* CoreVideo.framework */; }; + 63D5C1861BA6E8FD002D1ABF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; + 63D5C1871BA6E902002D1ABF /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; + 63D5C1881BA6E907002D1ABF /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00214C41FB400E1BC69 /* OpenGLES.framework */; }; + 63D5C1891BA6E90D002D1ABF /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F9E00A14C4202100E1BC69 /* QuartzCore.framework */; }; + 63D5C18A1BA6E92A002D1ABF /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1081BA6E4F0002D1ABF /* libantlr3c.a */; }; + 63D5C18B1BA6E92A002D1ABF /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1091BA6E4F0002D1ABF /* libavcodec.a */; }; + 63D5C18C1BA6E92A002D1ABF /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10A1BA6E4F0002D1ABF /* libavutil.a */; }; + 63D5C18D1BA6E92A002D1ABF /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10B1BA6E4F0002D1ABF /* libbellesip.a */; }; + 63D5C18E1BA6E92A002D1ABF /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10C1BA6E4F0002D1ABF /* libbzrtp.a */; }; + 63D5C18F1BA6E92A002D1ABF /* libcunit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10D1BA6E4F0002D1ABF /* libcunit.a */; }; + 63D5C1901BA6E92A002D1ABF /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10E1BA6E4F0002D1ABF /* libgsm.a */; }; + 63D5C1911BA6E92A002D1ABF /* libilbcrfc3951.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10F1BA6E4F0002D1ABF /* libilbcrfc3951.a */; }; + 63D5C1921BA6E92A002D1ABF /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1101BA6E4F0002D1ABF /* liblinphone.a */; }; + 63D5C1931BA6E92A002D1ABF /* liblinphonetester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1111BA6E4F0002D1ABF /* liblinphonetester.a */; }; + 63D5C1941BA6E92A002D1ABF /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1121BA6E4F0002D1ABF /* libmediastreamer_base.a */; }; + 63D5C1951BA6E92A002D1ABF /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1131BA6E4F0002D1ABF /* libmediastreamer_voip.a */; }; + 63D5C1961BA6E92A002D1ABF /* libopencore-amrnb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1141BA6E4F0002D1ABF /* libopencore-amrnb.a */; }; + 63D5C1971BA6E92A002D1ABF /* libopencore-amrwb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1151BA6E4F0002D1ABF /* libopencore-amrwb.a */; }; + 63D5C1981BA6E92A002D1ABF /* libopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1161BA6E4F0002D1ABF /* libopenh264.a */; }; + 63D5C1991BA6E92A002D1ABF /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1171BA6E4F0002D1ABF /* libopus.a */; }; + 63D5C19A1BA6E92A002D1ABF /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1181BA6E4F0002D1ABF /* libortp.a */; }; + 63D5C19B1BA6E92A002D1ABF /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */; }; + 63D5C19C1BA6E92A002D1ABF /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */; }; + 63D5C19D1BA6E92A002D1ABF /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */; }; + 63D5C19E1BA6E92A002D1ABF /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */; }; + 63D5C19F1BA6E92A002D1ABF /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */; }; + 63D5C1A01BA6E92A002D1ABF /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11E1BA6E4F0002D1ABF /* libswresample.a */; }; + 63D5C1A11BA6E92B002D1ABF /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11F1BA6E4F0002D1ABF /* libswscale.a */; }; + 63D5C1A21BA6E92B002D1ABF /* libtunnel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1201BA6E4F0002D1ABF /* libtunnel.a */; }; + 63D5C1A31BA6E92B002D1ABF /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1211BA6E4F0002D1ABF /* libvpx.a */; }; + 63D5C1A41BA6E92B002D1ABF /* libx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1221BA6E4F0002D1ABF /* libx264.a */; }; + 63D5C1A51BA6E937002D1ABF /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1501BA6E6E9002D1ABF /* libiconv.dylib */; }; + 63D5C1A61BA6E93D002D1ABF /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1521BA6E6F0002D1ABF /* libxml2.dylib */; }; + 63D5C1A71BA6E943002D1ABF /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C14E1BA6E6D1002D1ABF /* libz.dylib */; }; + 63D5C1A81BA6E95C002D1ABF /* libantlr3c.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1081BA6E4F0002D1ABF /* libantlr3c.a */; }; + 63D5C1A91BA6E95C002D1ABF /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1091BA6E4F0002D1ABF /* libavcodec.a */; }; + 63D5C1AA1BA6E95C002D1ABF /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10A1BA6E4F0002D1ABF /* libavutil.a */; }; + 63D5C1AB1BA6E95C002D1ABF /* libbellesip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10B1BA6E4F0002D1ABF /* libbellesip.a */; }; + 63D5C1AC1BA6E95C002D1ABF /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10C1BA6E4F0002D1ABF /* libbzrtp.a */; }; + 63D5C1AD1BA6E95C002D1ABF /* libcunit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10D1BA6E4F0002D1ABF /* libcunit.a */; }; + 63D5C1AE1BA6E95C002D1ABF /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10E1BA6E4F0002D1ABF /* libgsm.a */; }; + 63D5C1AF1BA6E95C002D1ABF /* libilbcrfc3951.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C10F1BA6E4F0002D1ABF /* libilbcrfc3951.a */; }; + 63D5C1B01BA6E95C002D1ABF /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1101BA6E4F0002D1ABF /* liblinphone.a */; }; + 63D5C1B11BA6E95C002D1ABF /* liblinphonetester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1111BA6E4F0002D1ABF /* liblinphonetester.a */; }; + 63D5C1B21BA6E95C002D1ABF /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1121BA6E4F0002D1ABF /* libmediastreamer_base.a */; }; + 63D5C1B31BA6E95C002D1ABF /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1131BA6E4F0002D1ABF /* libmediastreamer_voip.a */; }; + 63D5C1B41BA6E95C002D1ABF /* libopencore-amrnb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1141BA6E4F0002D1ABF /* libopencore-amrnb.a */; }; + 63D5C1B51BA6E95C002D1ABF /* libopencore-amrwb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1151BA6E4F0002D1ABF /* libopencore-amrwb.a */; }; + 63D5C1B61BA6E95C002D1ABF /* libopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1161BA6E4F0002D1ABF /* libopenh264.a */; }; + 63D5C1B71BA6E95C002D1ABF /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1171BA6E4F0002D1ABF /* libopus.a */; }; + 63D5C1B81BA6E95C002D1ABF /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1181BA6E4F0002D1ABF /* libortp.a */; }; + 63D5C1B91BA6E95C002D1ABF /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */; }; + 63D5C1BA1BA6E95C002D1ABF /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */; }; + 63D5C1BB1BA6E95C002D1ABF /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */; }; + 63D5C1BC1BA6E95C002D1ABF /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */; }; + 63D5C1BD1BA6E95C002D1ABF /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */; }; + 63D5C1BE1BA6E95C002D1ABF /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11E1BA6E4F0002D1ABF /* libswresample.a */; }; + 63D5C1BF1BA6E95C002D1ABF /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11F1BA6E4F0002D1ABF /* libswscale.a */; }; + 63D5C1C01BA6E95C002D1ABF /* libtunnel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1201BA6E4F0002D1ABF /* libtunnel.a */; }; + 63D5C1C11BA6E95C002D1ABF /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1211BA6E4F0002D1ABF /* libvpx.a */; }; + 63D5C1C21BA6E95C002D1ABF /* libx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1221BA6E4F0002D1ABF /* libx264.a */; }; + 63D5C1C31BA6E963002D1ABF /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C14E1BA6E6D1002D1ABF /* libz.dylib */; }; + 63D5C1C41BA6E969002D1ABF /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1501BA6E6E9002D1ABF /* libiconv.dylib */; }; + 63D5C1C51BA6E96D002D1ABF /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1521BA6E6F0002D1ABF /* libxml2.dylib */; }; F079D97B199A6905009C58AA /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D97A199A6905009C58AA /* libsqlite3.dylib */; }; - F079D97C199A690C009C58AA /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D97A199A6905009C58AA /* libsqlite3.dylib */; }; F079D97D199A6913009C58AA /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D97A199A6905009C58AA /* libsqlite3.dylib */; }; F079D97E199A6919009C58AA /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F079D97A199A6905009C58AA /* libsqlite3.dylib */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 154E1A931715638900A0D168 /* libmediastreamer_base.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmediastreamer_base.a; path = "../../liblinphone-sdk/apple-darwin/lib/libmediastreamer_base.a"; sourceTree = ""; }; - 154E1A951715639A00A0D168 /* libmediastreamer_voip.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmediastreamer_voip.a; path = "../../liblinphone-sdk/apple-darwin/lib/libmediastreamer_voip.a"; sourceTree = ""; }; - 154E1A971715642E00A0D168 /* libavutil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavutil.a; path = "../../liblinphone-sdk/apple-darwin/lib/libavutil.a"; sourceTree = ""; }; - 154E1A991715644400A0D168 /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavcodec.a; path = "../../liblinphone-sdk/apple-darwin/lib/libavcodec.a"; sourceTree = ""; }; - 154E1A9B1715645F00A0D168 /* libswscale.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libswscale.a; path = "../../liblinphone-sdk/apple-darwin/lib/libswscale.a"; sourceTree = ""; }; - 15FC167E17157478003FDB31 /* buddy_status.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = buddy_status.c; path = "../../liblinphone-sdk/apple-darwin/share/linphone/tutorials/buddy_status.c"; sourceTree = ""; }; - 15FC167F17157478003FDB31 /* chatroom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = chatroom.c; path = "../../liblinphone-sdk/apple-darwin/share/linphone/tutorials/chatroom.c"; sourceTree = ""; }; - 15FC168017157478003FDB31 /* helloworld.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = helloworld.c; path = "../../liblinphone-sdk/apple-darwin/share/linphone/tutorials/helloworld.c"; sourceTree = ""; }; - 15FC168117157478003FDB31 /* registration.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = registration.c; path = "../../liblinphone-sdk/apple-darwin/share/linphone/tutorials/registration.c"; sourceTree = ""; }; 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 1D6058910D05DD3D006BFB54 /* hello-world.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "hello-world.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; @@ -164,26 +213,54 @@ 22D1B6A012A3E159001AE361 /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = usr/lib/libresolv.dylib; sourceTree = SDKROOT; }; 288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 32CA4F630368D1EE00C91783 /* hello_world_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hello_world_Prefix.pch; sourceTree = ""; }; - 34F9DFEC14C41EBA00E1BC69 /* libgsm.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgsm.a; path = "../../liblinphone-sdk/apple-darwin/lib/libgsm.a"; sourceTree = ""; }; - 34F9DFED14C41EBA00E1BC69 /* libilbc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libilbc.a; path = "../../liblinphone-sdk/apple-darwin/lib/libilbc.a"; sourceTree = ""; }; - 34F9DFEE14C41EBA00E1BC69 /* liblinphone.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblinphone.a; path = "../../liblinphone-sdk/apple-darwin/lib/liblinphone.a"; sourceTree = ""; }; - 34F9DFF014C41EBA00E1BC69 /* libortp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libortp.a; path = "../../liblinphone-sdk/apple-darwin/lib/libortp.a"; sourceTree = ""; }; - 34F9DFF314C41EBA00E1BC69 /* libspeex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeex.a; path = "../../liblinphone-sdk/apple-darwin/lib/libspeex.a"; sourceTree = ""; }; - 34F9DFF414C41EBA00E1BC69 /* libspeexdsp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeexdsp.a; path = "../../liblinphone-sdk/apple-darwin/lib/libspeexdsp.a"; sourceTree = ""; }; 34F9E00214C41FB400E1BC69 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; - 34F9E00414C41FCF00E1BC69 /* libsrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsrtp.a; path = "../../liblinphone-sdk/apple-darwin/lib/libsrtp.a"; sourceTree = ""; }; - 34F9E00514C41FCF00E1BC69 /* libvpx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvpx.a; path = "../../liblinphone-sdk/apple-darwin/lib/libvpx.a"; sourceTree = ""; }; 34F9E00814C41FE900E1BC69 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; 34F9E00A14C4202100E1BC69 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 34F9E03314C4247A00E1BC69 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; 34F9E03614C424AF00E1BC69 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; + 63D5C0FA1BA6E3EB002D1ABF /* buddy_status.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = buddy_status.c; path = ../submodules/linphone/coreapi/help/buddy_status.c; sourceTree = ""; }; + 63D5C0FB1BA6E3EB002D1ABF /* chatroom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = chatroom.c; path = ../submodules/linphone/coreapi/help/chatroom.c; sourceTree = ""; }; + 63D5C0FC1BA6E3EB002D1ABF /* helloworld.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = helloworld.c; path = ../submodules/linphone/coreapi/help/helloworld.c; sourceTree = ""; }; + 63D5C0FD1BA6E3EB002D1ABF /* registration.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = registration.c; path = ../submodules/linphone/coreapi/help/registration.c; sourceTree = ""; }; + 63D5C1081BA6E4F0002D1ABF /* libantlr3c.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libantlr3c.a; path = "../liblinphone-sdk/apple-darwin/lib/libantlr3c.a"; sourceTree = ""; }; + 63D5C1091BA6E4F0002D1ABF /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavcodec.a; path = "../liblinphone-sdk/apple-darwin/lib/libavcodec.a"; sourceTree = ""; }; + 63D5C10A1BA6E4F0002D1ABF /* libavutil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavutil.a; path = "../liblinphone-sdk/apple-darwin/lib/libavutil.a"; sourceTree = ""; }; + 63D5C10B1BA6E4F0002D1ABF /* libbellesip.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbellesip.a; path = "../liblinphone-sdk/apple-darwin/lib/libbellesip.a"; sourceTree = ""; }; + 63D5C10C1BA6E4F0002D1ABF /* libbzrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbzrtp.a; path = "../liblinphone-sdk/apple-darwin/lib/libbzrtp.a"; sourceTree = ""; }; + 63D5C10D1BA6E4F0002D1ABF /* libcunit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcunit.a; path = "../liblinphone-sdk/apple-darwin/lib/libcunit.a"; sourceTree = ""; }; + 63D5C10E1BA6E4F0002D1ABF /* libgsm.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgsm.a; path = "../liblinphone-sdk/apple-darwin/lib/libgsm.a"; sourceTree = ""; }; + 63D5C10F1BA6E4F0002D1ABF /* libilbcrfc3951.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libilbcrfc3951.a; path = "../liblinphone-sdk/apple-darwin/lib/libilbcrfc3951.a"; sourceTree = ""; }; + 63D5C1101BA6E4F0002D1ABF /* liblinphone.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblinphone.a; path = "../liblinphone-sdk/apple-darwin/lib/liblinphone.a"; sourceTree = ""; }; + 63D5C1111BA6E4F0002D1ABF /* liblinphonetester.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblinphonetester.a; path = "../liblinphone-sdk/apple-darwin/lib/liblinphonetester.a"; sourceTree = ""; }; + 63D5C1121BA6E4F0002D1ABF /* libmediastreamer_base.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmediastreamer_base.a; path = "../liblinphone-sdk/apple-darwin/lib/libmediastreamer_base.a"; sourceTree = ""; }; + 63D5C1131BA6E4F0002D1ABF /* libmediastreamer_voip.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmediastreamer_voip.a; path = "../liblinphone-sdk/apple-darwin/lib/libmediastreamer_voip.a"; sourceTree = ""; }; + 63D5C1141BA6E4F0002D1ABF /* libopencore-amrnb.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libopencore-amrnb.a"; path = "../liblinphone-sdk/apple-darwin/lib/libopencore-amrnb.a"; sourceTree = ""; }; + 63D5C1151BA6E4F0002D1ABF /* libopencore-amrwb.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libopencore-amrwb.a"; path = "../liblinphone-sdk/apple-darwin/lib/libopencore-amrwb.a"; sourceTree = ""; }; + 63D5C1161BA6E4F0002D1ABF /* libopenh264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopenh264.a; path = "../liblinphone-sdk/apple-darwin/lib/libopenh264.a"; sourceTree = ""; }; + 63D5C1171BA6E4F0002D1ABF /* libopus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopus.a; path = "../liblinphone-sdk/apple-darwin/lib/libopus.a"; sourceTree = ""; }; + 63D5C1181BA6E4F0002D1ABF /* libortp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libortp.a; path = "../liblinphone-sdk/apple-darwin/lib/libortp.a"; sourceTree = ""; }; + 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpolarssl.a; path = "../liblinphone-sdk/apple-darwin/lib/libpolarssl.a"; sourceTree = ""; }; + 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSKP_SILK_SDK.a; path = "../liblinphone-sdk/apple-darwin/lib/libSKP_SILK_SDK.a"; sourceTree = ""; }; + 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeex.a; path = "../liblinphone-sdk/apple-darwin/lib/libspeex.a"; sourceTree = ""; }; + 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeexdsp.a; path = "../liblinphone-sdk/apple-darwin/lib/libspeexdsp.a"; sourceTree = ""; }; + 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsrtp.a; path = "../liblinphone-sdk/apple-darwin/lib/libsrtp.a"; sourceTree = ""; }; + 63D5C11E1BA6E4F0002D1ABF /* libswresample.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libswresample.a; path = "../liblinphone-sdk/apple-darwin/lib/libswresample.a"; sourceTree = ""; }; + 63D5C11F1BA6E4F0002D1ABF /* libswscale.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libswscale.a; path = "../liblinphone-sdk/apple-darwin/lib/libswscale.a"; sourceTree = ""; }; + 63D5C1201BA6E4F0002D1ABF /* libtunnel.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libtunnel.a; path = "../liblinphone-sdk/apple-darwin/lib/libtunnel.a"; sourceTree = ""; }; + 63D5C1211BA6E4F0002D1ABF /* libvpx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvpx.a; path = "../liblinphone-sdk/apple-darwin/lib/libvpx.a"; sourceTree = ""; }; + 63D5C1221BA6E4F0002D1ABF /* libx264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libx264.a; path = "../liblinphone-sdk/apple-darwin/lib/libx264.a"; sourceTree = ""; }; + 63D5C1251BA6E4F0002D1ABF /* libmsamr.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libmsamr.a; sourceTree = ""; }; + 63D5C1261BA6E4F0002D1ABF /* libmsbcg729.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libmsbcg729.a; sourceTree = ""; }; + 63D5C1271BA6E4F0002D1ABF /* libmsilbc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libmsilbc.a; sourceTree = ""; }; + 63D5C1281BA6E4F0002D1ABF /* libmsopenh264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libmsopenh264.a; sourceTree = ""; }; + 63D5C1291BA6E4F0002D1ABF /* libmssilk.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libmssilk.a; sourceTree = ""; }; + 63D5C12A1BA6E4F0002D1ABF /* libmswebrtc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libmswebrtc.a; sourceTree = ""; }; + 63D5C12B1BA6E4F0002D1ABF /* libmsx264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libmsx264.a; sourceTree = ""; }; + 63D5C14E1BA6E6D1002D1ABF /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; + 63D5C1501BA6E6E9002D1ABF /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; }; + 63D5C1521BA6E6F0002D1ABF /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; }; + 63D5C1541BA6E734002D1ABF /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; 8D1107310486CEB800E47090 /* helloworld-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "helloworld-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; - F079D95C199A6864009C58AA /* libbellesip.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbellesip.a; path = "../../liblinphone-sdk/apple-darwin/lib/libbellesip.a"; sourceTree = ""; }; - F079D961199A6871009C58AA /* libantlr3c.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libantlr3c.a; path = "../../liblinphone-sdk/apple-darwin/lib/libantlr3c.a"; sourceTree = ""; }; - F079D966199A68A5009C58AA /* libpolarssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpolarssl.a; path = "../../liblinphone-sdk/apple-darwin/lib/libpolarssl.a"; sourceTree = ""; }; - F079D967199A68A5009C58AA /* libxml2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libxml2.a; path = "../../liblinphone-sdk/apple-darwin/lib/libxml2.a"; sourceTree = ""; }; - F079D970199A68BA009C58AA /* libbzrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbzrtp.a; path = "../../liblinphone-sdk/apple-darwin/lib/libbzrtp.a"; sourceTree = ""; }; - F079D971199A68BA009C58AA /* libopus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopus.a; path = "../../liblinphone-sdk/apple-darwin/lib/libopus.a"; sourceTree = ""; }; F079D97A199A6905009C58AA /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; }; /* End PBXFileReference section */ @@ -192,38 +269,56 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63D5C1471BA6E516002D1ABF /* libmsamr.a in Frameworks */, + 63D5C1481BA6E516002D1ABF /* libmsbcg729.a in Frameworks */, + 63D5C1491BA6E516002D1ABF /* libmsilbc.a in Frameworks */, + 63D5C14A1BA6E516002D1ABF /* libmsopenh264.a in Frameworks */, + 63D5C14B1BA6E516002D1ABF /* libmssilk.a in Frameworks */, + 63D5C14C1BA6E516002D1ABF /* libmswebrtc.a in Frameworks */, + 63D5C14D1BA6E516002D1ABF /* libmsx264.a in Frameworks */, + 63D5C12C1BA6E504002D1ABF /* libantlr3c.a in Frameworks */, + 63D5C12D1BA6E504002D1ABF /* libavcodec.a in Frameworks */, + 63D5C12E1BA6E504002D1ABF /* libavutil.a in Frameworks */, + 63D5C12F1BA6E504002D1ABF /* libbellesip.a in Frameworks */, + 63D5C1301BA6E504002D1ABF /* libbzrtp.a in Frameworks */, + 63D5C1311BA6E504002D1ABF /* libcunit.a in Frameworks */, + 63D5C1321BA6E504002D1ABF /* libgsm.a in Frameworks */, + 63D5C1331BA6E504002D1ABF /* libilbcrfc3951.a in Frameworks */, + 63D5C1341BA6E504002D1ABF /* liblinphone.a in Frameworks */, + 63D5C1351BA6E504002D1ABF /* liblinphonetester.a in Frameworks */, + 63D5C1361BA6E504002D1ABF /* libmediastreamer_base.a in Frameworks */, + 63D5C1371BA6E504002D1ABF /* libmediastreamer_voip.a in Frameworks */, + 63D5C1381BA6E504002D1ABF /* libopencore-amrnb.a in Frameworks */, + 63D5C1391BA6E504002D1ABF /* libopencore-amrwb.a in Frameworks */, + 63D5C13A1BA6E504002D1ABF /* libopenh264.a in Frameworks */, + 63D5C13B1BA6E504002D1ABF /* libopus.a in Frameworks */, + 63D5C13C1BA6E504002D1ABF /* libortp.a in Frameworks */, + 63D5C13D1BA6E504002D1ABF /* libpolarssl.a in Frameworks */, + 63D5C13E1BA6E504002D1ABF /* libSKP_SILK_SDK.a in Frameworks */, + 63D5C13F1BA6E504002D1ABF /* libspeex.a in Frameworks */, + 63D5C1401BA6E504002D1ABF /* libspeexdsp.a in Frameworks */, + 63D5C1411BA6E504002D1ABF /* libsrtp.a in Frameworks */, + 63D5C1421BA6E504002D1ABF /* libswresample.a in Frameworks */, + 63D5C1431BA6E504002D1ABF /* libswscale.a in Frameworks */, + 63D5C1441BA6E504002D1ABF /* libtunnel.a in Frameworks */, + 63D5C1451BA6E504002D1ABF /* libvpx.a in Frameworks */, + 63D5C1461BA6E504002D1ABF /* libx264.a in Frameworks */, F079D97B199A6905009C58AA /* libsqlite3.dylib in Frameworks */, - 154E1A9C1715645F00A0D168 /* libswscale.a in Frameworks */, - F079D96C199A68A5009C58AA /* libxml2.a in Frameworks */, - 154E1A9A1715644400A0D168 /* libavcodec.a in Frameworks */, - 154E1A981715642E00A0D168 /* libavutil.a in Frameworks */, - F079D968199A68A5009C58AA /* libpolarssl.a in Frameworks */, - F079D95D199A6864009C58AA /* libbellesip.a in Frameworks */, - F079D972199A68BA009C58AA /* libbzrtp.a in Frameworks */, - 34F9E03714C424AF00E1BC69 /* CoreMedia.framework in Frameworks */, - 34F9E03514C4249600E1BC69 /* CoreVideo.framework in Frameworks */, + 63D5C14F1BA6E6D1002D1ABF /* libz.dylib in Frameworks */, + 22D1B6A112A3E159001AE361 /* libresolv.dylib in Frameworks */, + 63D5C1531BA6E6F0002D1ABF /* libxml2.dylib in Frameworks */, + 63D5C1511BA6E6E9002D1ABF /* libiconv.dylib in Frameworks */, + 2220D5EA12784672008F2C2E /* AudioToolbox.framework in Frameworks */, 34F9E03414C4247A00E1BC69 /* AVFoundation.framework in Frameworks */, - 34F9E00B14C4202100E1BC69 /* QuartzCore.framework in Frameworks */, - 34F9E00614C41FCF00E1BC69 /* libsrtp.a in Frameworks */, - 34F9E00714C41FCF00E1BC69 /* libvpx.a in Frameworks */, - 34F9E00314C41FB400E1BC69 /* OpenGLES.framework in Frameworks */, - 34F9DFF614C41EBA00E1BC69 /* libgsm.a in Frameworks */, - 34F9DFF714C41EBA00E1BC69 /* libilbc.a in Frameworks */, - 34F9DFF814C41EBA00E1BC69 /* liblinphone.a in Frameworks */, - F079D962199A6871009C58AA /* libantlr3c.a in Frameworks */, - 154E1A941715638900A0D168 /* libmediastreamer_base.a in Frameworks */, - F079D976199A68BA009C58AA /* libopus.a in Frameworks */, - 154E1A961715639A00A0D168 /* libmediastreamer_voip.a in Frameworks */, - 34F9DFFA14C41EBA00E1BC69 /* libortp.a in Frameworks */, - 34F9DFFD14C41EBA00E1BC69 /* libspeex.a in Frameworks */, - 34F9DFFE14C41EBA00E1BC69 /* libspeexdsp.a in Frameworks */, - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, - 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */, 2220D5D81278461C008F2C2E /* CFNetwork.framework in Frameworks */, 2220D5DA1278461C008F2C2E /* CoreAudio.framework in Frameworks */, - 2220D5EA12784672008F2C2E /* AudioToolbox.framework in Frameworks */, - 22D1B6A112A3E159001AE361 /* libresolv.dylib in Frameworks */, + 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */, + 34F9E03714C424AF00E1BC69 /* CoreMedia.framework in Frameworks */, + 34F9E03514C4249600E1BC69 /* CoreVideo.framework in Frameworks */, + 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, + 34F9E00314C41FB400E1BC69 /* OpenGLES.framework in Frameworks */, + 34F9E00B14C4202100E1BC69 /* QuartzCore.framework in Frameworks */, + 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -231,38 +326,56 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F079D97C199A690C009C58AA /* libsqlite3.dylib in Frameworks */, - 34F9E03F14C4253300E1BC69 /* CoreMedia.framework in Frameworks */, - F079D96D199A68A5009C58AA /* libxml2.a in Frameworks */, - 34F9E04014C4253300E1BC69 /* CoreVideo.framework in Frameworks */, - 34F9E03E14C4252600E1BC69 /* AVFoundation.framework in Frameworks */, - F079D969199A68A5009C58AA /* libpolarssl.a in Frameworks */, - F079D95E199A6864009C58AA /* libbellesip.a in Frameworks */, - F079D973199A68BA009C58AA /* libbzrtp.a in Frameworks */, - 34F9E01614C420B800E1BC69 /* libgsm.a in Frameworks */, - 34F9E01714C420B800E1BC69 /* libspeex.a in Frameworks */, - 34F9E01814C420B800E1BC69 /* libspeexdsp.a in Frameworks */, - 34F9E01314C4208C00E1BC69 /* libortp.a in Frameworks */, - 34F9E01014C4207700E1BC69 /* liblinphone.a in Frameworks */, - 34F9E00E14C4204600E1BC69 /* libsrtp.a in Frameworks */, - 34F9E00F14C4204600E1BC69 /* libvpx.a in Frameworks */, - 34F9E00C14C4203900E1BC69 /* OpenGLES.framework in Frameworks */, - 34F9E00D14C4203900E1BC69 /* QuartzCore.framework in Frameworks */, - 2294996912A53FEE00D6CF48 /* Foundation.framework in Frameworks */, - F079D963199A6871009C58AA /* libantlr3c.a in Frameworks */, - 2294996A12A53FEE00D6CF48 /* UIKit.framework in Frameworks */, - F079D977199A68BA009C58AA /* libopus.a in Frameworks */, - 2294996B12A53FEE00D6CF48 /* CoreGraphics.framework in Frameworks */, - 2294997612A53FEE00D6CF48 /* CFNetwork.framework in Frameworks */, - 2294997712A53FEE00D6CF48 /* CoreAudio.framework in Frameworks */, - 2294997812A53FEE00D6CF48 /* AudioToolbox.framework in Frameworks */, - 2294997912A53FEE00D6CF48 /* libresolv.dylib in Frameworks */, - 154E1A9D171564B500A0D168 /* libavcodec.a in Frameworks */, - 154E1AA0171564BA00A0D168 /* libavutil.a in Frameworks */, - 154E1AA3171564C100A0D168 /* libilbc.a in Frameworks */, - 154E1AA6171564C600A0D168 /* libmediastreamer_base.a in Frameworks */, - 154E1AA9171564C900A0D168 /* libmediastreamer_voip.a in Frameworks */, - 154E1AB21715661100A0D168 /* libswscale.a in Frameworks */, + 63D5C1891BA6E90D002D1ABF /* QuartzCore.framework in Frameworks */, + 63D5C1881BA6E907002D1ABF /* OpenGLES.framework in Frameworks */, + 63D5C1871BA6E902002D1ABF /* UIKit.framework in Frameworks */, + 63D5C1861BA6E8FD002D1ABF /* Foundation.framework in Frameworks */, + 63D5C1851BA6E8FA002D1ABF /* CoreVideo.framework in Frameworks */, + 63D5C1841BA6E8F5002D1ABF /* CoreMedia.framework in Frameworks */, + 63D5C1831BA6E8EE002D1ABF /* CoreGraphics.framework in Frameworks */, + 63D5C1821BA6E8E8002D1ABF /* CoreAudio.framework in Frameworks */, + 63D5C1811BA6E8E3002D1ABF /* CFNetwork.framework in Frameworks */, + 63D5C1801BA6E8DE002D1ABF /* AVFoundation.framework in Frameworks */, + 63D5C17F1BA6E8D6002D1ABF /* AudioToolbox.framework in Frameworks */, + 63D5C17E1BA6E8D1002D1ABF /* libiconv.dylib in Frameworks */, + 63D5C17D1BA6E8CC002D1ABF /* libxml2.dylib in Frameworks */, + 63D5C17C1BA6E8C6002D1ABF /* libresolv.dylib in Frameworks */, + 63D5C17B1BA6E8C2002D1ABF /* libz.dylib in Frameworks */, + 63D5C17A1BA6E8BD002D1ABF /* libsqlite3.dylib in Frameworks */, + 63D5C1721BA6E778002D1ABF /* libmsamr.a in Frameworks */, + 63D5C1731BA6E778002D1ABF /* libmsbcg729.a in Frameworks */, + 63D5C1741BA6E778002D1ABF /* libmsilbc.a in Frameworks */, + 63D5C1751BA6E778002D1ABF /* libmsopenh264.a in Frameworks */, + 63D5C1761BA6E778002D1ABF /* libmssilk.a in Frameworks */, + 63D5C1771BA6E778002D1ABF /* libmswebrtc.a in Frameworks */, + 63D5C1781BA6E778002D1ABF /* libmsx264.a in Frameworks */, + 63D5C1571BA6E765002D1ABF /* libantlr3c.a in Frameworks */, + 63D5C1581BA6E765002D1ABF /* libavcodec.a in Frameworks */, + 63D5C1591BA6E765002D1ABF /* libavutil.a in Frameworks */, + 63D5C15A1BA6E765002D1ABF /* libbellesip.a in Frameworks */, + 63D5C15B1BA6E765002D1ABF /* libbzrtp.a in Frameworks */, + 63D5C15C1BA6E765002D1ABF /* libcunit.a in Frameworks */, + 63D5C15D1BA6E765002D1ABF /* libgsm.a in Frameworks */, + 63D5C15E1BA6E765002D1ABF /* libilbcrfc3951.a in Frameworks */, + 63D5C15F1BA6E765002D1ABF /* liblinphone.a in Frameworks */, + 63D5C1601BA6E765002D1ABF /* liblinphonetester.a in Frameworks */, + 63D5C1611BA6E765002D1ABF /* libmediastreamer_base.a in Frameworks */, + 63D5C1621BA6E765002D1ABF /* libmediastreamer_voip.a in Frameworks */, + 63D5C1631BA6E765002D1ABF /* libopencore-amrnb.a in Frameworks */, + 63D5C1641BA6E765002D1ABF /* libopencore-amrwb.a in Frameworks */, + 63D5C1651BA6E765002D1ABF /* libopenh264.a in Frameworks */, + 63D5C1661BA6E765002D1ABF /* libopus.a in Frameworks */, + 63D5C1671BA6E765002D1ABF /* libortp.a in Frameworks */, + 63D5C1681BA6E765002D1ABF /* libpolarssl.a in Frameworks */, + 63D5C1691BA6E765002D1ABF /* libSKP_SILK_SDK.a in Frameworks */, + 63D5C16A1BA6E765002D1ABF /* libspeex.a in Frameworks */, + 63D5C16B1BA6E765002D1ABF /* libspeexdsp.a in Frameworks */, + 63D5C16C1BA6E765002D1ABF /* libsrtp.a in Frameworks */, + 63D5C16D1BA6E765002D1ABF /* libswresample.a in Frameworks */, + 63D5C16E1BA6E765002D1ABF /* libswscale.a in Frameworks */, + 63D5C16F1BA6E765002D1ABF /* libtunnel.a in Frameworks */, + 63D5C1701BA6E765002D1ABF /* libvpx.a in Frameworks */, + 63D5C1711BA6E765002D1ABF /* libx264.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -270,38 +383,49 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63D5C1A71BA6E943002D1ABF /* libz.dylib in Frameworks */, + 63D5C1A61BA6E93D002D1ABF /* libxml2.dylib in Frameworks */, + 63D5C1A51BA6E937002D1ABF /* libiconv.dylib in Frameworks */, + 63D5C18A1BA6E92A002D1ABF /* libantlr3c.a in Frameworks */, + 63D5C18B1BA6E92A002D1ABF /* libavcodec.a in Frameworks */, + 63D5C18C1BA6E92A002D1ABF /* libavutil.a in Frameworks */, + 63D5C18D1BA6E92A002D1ABF /* libbellesip.a in Frameworks */, + 63D5C18E1BA6E92A002D1ABF /* libbzrtp.a in Frameworks */, + 63D5C18F1BA6E92A002D1ABF /* libcunit.a in Frameworks */, + 63D5C1901BA6E92A002D1ABF /* libgsm.a in Frameworks */, + 63D5C1911BA6E92A002D1ABF /* libilbcrfc3951.a in Frameworks */, + 63D5C1921BA6E92A002D1ABF /* liblinphone.a in Frameworks */, + 63D5C1931BA6E92A002D1ABF /* liblinphonetester.a in Frameworks */, + 63D5C1941BA6E92A002D1ABF /* libmediastreamer_base.a in Frameworks */, + 63D5C1951BA6E92A002D1ABF /* libmediastreamer_voip.a in Frameworks */, + 63D5C1961BA6E92A002D1ABF /* libopencore-amrnb.a in Frameworks */, + 63D5C1971BA6E92A002D1ABF /* libopencore-amrwb.a in Frameworks */, + 63D5C1981BA6E92A002D1ABF /* libopenh264.a in Frameworks */, + 63D5C1991BA6E92A002D1ABF /* libopus.a in Frameworks */, + 63D5C19A1BA6E92A002D1ABF /* libortp.a in Frameworks */, + 63D5C19B1BA6E92A002D1ABF /* libpolarssl.a in Frameworks */, + 63D5C19C1BA6E92A002D1ABF /* libSKP_SILK_SDK.a in Frameworks */, + 63D5C19D1BA6E92A002D1ABF /* libspeex.a in Frameworks */, + 63D5C19E1BA6E92A002D1ABF /* libspeexdsp.a in Frameworks */, + 63D5C19F1BA6E92A002D1ABF /* libsrtp.a in Frameworks */, + 63D5C1A01BA6E92A002D1ABF /* libswresample.a in Frameworks */, + 63D5C1A11BA6E92B002D1ABF /* libswscale.a in Frameworks */, + 63D5C1A21BA6E92B002D1ABF /* libtunnel.a in Frameworks */, + 63D5C1A31BA6E92B002D1ABF /* libvpx.a in Frameworks */, + 63D5C1A41BA6E92B002D1ABF /* libx264.a in Frameworks */, F079D97D199A6913009C58AA /* libsqlite3.dylib in Frameworks */, 34F9E03B14C4251B00E1BC69 /* AVFoundation.framework in Frameworks */, - F079D96E199A68A5009C58AA /* libxml2.a in Frameworks */, 34F9E03C14C4251B00E1BC69 /* CoreMedia.framework in Frameworks */, 34F9E03D14C4251B00E1BC69 /* CoreVideo.framework in Frameworks */, - F079D96A199A68A5009C58AA /* libpolarssl.a in Frameworks */, - F079D95F199A6864009C58AA /* libbellesip.a in Frameworks */, - F079D974199A68BA009C58AA /* libbzrtp.a in Frameworks */, - 34F9E02414C4211000E1BC69 /* libsrtp.a in Frameworks */, - 34F9E02514C4211000E1BC69 /* libvpx.a in Frameworks */, 34F9E02314C4210100E1BC69 /* OpenGLES.framework in Frameworks */, 34F9E02214C420FA00E1BC69 /* QuartzCore.framework in Frameworks */, - 34F9E01A14C420DD00E1BC69 /* libgsm.a in Frameworks */, - 34F9E01B14C420DD00E1BC69 /* liblinphone.a in Frameworks */, - 34F9E01C14C420DD00E1BC69 /* libortp.a in Frameworks */, - 34F9E01F14C420DD00E1BC69 /* libspeex.a in Frameworks */, - 34F9E02014C420DD00E1BC69 /* libspeexdsp.a in Frameworks */, 229499A612A5417D00D6CF48 /* Foundation.framework in Frameworks */, - F079D964199A6871009C58AA /* libantlr3c.a in Frameworks */, 229499A712A5417D00D6CF48 /* UIKit.framework in Frameworks */, - F079D978199A68BA009C58AA /* libopus.a in Frameworks */, 229499A812A5417D00D6CF48 /* CoreGraphics.framework in Frameworks */, 229499B312A5417D00D6CF48 /* CFNetwork.framework in Frameworks */, 229499B412A5417D00D6CF48 /* CoreAudio.framework in Frameworks */, 229499B512A5417D00D6CF48 /* AudioToolbox.framework in Frameworks */, 229499B612A5417D00D6CF48 /* libresolv.dylib in Frameworks */, - 154E1A9E171564B500A0D168 /* libavcodec.a in Frameworks */, - 154E1AA1171564BA00A0D168 /* libavutil.a in Frameworks */, - 154E1AA4171564C100A0D168 /* libilbc.a in Frameworks */, - 154E1AA7171564C600A0D168 /* libmediastreamer_base.a in Frameworks */, - 154E1AAA171564CA00A0D168 /* libmediastreamer_voip.a in Frameworks */, - 154E1AB31715661100A0D168 /* libswscale.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -309,38 +433,49 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63D5C1C51BA6E96D002D1ABF /* libxml2.dylib in Frameworks */, + 63D5C1C41BA6E969002D1ABF /* libiconv.dylib in Frameworks */, + 63D5C1C31BA6E963002D1ABF /* libz.dylib in Frameworks */, + 63D5C1A81BA6E95C002D1ABF /* libantlr3c.a in Frameworks */, + 63D5C1A91BA6E95C002D1ABF /* libavcodec.a in Frameworks */, + 63D5C1AA1BA6E95C002D1ABF /* libavutil.a in Frameworks */, + 63D5C1AB1BA6E95C002D1ABF /* libbellesip.a in Frameworks */, + 63D5C1AC1BA6E95C002D1ABF /* libbzrtp.a in Frameworks */, + 63D5C1AD1BA6E95C002D1ABF /* libcunit.a in Frameworks */, + 63D5C1AE1BA6E95C002D1ABF /* libgsm.a in Frameworks */, + 63D5C1AF1BA6E95C002D1ABF /* libilbcrfc3951.a in Frameworks */, + 63D5C1B01BA6E95C002D1ABF /* liblinphone.a in Frameworks */, + 63D5C1B11BA6E95C002D1ABF /* liblinphonetester.a in Frameworks */, + 63D5C1B21BA6E95C002D1ABF /* libmediastreamer_base.a in Frameworks */, + 63D5C1B31BA6E95C002D1ABF /* libmediastreamer_voip.a in Frameworks */, + 63D5C1B41BA6E95C002D1ABF /* libopencore-amrnb.a in Frameworks */, + 63D5C1B51BA6E95C002D1ABF /* libopencore-amrwb.a in Frameworks */, + 63D5C1B61BA6E95C002D1ABF /* libopenh264.a in Frameworks */, + 63D5C1B71BA6E95C002D1ABF /* libopus.a in Frameworks */, + 63D5C1B81BA6E95C002D1ABF /* libortp.a in Frameworks */, + 63D5C1B91BA6E95C002D1ABF /* libpolarssl.a in Frameworks */, + 63D5C1BA1BA6E95C002D1ABF /* libSKP_SILK_SDK.a in Frameworks */, + 63D5C1BB1BA6E95C002D1ABF /* libspeex.a in Frameworks */, + 63D5C1BC1BA6E95C002D1ABF /* libspeexdsp.a in Frameworks */, + 63D5C1BD1BA6E95C002D1ABF /* libsrtp.a in Frameworks */, + 63D5C1BE1BA6E95C002D1ABF /* libswresample.a in Frameworks */, + 63D5C1BF1BA6E95C002D1ABF /* libswscale.a in Frameworks */, + 63D5C1C01BA6E95C002D1ABF /* libtunnel.a in Frameworks */, + 63D5C1C11BA6E95C002D1ABF /* libvpx.a in Frameworks */, + 63D5C1C21BA6E95C002D1ABF /* libx264.a in Frameworks */, F079D97E199A6919009C58AA /* libsqlite3.dylib in Frameworks */, 34F9E03814C4250B00E1BC69 /* AVFoundation.framework in Frameworks */, - F079D96F199A68A5009C58AA /* libxml2.a in Frameworks */, 34F9E03914C4250B00E1BC69 /* CoreMedia.framework in Frameworks */, 34F9E03A14C4250B00E1BC69 /* CoreVideo.framework in Frameworks */, - F079D96B199A68A5009C58AA /* libpolarssl.a in Frameworks */, - F079D960199A6864009C58AA /* libbellesip.a in Frameworks */, - F079D975199A68BA009C58AA /* libbzrtp.a in Frameworks */, - 34F9E02914C4214500E1BC69 /* libgsm.a in Frameworks */, - 34F9E02A14C4214500E1BC69 /* liblinphone.a in Frameworks */, - 34F9E02C14C4214500E1BC69 /* libortp.a in Frameworks */, - 34F9E02F14C4214500E1BC69 /* libspeex.a in Frameworks */, - 34F9E03014C4214500E1BC69 /* libspeexdsp.a in Frameworks */, - 34F9E03114C4214500E1BC69 /* libsrtp.a in Frameworks */, - 34F9E03214C4214500E1BC69 /* libvpx.a in Frameworks */, 34F9E02614C4212F00E1BC69 /* OpenGLES.framework in Frameworks */, 34F9E02714C4212F00E1BC69 /* QuartzCore.framework in Frameworks */, 229499EB12A5433F00D6CF48 /* Foundation.framework in Frameworks */, - F079D965199A6871009C58AA /* libantlr3c.a in Frameworks */, 229499EC12A5433F00D6CF48 /* UIKit.framework in Frameworks */, - F079D979199A68BA009C58AA /* libopus.a in Frameworks */, 229499ED12A5433F00D6CF48 /* CoreGraphics.framework in Frameworks */, 229499F812A5433F00D6CF48 /* CFNetwork.framework in Frameworks */, 229499F912A5433F00D6CF48 /* CoreAudio.framework in Frameworks */, 229499FA12A5433F00D6CF48 /* AudioToolbox.framework in Frameworks */, 229499FB12A5433F00D6CF48 /* libresolv.dylib in Frameworks */, - 154E1A9F171564B600A0D168 /* libavcodec.a in Frameworks */, - 154E1AA2171564BA00A0D168 /* libavutil.a in Frameworks */, - 154E1AA5171564C200A0D168 /* libilbc.a in Frameworks */, - 154E1AA8171564C700A0D168 /* libmediastreamer_base.a in Frameworks */, - 154E1AAB171564CA00A0D168 /* libmediastreamer_voip.a in Frameworks */, - 154E1AB41715661200A0D168 /* libswscale.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -381,10 +516,10 @@ 29B97315FDCFA39411CA2CEA /* Other Sources */ = { isa = PBXGroup; children = ( - 15FC167E17157478003FDB31 /* buddy_status.c */, - 15FC167F17157478003FDB31 /* chatroom.c */, - 15FC168017157478003FDB31 /* helloworld.c */, - 15FC168117157478003FDB31 /* registration.c */, + 63D5C0FA1BA6E3EB002D1ABF /* buddy_status.c */, + 63D5C0FB1BA6E3EB002D1ABF /* chatroom.c */, + 63D5C0FC1BA6E3EB002D1ABF /* helloworld.c */, + 63D5C0FD1BA6E3EB002D1ABF /* registration.c */, 32CA4F630368D1EE00C91783 /* hello_world_Prefix.pch */, ); name = "Other Sources"; @@ -401,26 +536,39 @@ 29B97323FDCFA39411CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( + 63D5C1541BA6E734002D1ABF /* Accelerate.framework */, + 63D5C1521BA6E6F0002D1ABF /* libxml2.dylib */, + 63D5C1501BA6E6E9002D1ABF /* libiconv.dylib */, + 63D5C14E1BA6E6D1002D1ABF /* libz.dylib */, + 63D5C1081BA6E4F0002D1ABF /* libantlr3c.a */, + 63D5C1091BA6E4F0002D1ABF /* libavcodec.a */, + 63D5C10A1BA6E4F0002D1ABF /* libavutil.a */, + 63D5C10B1BA6E4F0002D1ABF /* libbellesip.a */, + 63D5C10C1BA6E4F0002D1ABF /* libbzrtp.a */, + 63D5C10D1BA6E4F0002D1ABF /* libcunit.a */, + 63D5C10E1BA6E4F0002D1ABF /* libgsm.a */, + 63D5C10F1BA6E4F0002D1ABF /* libilbcrfc3951.a */, + 63D5C1101BA6E4F0002D1ABF /* liblinphone.a */, + 63D5C1111BA6E4F0002D1ABF /* liblinphonetester.a */, + 63D5C1121BA6E4F0002D1ABF /* libmediastreamer_base.a */, + 63D5C1131BA6E4F0002D1ABF /* libmediastreamer_voip.a */, + 63D5C1141BA6E4F0002D1ABF /* libopencore-amrnb.a */, + 63D5C1151BA6E4F0002D1ABF /* libopencore-amrwb.a */, + 63D5C1161BA6E4F0002D1ABF /* libopenh264.a */, + 63D5C1171BA6E4F0002D1ABF /* libopus.a */, + 63D5C1181BA6E4F0002D1ABF /* libortp.a */, + 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */, + 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */, + 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */, + 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */, + 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */, + 63D5C11E1BA6E4F0002D1ABF /* libswresample.a */, + 63D5C11F1BA6E4F0002D1ABF /* libswscale.a */, + 63D5C1201BA6E4F0002D1ABF /* libtunnel.a */, + 63D5C1211BA6E4F0002D1ABF /* libvpx.a */, + 63D5C1221BA6E4F0002D1ABF /* libx264.a */, + 63D5C1231BA6E4F0002D1ABF /* mediastreamer */, F079D97A199A6905009C58AA /* libsqlite3.dylib */, - 154E1A991715644400A0D168 /* libavcodec.a */, - 154E1A971715642E00A0D168 /* libavutil.a */, - 34F9DFEC14C41EBA00E1BC69 /* libgsm.a */, - F079D961199A6871009C58AA /* libantlr3c.a */, - 34F9DFED14C41EBA00E1BC69 /* libilbc.a */, - 34F9DFEE14C41EBA00E1BC69 /* liblinphone.a */, - 154E1A931715638900A0D168 /* libmediastreamer_base.a */, - 154E1A951715639A00A0D168 /* libmediastreamer_voip.a */, - 34F9DFF014C41EBA00E1BC69 /* libortp.a */, - F079D966199A68A5009C58AA /* libpolarssl.a */, - F079D967199A68A5009C58AA /* libxml2.a */, - F079D970199A68BA009C58AA /* libbzrtp.a */, - F079D971199A68BA009C58AA /* libopus.a */, - F079D95C199A6864009C58AA /* libbellesip.a */, - 34F9DFF314C41EBA00E1BC69 /* libspeex.a */, - 34F9DFF414C41EBA00E1BC69 /* libspeexdsp.a */, - 34F9E00414C41FCF00E1BC69 /* libsrtp.a */, - 154E1A9B1715645F00A0D168 /* libswscale.a */, - 34F9E00514C41FCF00E1BC69 /* libvpx.a */, 34F9E03614C424AF00E1BC69 /* CoreMedia.framework */, 34F9E03314C4247A00E1BC69 /* AVFoundation.framework */, 34F9E00A14C4202100E1BC69 /* QuartzCore.framework */, @@ -437,6 +585,29 @@ name = Frameworks; sourceTree = ""; }; + 63D5C1231BA6E4F0002D1ABF /* mediastreamer */ = { + isa = PBXGroup; + children = ( + 63D5C1241BA6E4F0002D1ABF /* plugins */, + ); + name = mediastreamer; + path = "../liblinphone-sdk/apple-darwin/lib/mediastreamer"; + sourceTree = ""; + }; + 63D5C1241BA6E4F0002D1ABF /* plugins */ = { + isa = PBXGroup; + children = ( + 63D5C1251BA6E4F0002D1ABF /* libmsamr.a */, + 63D5C1261BA6E4F0002D1ABF /* libmsbcg729.a */, + 63D5C1271BA6E4F0002D1ABF /* libmsilbc.a */, + 63D5C1281BA6E4F0002D1ABF /* libmsopenh264.a */, + 63D5C1291BA6E4F0002D1ABF /* libmssilk.a */, + 63D5C12A1BA6E4F0002D1ABF /* libmswebrtc.a */, + 63D5C12B1BA6E4F0002D1ABF /* libmsx264.a */, + ); + path = plugins; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -574,7 +745,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 15FC168A17157478003FDB31 /* helloworld.c in Sources */, + 63D5C1001BA6E3EB002D1ABF /* helloworld.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -582,7 +753,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 15FC168F17157478003FDB31 /* registration.c in Sources */, + 63D5C1021BA6E3F7002D1ABF /* registration.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -590,7 +761,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 15FC168817157478003FDB31 /* chatroom.c in Sources */, + 63D5C1031BA6E3FA002D1ABF /* chatroom.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -598,7 +769,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 15FC168517157478003FDB31 /* buddy_status.c in Sources */, + 63D5C1041BA6E3FE002D1ABF /* buddy_status.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -616,10 +787,11 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = ""; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -635,10 +807,11 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = ""; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -657,11 +830,11 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\\\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\\\"", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -677,11 +850,11 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\\\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\\\"", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -700,11 +873,10 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\\\\\\\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\\\\\\\"", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -720,11 +892,10 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\\\\\\\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\\\\\\\"", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -743,11 +914,10 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\\\\\\\\\\\\\\\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\\\\\\\\\\\\\\\"", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -763,11 +933,10 @@ GCC_PREFIX_HEADER = hello_world_Prefix.pch; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "helloworld-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "\\\\\\\\\\\\\\\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\\\\\\\\\\\\\\\"", - "\"$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib\"", + "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -778,14 +947,15 @@ C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = DEBUG; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)/../../liblinphone-sdk/apple-darwin/include"; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib"; + HEADER_SEARCH_PATHS = "$(SRCROOT)/../liblinphone-sdk/apple-darwin/include"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib"; PREBINDING = NO; SDKROOT = iphoneos; }; @@ -794,13 +964,14 @@ C01FCF5008A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)/../../liblinphone-sdk/apple-darwin/include"; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../../liblinphone-sdk/apple-darwin/lib"; + HEADER_SEARCH_PATHS = "$(SRCROOT)/../liblinphone-sdk/apple-darwin/include"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib"; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; PREBINDING = NO; SDKROOT = iphoneos; From 8e1fcd0b5e2dc3b428dfc5ce6eb68a6135ae22bc Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 14 Sep 2015 15:13:24 +0200 Subject: [PATCH 06/42] xcodeproj: add missing libraries --- linphone.xcodeproj/project.pbxproj | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 0afaf917f..fe1fad7d8 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -180,6 +180,10 @@ 63CD4B4F1A5AAC8C00B84282 /* DTAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63CD4B4E1A5AAC8C00B84282 /* DTAlertView.m */; }; 63D2680F1B174A5E00A2CC11 /* numpad_one_voicemail_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 63D2680D1B174A5E00A2CC11 /* numpad_one_voicemail_default.png */; }; 63D268101B174A5E00A2CC11 /* numpad_one_voicemail_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 63D2680E1B174A5E00A2CC11 /* numpad_one_voicemail_over.png */; }; + 63D5C1F11BA6FF4D002D1ABF /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226183AA1472527D0037138E /* libSKP_SILK_SDK.a */; }; + 63D5C1F51BA6FF4D002D1ABF /* libbcg729.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1F21BA6FF4D002D1ABF /* libbcg729.a */; }; + 63D5C1F61BA6FF4D002D1ABF /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1F31BA6FF4D002D1ABF /* libswresample.a */; }; + 63D5C1F71BA6FF4D002D1ABF /* libvo-amrwbenc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1F41BA6FF4D002D1ABF /* libvo-amrwbenc.a */; }; 63D7215D1B7394D200D70E65 /* libtunnel.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D30BF33216A427BC00AF0026 /* libtunnel.a */; settings = {ATTRIBUTES = (Weak, ); }; }; 63D7216C1B73973D00D70E65 /* libx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22AA8AFB13D7125500B30535 /* libx264.a */; settings = {ATTRIBUTES = (Weak, ); }; }; 63D7216D1B73975900D70E65 /* libmsx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22AA8AFC13D7125500B30535 /* libmsx264.a */; settings = {ATTRIBUTES = (Weak, ); }; }; @@ -1123,6 +1127,9 @@ 63CD4B4E1A5AAC8C00B84282 /* DTAlertView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DTAlertView.m; sourceTree = ""; }; 63D2680D1B174A5E00A2CC11 /* numpad_one_voicemail_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = numpad_one_voicemail_default.png; path = Resources/numpad_one_voicemail_default.png; sourceTree = ""; }; 63D2680E1B174A5E00A2CC11 /* numpad_one_voicemail_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = numpad_one_voicemail_over.png; path = Resources/numpad_one_voicemail_over.png; sourceTree = ""; }; + 63D5C1F21BA6FF4D002D1ABF /* libbcg729.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbcg729.a; path = "liblinphone-sdk/apple-darwin/lib/libbcg729.a"; sourceTree = ""; }; + 63D5C1F31BA6FF4D002D1ABF /* libswresample.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libswresample.a; path = "liblinphone-sdk/apple-darwin/lib/libswresample.a"; sourceTree = ""; }; + 63D5C1F41BA6FF4D002D1ABF /* libvo-amrwbenc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libvo-amrwbenc.a"; path = "liblinphone-sdk/apple-darwin/lib/libvo-amrwbenc.a"; sourceTree = ""; }; 63E59A3D1ADE6ECB00646FB3 /* InAppProductsManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InAppProductsManager.h; sourceTree = ""; }; 63E59A3E1ADE70D900646FB3 /* InAppProductsManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InAppProductsManager.m; sourceTree = ""; }; 63EA4C941B50189D00922857 /* libmswebrtc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmswebrtc.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmswebrtc.a"; sourceTree = ""; }; @@ -1891,6 +1898,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63D5C1F51BA6FF4D002D1ABF /* libbcg729.a in Frameworks */, + 63D5C1F61BA6FF4D002D1ABF /* libswresample.a in Frameworks */, + 63D5C1F71BA6FF4D002D1ABF /* libvo-amrwbenc.a in Frameworks */, 223CA7E616D9255800EF1BEC /* libantlr3c.a in Frameworks */, 22276E8313C73D3100210156 /* libavcodec.a in Frameworks */, 22276E8413C73D3100210156 /* libavutil.a in Frameworks */, @@ -1901,19 +1911,13 @@ F476004B147AAF2800FFF19B /* liblinphone.a in Frameworks */, D37EE10916032DA4003608A6 /* libmediastreamer_base.a in Frameworks */, D37EE10A16032DA4003608A6 /* libmediastreamer_voip.a in Frameworks */, - 226F2ED81344B0EF00F6EF27 /* libmsamr.a in Frameworks */, - 223148E61178A09900637D6A /* libmsilbc.a in Frameworks */, - 226183B0147259670037138E /* libmssilk.a in Frameworks */, - 1560821F18EEF26100765332 /* libmsopenh264.a in Frameworks */, - 63D7216D1B73975900D70E65 /* libmsx264.a in Frameworks */, - 63C510A01B8F48DB008A415A /* libmswebrtc.a in Frameworks */, - 226CDAE014E2D0B800513B67 /* libmsbcg729.a in Frameworks */, 63C5109E1B8F2603008A415A /* libopencore-amrnb.a in Frameworks */, 63C5109F1B8F2603008A415A /* libopencore-amrwb.a in Frameworks */, - 22A10F3B11F8960300373793 /* libortp.a in Frameworks */, 22509042196BD902007863F6 /* libopenh264.a in Frameworks */, 22AF73C21754C0D100BE8398 /* libopus.a in Frameworks */, + 22A10F3B11F8960300373793 /* libortp.a in Frameworks */, 57B0E360173C010400A476B8 /* libpolarssl.a in Frameworks */, + 63D5C1F11BA6FF4D002D1ABF /* libSKP_SILK_SDK.a in Frameworks */, 220FAD3810765B400068D98F /* libspeex.a in Frameworks */, 220FAD3910765B400068D98F /* libspeexdsp.a in Frameworks */, 226183AE1472527D0037138E /* libsrtp.a in Frameworks */, @@ -1921,6 +1925,13 @@ 63D7215D1B7394D200D70E65 /* libtunnel.a in Frameworks */, 7066FC0C13E830E400EFC6DC /* libvpx.a in Frameworks */, 63D7216C1B73973D00D70E65 /* libx264.a in Frameworks */, + 226F2ED81344B0EF00F6EF27 /* libmsamr.a in Frameworks */, + 223148E61178A09900637D6A /* libmsilbc.a in Frameworks */, + 226183B0147259670037138E /* libmssilk.a in Frameworks */, + 1560821F18EEF26100765332 /* libmsopenh264.a in Frameworks */, + 63D7216D1B73975900D70E65 /* libmsx264.a in Frameworks */, + 63C510A01B8F48DB008A415A /* libmswebrtc.a in Frameworks */, + 226CDAE014E2D0B800513B67 /* libmsbcg729.a in Frameworks */, 152F22361B15E889008C0621 /* libxml2.dylib in Frameworks */, 344ABDF114850AE9007420B6 /* libc++.1.dylib in Frameworks */, D32B6E2F15A5C0AC0033019F /* libsqlite3.dylib in Frameworks */, @@ -2285,6 +2296,9 @@ 29B97323FDCFA39411CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( + 63D5C1F21BA6FF4D002D1ABF /* libbcg729.a */, + 63D5C1F31BA6FF4D002D1ABF /* libswresample.a */, + 63D5C1F41BA6FF4D002D1ABF /* libvo-amrwbenc.a */, 63EA4C941B50189D00922857 /* libmswebrtc.a */, 63158FAC1B468E0E00969917 /* ImageOptim.sh */, 152F22351B15E889008C0621 /* libxml2.dylib */, From f8c1ae3c9a25ac6b779337e85f4ccf04adf10e1f Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 14 Sep 2015 15:16:54 +0200 Subject: [PATCH 07/42] submodules: update linphone to fix crash when pausing call --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 352b9c840..d671e1393 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 352b9c84067692131b2c58ad8d2d62a37b664e9e +Subproject commit d671e139355e98a231704cf4bf50ad94208b037c From 3a222410ea005d77b2d4125c2509b9d97e381caa Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 14 Sep 2015 17:26:29 +0200 Subject: [PATCH 08/42] LinphoneUITester: fix some tests --- Classes/ChatRoomTableViewController.m | 2 +- Classes/ChatRoomViewController.m | 4 +--- Classes/ChatTableViewController.m | 2 +- Classes/LinphoneCoreSettingsStore.m | 4 ++-- Classes/WizardViewController.m | 1 + TestsUI/ChatTester.m | 23 +++++++++++++++-------- TestsUI/LinphoneTestCase.m | 2 +- submodules/linphone | 2 +- 8 files changed, 23 insertions(+), 17 deletions(-) diff --git a/Classes/ChatRoomTableViewController.m b/Classes/ChatRoomTableViewController.m index 673894539..ea613d950 100644 --- a/Classes/ChatRoomTableViewController.m +++ b/Classes/ChatRoomTableViewController.m @@ -43,7 +43,7 @@ } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; - self.tableView.accessibilityIdentifier = @"Chat list"; + self.tableView.accessibilityIdentifier = @"ChatRoom list"; [self reloadData]; } diff --git a/Classes/ChatRoomViewController.m b/Classes/ChatRoomViewController.m index 4a03c94c5..f41082c70 100644 --- a/Classes/ChatRoomViewController.m +++ b/Classes/ChatRoomViewController.m @@ -157,9 +157,7 @@ static UICompositeViewDescription *compositeDescription = nil; [messageBackgroundImage setImage:[TUNinePatchCache imageOfSize:[messageBackgroundImage bounds].size forNinePatchNamed:@"chat_message_background"]]; - BOOL fileSharingEnabled = - [[LinphoneManager instance] lpConfigStringForKey:@"sharing_server_preference"] != NULL && - [[[LinphoneManager instance] lpConfigStringForKey:@"sharing_server_preference"] length] > 0; + BOOL fileSharingEnabled = [LinphoneManager.instance lpConfigStringForKey:@"sharing_server_preference"].length > 0; [pictureButton setEnabled:fileSharingEnabled]; } diff --git a/Classes/ChatTableViewController.m b/Classes/ChatTableViewController.m index ef7b180c2..c11ff172e 100644 --- a/Classes/ChatTableViewController.m +++ b/Classes/ChatTableViewController.m @@ -52,7 +52,7 @@ - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; - self.tableView.accessibilityIdentifier = @"ChatRoom list"; + self.tableView.accessibilityIdentifier = @"Chat list"; [self loadData]; } diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index 04c4d7456..58691872a 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -781,8 +781,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); [lm lpConfigSetInt:[self integerForKey:@"advanced_account_preference"] forKey:@"advanced_account_preference"]; - NSString *sharing_server = [self stringForKey:@"sharing_server_preference"]; - [[LinphoneManager instance] lpConfigSetString:sharing_server forKey:@"sharing_server_preference"]; + [[LinphoneManager instance] lpConfigSetString:[self stringForKey:@"sharing_server_preference"] + forKey:@"sharing_server_preference"]; } changedDict = [[NSMutableDictionary alloc] init]; diff --git a/Classes/WizardViewController.m b/Classes/WizardViewController.m index cc1f633f5..85649fc90 100644 --- a/Classes/WizardViewController.m +++ b/Classes/WizardViewController.m @@ -238,6 +238,7 @@ static UICompositeViewDescription *compositeDescription = nil; LOGE(@"cannot set transport"); } + [LinphoneManager.instance lpConfigSetBool:TRUE forKey:@"file_transfer_migration_done"]; [[LinphoneManager instance] lpConfigSetString:@"" forKey:@"sharing_server_preference"]; [[LinphoneManager instance] lpConfigSetBool:FALSE forKey:@"ice_preference"]; [[LinphoneManager instance] lpConfigSetString:@"" forKey:@"stun_preference"]; diff --git a/TestsUI/ChatTester.m b/TestsUI/ChatTester.m index a49d9268c..ad9f7aa22 100644 --- a/TestsUI/ChatTester.m +++ b/TestsUI/ChatTester.m @@ -63,7 +63,7 @@ } - (void)uploadImageWithQuality:(NSString *)quality { - UITableView *tv = [self findTableView:@"Chat list"]; + UITableView *tv = [self findTableView:@"ChatRoom list"]; long messagesCount = [tv numberOfRowsInSection:0]; [tester tapViewWithAccessibilityLabel:@"Send picture"]; @@ -111,7 +111,7 @@ [tester tapViewWithAccessibilityLabel:@"Anna Haro"]; [tester tapViewWithAccessibilityLabel:@"home, 555-522-8243"]; [self goBackFromChat]; - UITableView *tv = [self findTableView:@"ChatRoom list"]; + UITableView *tv = [self findTableView:@"Chat list"]; ASSERT_EQ([tv numberOfRowsInSection:0], 1); [tester waitForViewWithAccessibilityLabel:@"Contact name, Message" value:@"Anna Haro (0)" @@ -167,7 +167,7 @@ [tester tapViewWithAccessibilityLabel:@"Chat"]; NSTimeInterval after = [[NSDate date] timeIntervalSince1970]; - XCTAssertEqual([[self findTableView:@"ChatRoom list"] numberOfRowsInSection:0], 100); + XCTAssertEqual([[self findTableView:@"Chat list"] numberOfRowsInSection:0], 100); // conversation loading MUST be less than 1 sec XCTAssertLessThan(after - before, 1.); } @@ -177,11 +177,18 @@ LinphoneCore *lc = [LinphoneManager getLc]; LinphoneChatRoom *room = linphone_core_get_chat_room_from_uri(lc, [[self me] UTF8String]); // generate lots of messages... - for (; count < 100; count++) { + for (; count < 50; count++) { linphone_chat_room_send_message(room, [[NSString stringWithFormat:@"Message %d", count + 1] UTF8String]); } - [tester waitForTimeInterval:5]; // wait for all messages to be delivered - // TODO: FIX below code: unread count is not always 100 messages while it should... + + UITableView *tv = [self findTableView:@"ChatRoom list"]; + for (int i = 0; i < 25; i++) { + [tester waitForTimeInterval:1.f]; + if ([tv numberOfRowsInSection:0] == count) { + break; + } + } + [tester waitForViewWithAccessibilityLabel:@"Contact name, Message, Unread message number" value:[NSString stringWithFormat:@"%@ - Message %d (%d)", self.me, count, count] traits:UIAccessibilityTraitStaticText]; @@ -251,7 +258,7 @@ [self uploadImageWithQuality:@"Maximum"]; [self uploadImageWithQuality:@"Average"]; [self uploadImageWithQuality:@"Minimum"]; - UITableView *tv = [self findTableView:@"Chat list"]; + UITableView *tv = [self findTableView:@"ChatRoom list"]; // wait for ALL uploads to terminate... for (int i = 0; i < 45; i++) { [tester waitForTimeInterval:1.f]; @@ -282,7 +289,7 @@ [self uploadImageWithQuality:@"Maximum"]; [self uploadImageWithQuality:@"Average"]; [self uploadImageWithQuality:@"Minimum"]; - UITableView *tv = [self findTableView:@"Chat list"]; + UITableView *tv = [self findTableView:@"ChatRoom list"]; // wait for ALL uploads to terminate... for (int i = 0; i < 45; i++) { [tester waitForTimeInterval:1.f]; diff --git a/TestsUI/LinphoneTestCase.m b/TestsUI/LinphoneTestCase.m index 06ae52616..966842000 100644 --- a/TestsUI/LinphoneTestCase.m +++ b/TestsUI/LinphoneTestCase.m @@ -121,7 +121,7 @@ static bool invalidAccount = true; ms_free(server_addr); LinphoneAuthInfo *testAuth = linphone_auth_info_new(linphone_address_get_username(testAddr), NULL, - linphone_address_get_password(testAddr), NULL, NULL, + linphone_address_get_username(testAddr), NULL, NULL, linphone_address_get_domain(testAddr)); [[LinphoneManager instance] configurePushTokenForProxyConfig:testProxy]; diff --git a/submodules/linphone b/submodules/linphone index d671e1393..654990ac5 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit d671e139355e98a231704cf4bf50ad94208b037c +Subproject commit 654990ac5c221f87b1ea97e8bf2f3c7639d6d96b From 39efffe7da9722af18596fa5d5bd75a0ffc53e02 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Tue, 15 Sep 2015 10:14:14 +0200 Subject: [PATCH 09/42] LinphoneUITester: fix last failing tests in chat --- TestsUI/ChatTester.m | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/TestsUI/ChatTester.m b/TestsUI/ChatTester.m index ad9f7aa22..e8774b587 100644 --- a/TestsUI/ChatTester.m +++ b/TestsUI/ChatTester.m @@ -181,10 +181,9 @@ linphone_chat_room_send_message(room, [[NSString stringWithFormat:@"Message %d", count + 1] UTF8String]); } - UITableView *tv = [self findTableView:@"ChatRoom list"]; for (int i = 0; i < 25; i++) { [tester waitForTimeInterval:1.f]; - if ([tv numberOfRowsInSection:0] == count) { + if (linphone_chat_room_get_history_size(room) == count * 2) { break; } } @@ -204,8 +203,6 @@ - (void)testRemoveAllChats { NSArray *uuids = [self getUUIDArrayOfSize:5]; - [self removeAllRooms]; - for (NSString *uuid in uuids) { [self startChatWith:uuid]; [self sendMessage:@"Test"]; @@ -223,7 +220,7 @@ traits:UIAccessibilityTraitButton]; // same as the first but it is "OK" on screen // check that the tableview is empty - UITableView *tv = [self findTableView:@"ChatRoom list"]; + UITableView *tv = [self findTableView:@"Chat list"]; ASSERT_EQ([tv numberOfRowsInSection:0], 0); // test that there's no more chatrooms in the core @@ -267,7 +264,7 @@ } [tester waitForTimeInterval:.5f]; ASSERT_EQ([[LinphoneManager instance] fileTransferDelegates].count, 0); - [tester scrollViewWithAccessibilityIdentifier:@"Chat list" byFractionOfSizeHorizontal:0.f vertical:1.f]; + [tester scrollViewWithAccessibilityIdentifier:@"ChatRoom list" byFractionOfSizeHorizontal:0.f vertical:1.f]; for (int i = 0; i < 3; i++) { // messages order is not known: if upload bitrate is huge, first image can be uploaded before last started while (![tester tryFindingTappableViewWithAccessibilityLabel:@"Download" error:nil]) { @@ -328,7 +325,7 @@ [self uploadImageWithQuality:@"Minimum"]; ASSERT_EQ([[LinphoneManager instance] fileTransferDelegates].count, 1); - UITableView *tv = [self findTableView:@"Chat list"]; + UITableView *tv = [self findTableView:@"ChatRoom list"]; ASSERT_EQ([tv numberOfRowsInSection:0], 1); // wait for the upload to terminate... From 29fff18d6d7d09aa88897b59a6a3e2994e001779 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Tue, 15 Sep 2015 15:06:37 +0200 Subject: [PATCH 10/42] Dialer: use ascii capable entry text so that both @ and : are available easily --- Classes/Base.lproj/DialerViewController.xib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/Base.lproj/DialerViewController.xib b/Classes/Base.lproj/DialerViewController.xib index 1216e2588..5e0953d30 100644 --- a/Classes/Base.lproj/DialerViewController.xib +++ b/Classes/Base.lproj/DialerViewController.xib @@ -50,7 +50,7 @@ - + From ae4f983df3d8f5d60b4fc148f90902d44e99e328 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 16 Sep 2015 10:54:24 +0200 Subject: [PATCH 11/42] linphonerc: remove sharing_server_preference and use file_transfer_server_url to comply with liblinphone --- Classes/ChatRoomViewController.m | 2 +- Classes/LinphoneCoreSettingsStore.m | 6 +++--- Classes/LinphoneManager.m | 12 ++++-------- Classes/WizardViewController.m | 2 -- Resources/wizard_external_sip.rc | 5 ++++- Resources/wizard_linphone_create.rc | 5 ++++- Resources/wizard_linphone_existing.rc | 6 +++++- Resources/wizard_remote.rc | 5 ++++- Settings/InAppSettings.bundle/Advanced.plist | 2 +- linphone.xcodeproj/project.pbxproj | 4 ++++ 10 files changed, 30 insertions(+), 19 deletions(-) diff --git a/Classes/ChatRoomViewController.m b/Classes/ChatRoomViewController.m index f41082c70..2f93b6eb9 100644 --- a/Classes/ChatRoomViewController.m +++ b/Classes/ChatRoomViewController.m @@ -157,7 +157,7 @@ static UICompositeViewDescription *compositeDescription = nil; [messageBackgroundImage setImage:[TUNinePatchCache imageOfSize:[messageBackgroundImage bounds].size forNinePatchNamed:@"chat_message_background"]]; - BOOL fileSharingEnabled = [LinphoneManager.instance lpConfigStringForKey:@"sharing_server_preference"].length > 0; + BOOL fileSharingEnabled = linphone_core_get_file_transfer_server([LinphoneManager getLc]) != NULL; [pictureButton setEnabled:fileSharingEnabled]; } diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index 58691872a..f6ad3fe02 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -332,7 +332,7 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); [self setCString:linphone_address_get_username(parsed) forKey:@"primary_username_preference"]; } linphone_address_destroy(parsed); - [self setObject:[lm lpConfigStringForKey:@"sharing_server_preference"] forKey:@"sharing_server_preference"]; + [self setCString:linphone_core_get_file_transfer_server(lc) forKey:@"file_transfer_server_url_preference"]; } changedDict = [[NSMutableDictionary alloc] init]; @@ -781,8 +781,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); [lm lpConfigSetInt:[self integerForKey:@"advanced_account_preference"] forKey:@"advanced_account_preference"]; - [[LinphoneManager instance] lpConfigSetString:[self stringForKey:@"sharing_server_preference"] - forKey:@"sharing_server_preference"]; + linphone_core_set_file_transfer_server(lc, + [[self stringForKey:@"file_transfer_server_url_preference"] UTF8String]); } changedDict = [[NSMutableDictionary alloc] init]; diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index 813283f4d..cba11771f 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -531,9 +531,10 @@ exit_dbmigration: } /* File transfer migration */ if ([self lpConfigBoolForKey:@"file_transfer_migration_done"] == FALSE) { - NSString *newURL = @"https://www.linphone.org:444/lft.php"; - LOGI(@"Migrating sharing server url from %@ to %@", [self lpConfigStringForKey:@"sharing_server_preference"], newURL); - [self lpConfigSetString:newURL forKey:@"sharing_server_preference"]; + const char *newURL = "https://www.linphone.org:444/lft.php"; + LOGI(@"Migrating sharing server url from %s to %s", + linphone_core_get_file_transfer_server([LinphoneManager getLc]), newURL); + linphone_core_set_file_transfer_server([LinphoneManager getLc], newURL); [self lpConfigSetBool:TRUE forKey:@"file_transfer_migration_done"]; } } @@ -1330,11 +1331,6 @@ static LinphoneCoreVTable linphonec_vtable = {.show = NULL, linphone_core_set_static_picture(theLinphoneCore, imagePath); } - NSString *urlString = [self lpConfigStringForKey:@"sharing_server_preference"]; - if (urlString) { - linphone_core_set_file_transfer_server(theLinphoneCore, [urlString UTF8String]); - } - /*DETECT cameras*/ frontCamId = backCamId = nil; char **camlist = (char **)linphone_core_get_video_devices(theLinphoneCore); diff --git a/Classes/WizardViewController.m b/Classes/WizardViewController.m index 85649fc90..9dab1d411 100644 --- a/Classes/WizardViewController.m +++ b/Classes/WizardViewController.m @@ -238,8 +238,6 @@ static UICompositeViewDescription *compositeDescription = nil; LOGE(@"cannot set transport"); } - [LinphoneManager.instance lpConfigSetBool:TRUE forKey:@"file_transfer_migration_done"]; - [[LinphoneManager instance] lpConfigSetString:@"" forKey:@"sharing_server_preference"]; [[LinphoneManager instance] lpConfigSetBool:FALSE forKey:@"ice_preference"]; [[LinphoneManager instance] lpConfigSetString:@"" forKey:@"stun_preference"]; linphone_core_set_stun_server(lc, NULL); diff --git a/Resources/wizard_external_sip.rc b/Resources/wizard_external_sip.rc index f427f2758..84be19c86 100644 --- a/Resources/wizard_external_sip.rc +++ b/Resources/wizard_external_sip.rc @@ -17,10 +17,10 @@
0 - 1 stun.linphone.org 1 + 1
@@ -34,4 +34,7 @@ -1
+
+ +
\ No newline at end of file diff --git a/Resources/wizard_linphone_create.rc b/Resources/wizard_linphone_create.rc index 6da5025a0..ee15a41e5 100644 --- a/Resources/wizard_linphone_create.rc +++ b/Resources/wizard_linphone_create.rc @@ -22,10 +22,10 @@
1 - https://www.linphone.org:444/lft.php 1 stun.linphone.org 1 + 1
@@ -39,4 +39,7 @@ -1
+
+ https://www.linphone.org:444/lft.php +
diff --git a/Resources/wizard_linphone_existing.rc b/Resources/wizard_linphone_existing.rc index b9ef41f36..7977a0d9f 100644 --- a/Resources/wizard_linphone_existing.rc +++ b/Resources/wizard_linphone_existing.rc @@ -22,10 +22,10 @@
1 - https://www.linphone.org:444/lft.php 1 stun.linphone.org 1 + 1
@@ -38,4 +38,8 @@ -1 -1
+ +
+ https://www.linphone.org:444/lft.php +
diff --git a/Resources/wizard_remote.rc b/Resources/wizard_remote.rc index 3df265ada..534e2acff 100644 --- a/Resources/wizard_remote.rc +++ b/Resources/wizard_remote.rc @@ -16,9 +16,12 @@
0 - + 1
+
+ +
\ No newline at end of file diff --git a/Settings/InAppSettings.bundle/Advanced.plist b/Settings/InAppSettings.bundle/Advanced.plist index ca86b640e..cb07abc0d 100644 --- a/Settings/InAppSettings.bundle/Advanced.plist +++ b/Settings/InAppSettings.bundle/Advanced.plist @@ -176,7 +176,7 @@ Title Server URL Key - sharing_server_preference + file_transfer_server_url_preference IASKTextAlignment IASKUITextAlignmentRight diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index fe1fad7d8..ee679de1a 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -161,6 +161,8 @@ 639CEB031A1DF4EB004DE38F /* UICompositeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEB051A1DF4EB004DE38F /* UICompositeViewController.xib */; }; 639CEB061A1DF4F1004DE38F /* UIChatRoomCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEB081A1DF4F1004DE38F /* UIChatRoomCell.xib */; }; 639CEB091A1DF4FA004DE38F /* UIChatCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEB0B1A1DF4FA004DE38F /* UIChatCell.xib */; }; + 63B6D1151BA9612B0074B4F5 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F0B026F21AA710AF00FF49F7 /* libiconv.dylib */; }; + 63B6D1161BA961300074B4F5 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D32B6E2E15A5C0AC0033019F /* libsqlite3.dylib */; }; 63B81A0C1B57DA33009604A6 /* LICENSE.txt in Resources */ = {isa = PBXBuildFile; fileRef = 63B81A031B57DA33009604A6 /* LICENSE.txt */; }; 63B81A0D1B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B81A051B57DA33009604A6 /* TPKeyboardAvoidingCollectionView.m */; }; 63B81A0E1B57DA33009604A6 /* TPKeyboardAvoidingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B81A071B57DA33009604A6 /* TPKeyboardAvoidingScrollView.m */; }; @@ -2025,6 +2027,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 63B6D1161BA961300074B4F5 /* libsqlite3.dylib in Frameworks */, + 63B6D1151BA9612B0074B4F5 /* libiconv.dylib in Frameworks */, 635ED88B1B95A3B500404347 /* libxml2.dylib in Frameworks */, 63C5107C1B8DF3DF008A415A /* libbellesip.a in Frameworks */, 63C5107D1B8DF3DF008A415A /* liblinphonetester.a in Frameworks */, From 738a98b69cbc8a9b233fad0e17a895850fbbe88b Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 16 Sep 2015 16:17:18 +0200 Subject: [PATCH 12/42] LinphoneUITester: reuse MESSAGE logs level (...) but turn it off for chat tests because they are spamming way too much --- Classes/LinphoneManager.m | 4 ++-- Classes/Utils/FileTransferDelegate.m | 3 +-- TestsUI/ChatTester.m | 3 +++ submodules/belle-sip | 2 +- submodules/cmake-builder | 2 +- submodules/linphone | 2 +- 6 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index cba11771f..270b5f089 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -2102,9 +2102,9 @@ static void audioRouteChangeListenerCallback(void *inUserData, // 1 - (void)setLogsEnabled:(BOOL)enabled { if ([LinphoneManager isRunningTests]) { - NSLog(@"Running tests, forcing logs to Warning level"); + NSLog(@"Running tests, forcing logs to MESSAGE level"); linphone_core_enable_logs_with_cb((OrtpLogFunc)linphone_iphone_log_handler); - linphone_core_set_log_level(ORTP_WARNING); + linphone_core_set_log_level(ORTP_MESSAGE); } else { if (enabled) { NSLog(@"Enabling debug logs"); diff --git a/Classes/Utils/FileTransferDelegate.m b/Classes/Utils/FileTransferDelegate.m index 28b74008d..f9fdf0d07 100644 --- a/Classes/Utils/FileTransferDelegate.m +++ b/Classes/Utils/FileTransferDelegate.m @@ -194,8 +194,7 @@ static LinphoneBuffer *linphone_iphone_file_transfer_send(LinphoneChatMessage *m linphone_chat_message_cbs_set_file_transfer_send(linphone_chat_message_get_callbacks(msg), NULL); linphone_chat_message_cbs_set_file_transfer_recv(linphone_chat_message_get_callbacks(msg), NULL); // when we cancel file transfer, this will automatically trigger NotDelivered callback... recalling ourself a - // second time - // so we have to unset message BEFORE calling this + // second time so we have to unset message BEFORE calling this linphone_chat_message_cancel_file_transfer(msg); linphone_chat_message_unref(msg); } diff --git a/TestsUI/ChatTester.m b/TestsUI/ChatTester.m index e8774b587..262a3c5da 100644 --- a/TestsUI/ChatTester.m +++ b/TestsUI/ChatTester.m @@ -16,6 +16,8 @@ - (void)beforeAll { [super beforeAll]; [self switchToValidAccountIfNeeded]; + // turn off logs for chat tests because there are way to much logs in liblinphone in filetransfer and sqlite + linphone_core_set_log_level(ORTP_WARNING); } - (void)beforeEach { @@ -29,6 +31,7 @@ - (void)afterAll { [super afterAll]; + linphone_core_set_log_level(ORTP_MESSAGE); // at the end of tests, go back to chat rooms to display main bar if ([tester tryFindingTappableViewWithAccessibilityLabel:@"Back" error:nil]) { [self goBackFromChat]; diff --git a/submodules/belle-sip b/submodules/belle-sip index 298264c56..b1707d976 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit 298264c56d933a9305395439c988d6ad916a3266 +Subproject commit b1707d976a90afa8079655ac1f9f0eef23dc5709 diff --git a/submodules/cmake-builder b/submodules/cmake-builder index 015037369..6f9dde2b9 160000 --- a/submodules/cmake-builder +++ b/submodules/cmake-builder @@ -1 +1 @@ -Subproject commit 0150373697676183e6735d69620d6e7dc5545134 +Subproject commit 6f9dde2b9fd2dd64a0e0bab87cf3e0b30290da1d diff --git a/submodules/linphone b/submodules/linphone index 654990ac5..fdf5abefd 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 654990ac5c221f87b1ea97e8bf2f3c7639d6d96b +Subproject commit fdf5abefd67249b2270ceb605ebd1b61744e6811 From d3e00234cc60ec44139302e51fcb3b26c8c847a4 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 16 Sep 2015 16:18:36 +0200 Subject: [PATCH 13/42] LinphoneUITester: fix typo --- TestsUI/ChatTester.m | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/TestsUI/ChatTester.m b/TestsUI/ChatTester.m index 262a3c5da..be3c980be 100644 --- a/TestsUI/ChatTester.m +++ b/TestsUI/ChatTester.m @@ -147,7 +147,11 @@ // check that the tableview is empty UITableView *tv = nil; NSError *err = nil; - if ([tester tryFindingAccessibilityElement:nil view:&tv withIdentifier:@"Chat list" tappable:false error:&err]) { + if ([tester tryFindingAccessibilityElement:nil + view:&tv + withIdentifier:@"ChatRoom list" + tappable:false + error:&err]) { XCTAssertNotNil(tv); ASSERT_EQ([tv numberOfRowsInSection:0], 0); // no more messages } else { From c382374cccc17d2fa96cd616cd3e2713c1f9de35 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 16 Sep 2015 17:03:21 +0200 Subject: [PATCH 14/42] LinphoneUITester: be more resilient to delay when registering --- TestsUI/ChatTester.m | 4 +++- TestsUI/LinphoneTestCase.h | 2 ++ TestsUI/LinphoneTestCase.m | 21 ++++++++++++++++++--- TestsUI/WizardTester.m | 12 +++--------- 4 files changed, 26 insertions(+), 13 deletions(-) diff --git a/TestsUI/ChatTester.m b/TestsUI/ChatTester.m index be3c980be..7616bc62a 100644 --- a/TestsUI/ChatTester.m +++ b/TestsUI/ChatTester.m @@ -275,7 +275,9 @@ for (int i = 0; i < 3; i++) { // messages order is not known: if upload bitrate is huge, first image can be uploaded before last started while (![tester tryFindingTappableViewWithAccessibilityLabel:@"Download" error:nil]) { - [tester scrollViewWithAccessibilityIdentifier:@"Chat list" byFractionOfSizeHorizontal:0.f vertical:-.1f]; + [tester scrollViewWithAccessibilityIdentifier:@"ChatRoom list" + byFractionOfSizeHorizontal:0.f + vertical:-.1f]; } [tester waitForViewWithAccessibilityLabel:@"Download"]; [tester tapViewWithAccessibilityLabel:@"Download"]; diff --git a/TestsUI/LinphoneTestCase.h b/TestsUI/LinphoneTestCase.h index f7e15bc6a..9b5092759 100644 --- a/TestsUI/LinphoneTestCase.h +++ b/TestsUI/LinphoneTestCase.h @@ -21,6 +21,8 @@ - (UITableView *)findTableView:(NSString *)table; +- (void)waitForRegistration; + @end #define ASSERT_EQ(actual, expected) \ diff --git a/TestsUI/LinphoneTestCase.m b/TestsUI/LinphoneTestCase.m index 966842000..842fa1de1 100644 --- a/TestsUI/LinphoneTestCase.m +++ b/TestsUI/LinphoneTestCase.m @@ -136,12 +136,12 @@ static bool invalidAccount = true; linphone_auth_info_destroy(testAuth); linphone_address_destroy(testAddr); + linphone_core_set_file_transfer_server(lc, "https://www.linphone.org:444/lft.php"); + // reload address book to prepend proxy config domain to contacts' phone number [[[LinphoneManager instance] fastAddressBook] reload]; - [tester waitForViewWithAccessibilityLabel:@"Registration state" - value:@"Registered" - traits:UIAccessibilityTraitStaticText]; + [self waitForRegistration]; invalidAccount = false; } @@ -158,4 +158,19 @@ static bool invalidAccount = true; return tv; } +- (void)waitForRegistration { + // wait for account to be registered + int timeout = 15; + while (timeout && [tester tryFindingViewWithAccessibilityLabel:@"Registration state" + value:@"Registered" + traits:UIAccessibilityTraitStaticText + error:nil]) { + [tester waitForTimeInterval:1]; + timeout--; + } + [tester waitForViewWithAccessibilityLabel:@"Registration state" + value:@"Registered" + traits:UIAccessibilityTraitStaticText]; +} + @end diff --git a/TestsUI/WizardTester.m b/TestsUI/WizardTester.m index 3e39986fc..c21059b39 100644 --- a/TestsUI/WizardTester.m +++ b/TestsUI/WizardTester.m @@ -53,16 +53,12 @@ [tester tapViewWithAccessibilityLabel:@"Sign in SIP account"]; [tester enterText:[self me] intoViewWithAccessibilityLabel:@"Username"]; - [tester enterText:@"testtest" intoViewWithAccessibilityLabel:@"Password"]; + [tester enterText:[self me] intoViewWithAccessibilityLabel:@"Password"]; [tester enterText:[self accountDomain] intoViewWithAccessibilityLabel:@"Domain"]; [tester tapViewWithAccessibilityLabel:protocol]; [tester tapViewWithAccessibilityLabel:@"Sign in"]; - - // check the registration state - UIView *regState = [tester waitForViewWithAccessibilityLabel:@"Registration state"]; - [tester waitForTimeInterval:1]; - [tester expectView:regState toContainText:@"Registered"]; + [self waitForRegistration]; } #pragma mark - Tests @@ -103,9 +99,7 @@ [self _linphoneLogin:@"testios" withPW:@"testtest"]; // check the registration state - [tester waitForViewWithAccessibilityLabel:@"Registration state" - value:@"Registered" - traits:UIAccessibilityTraitStaticText]; + [self waitForRegistration]; } - (void)testLinphoneLoginWithBadPassword { From 021dae7e38f7dad156898c9dab12eb268a50698e Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 17 Sep 2015 16:39:48 +0200 Subject: [PATCH 15/42] update linphone submodule to fix crash when getting a socket error on iOS, during an incoming call. --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index fdf5abefd..04fede562 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit fdf5abefd67249b2270ceb605ebd1b61744e6811 +Subproject commit 04fede562c4a313d8fd0264a6986718ae222d156 From 87f7fa5fbf9142b7a09a7b0d511eb901a539b72f Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 18 Sep 2015 11:47:33 +0200 Subject: [PATCH 16/42] debug: "Send logs" button is now also attaching linphone.rc and linphone-chats.db --- Classes/LinphoneManager.m | 23 ++--- Classes/SettingsViewController.m | 146 ++++++++++++++++++++----------- Resources/linphonerc-factory | 1 + 3 files changed, 106 insertions(+), 64 deletions(-) diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index 270b5f089..68dea9a63 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -568,7 +568,7 @@ static void dump_section(const char *section, void *data) { lp_config_for_each_entry((const LpConfig *)data, section, dump_entry, &d); } -+ (void)dumpLCConfig { ++ (void)dumpLcConfig { if (theLinphoneCore) { LpConfig *conf = [LinphoneManager instance].configDb; lp_config_for_each_section(conf, dump_section, conf); @@ -1067,25 +1067,26 @@ static void linphone_iphone_is_composing_received(LinphoneCore *lc, LinphoneChat } static void showNetworkFlags(SCNetworkReachabilityFlags flags) { - LOGI(@"Network connection flags:"); + NSMutableString *log = [[NSMutableString alloc] initWithString:@"Network connection flags: "]; if (flags == 0) - LOGI(@"no flags."); + [log appendString:@"no flags."]; if (flags & kSCNetworkReachabilityFlagsTransientConnection) - LOGI(@"kSCNetworkReachabilityFlagsTransientConnection"); + [log appendString:@"kSCNetworkReachabilityFlagsTransientConnection, "]; if (flags & kSCNetworkReachabilityFlagsReachable) - LOGI(@"kSCNetworkReachabilityFlagsReachable"); + [log appendString:@"kSCNetworkReachabilityFlagsReachable, "]; if (flags & kSCNetworkReachabilityFlagsConnectionRequired) - LOGI(@"kSCNetworkReachabilityFlagsConnectionRequired"); + [log appendString:@"kSCNetworkReachabilityFlagsConnectionRequired, "]; if (flags & kSCNetworkReachabilityFlagsConnectionOnTraffic) - LOGI(@"kSCNetworkReachabilityFlagsConnectionOnTraffic"); + [log appendString:@"kSCNetworkReachabilityFlagsConnectionOnTraffic, "]; if (flags & kSCNetworkReachabilityFlagsConnectionOnDemand) - LOGI(@"kSCNetworkReachabilityFlagsConnectionOnDemand"); + [log appendString:@"kSCNetworkReachabilityFlagsConnectionOnDemand, "]; if (flags & kSCNetworkReachabilityFlagsIsLocalAddress) - LOGI(@"kSCNetworkReachabilityFlagsIsLocalAddress"); + [log appendString:@"kSCNetworkReachabilityFlagsIsLocalAddress, "]; if (flags & kSCNetworkReachabilityFlagsIsDirect) - LOGI(@"kSCNetworkReachabilityFlagsIsDirect"); + [log appendString:@"kSCNetworkReachabilityFlagsIsDirect, "]; if (flags & kSCNetworkReachabilityFlagsIsWWAN) - LOGI(@"kSCNetworkReachabilityFlagsIsWWAN"); + [log appendString:@"kSCNetworkReachabilityFlagsIsWWAN, "]; + LOGI(@"%@", log); } static void networkReachabilityNotification(CFNotificationCenterRef center, void *observer, CFStringRef name, diff --git a/Classes/SettingsViewController.m b/Classes/SettingsViewController.m index ea5a88125..a7f94af1c 100644 --- a/Classes/SettingsViewController.m +++ b/Classes/SettingsViewController.m @@ -741,32 +741,31 @@ static UICompositeViewDescription *compositeDescription = nil; } else if ([key isEqualToString:@"reset_logs_button"]) { linphone_core_reset_log_collection(); } else if ([key isEqual:@"send_logs_button"]) { - char *filepath = linphone_core_compress_log_collection(lc); - if (filepath == NULL) { - LOGE(@"Cannot sent logs: file is NULL"); - return; + NSString *message; + + if ([LinphoneManager.instance lpConfigBoolForKey:@"send_logs_include_linphonerc_and_chathistory"]) { + message = NSLocalizedString( + @"Warning: an email will be created with 3 attachments:\n- Application " + @"logs\n- Linphone configuration\n- Chats history.\nThey may contain " + @"private informations (MIGHT contain clear-text password!).\nYou can remove one or several " + @"of these attachments before sending your email, however there are all " + @"important to diagnostize your issue.", + nil); + } else { + message = NSLocalizedString(@"Warning: an email will be created with application " @"logs. It may contain " + @"private informations (but no password!).\nThese logs are " + @"important to diagnostize your issue.", + nil); } - NSString *filename = [[NSString stringWithUTF8String:filepath] componentsSeparatedByString:@"/"].lastObject; - NSString *mimeType; - if ([filename hasSuffix:@".jpg"]) { - mimeType = @"image/jpeg"; - } else if ([filename hasSuffix:@".png"]) { - mimeType = @"image/png"; - } else if ([filename hasSuffix:@".pdf"]) { - mimeType = @"application/pdf"; - } else if ([filename hasSuffix:@".txt"]) { - mimeType = @"text/plain"; - } else if ([filename hasSuffix:@".gz"]) { - mimeType = @"application/gzip"; - } else { - LOGE(@"Unknown extension type: %@, cancelling email", filename); - return; - } - [self emailAttachment:[NSData dataWithContentsOfFile:[NSString stringWithUTF8String:filepath]] - mimeType:mimeType - name:filename]; - ms_free(filepath); + DTAlertView *alert = + [[DTAlertView alloc] initWithTitle:NSLocalizedString(@"Sending logs", nil) message:message]; + [alert addCancelButtonWithTitle:NSLocalizedString(@"Cancel", nil) block:nil]; + [alert addButtonWithTitle:NSLocalizedString(@"I got it, continue", nil) + block:^{ + [self sendEmailWithDebugAttachments]; + }]; + [alert show]; } } @@ -779,45 +778,86 @@ static UICompositeViewDescription *compositeDescription = nil; [self goToWizard]; } -#pragma mark - Mail composer for send log -- (void)emailAttachment:(NSData *)attachment mimeType:(NSString *)type name:(NSString *)attachmentName { - if (attachmentName == nil || type == nil || attachmentName == nil) { - LOGE(@"Trying to email attachment but mandatory field is missing"); - return; +#pragma mark - Mail composer for sending logs + +- (void)sendEmailWithDebugAttachments { + LinphoneCore *lc = [LinphoneManager getLc]; + NSMutableArray *attachments = [[NSMutableArray alloc] initWithCapacity:3]; + + // retrieve linphone logs if available + char *filepath = linphone_core_compress_log_collection(lc); + if (filepath != NULL) { + NSString *filename = [[NSString stringWithUTF8String:filepath] componentsSeparatedByString:@"/"].lastObject; + NSString *mimeType = nil; + if ([filename hasSuffix:@".txt"]) { + mimeType = @"text/plain"; + } else if ([filename hasSuffix:@".gz"]) { + mimeType = @"application/gzip"; + } else { + LOGE(@"Unknown extension type: %@, not attaching logs", filename); + } + + if (mimeType != nil) { + [attachments addObject:@[ [NSString stringWithUTF8String:filepath], mimeType, filename ]]; + } } + if ([LinphoneManager.instance lpConfigBoolForKey:@"send_logs_include_linphonerc_and_chathistory"]) { + // retrieve linphone rc + [attachments + addObject:@[ [LinphoneManager documentFile:@"linphonerc"], @"text/plain", @"linphone-configuration.rc" ]]; + + // retrieve historydb + [attachments addObject:@[ + [LinphoneManager documentFile:@"linphone_chats.db"], + @"application/x-sqlite3", + @"linphone-chats-history.db" + ]]; + } + + [self emailAttachments:attachments]; + ms_free(filepath); +} +- (void)emailAttachments:(NSArray *)attachments { + NSString *error = nil; #if TARGET_IPHONE_SIMULATOR - UIAlertView *error = [[UIAlertView alloc] - initWithTitle:NSLocalizedString(@"Cannot send email", nil) - message:NSLocalizedString( - @"Simulator cannot send emails. To test this feature, please use a real device.", nil) - delegate:nil - cancelButtonTitle:NSLocalizedString(@"Continue", nil) - otherButtonTitles:nil]; - [error show]; + error = + NSLocalizedString(@"Cannot send emails on the Simulator. To test this feature, please use a real device.", nil); #else - if ([MFMailComposeViewController canSendMail] == YES) { + if ([MFMailComposeViewController canSendMail] == NO) { + error = NSLocalizedString( + @"Your device is not configured to send emails. Please configure mail application prior to send logs.", + nil); + } +#endif + + if (error != nil) { + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Cannot send email", nil) + message:error + delegate:nil + cancelButtonTitle:NSLocalizedString(@"Continue", nil) + otherButtonTitles:nil]; + [alert show]; + } else { MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; picker.mailComposeDelegate = self; - [picker setSubject:NSLocalizedString(@"Linphone Logs", nil)]; + [picker setSubject:NSLocalizedString(@"Linphone iOS Logs", nil)]; [picker setToRecipients:[NSArray arrayWithObjects:@"linphone-iphone@belledonne-communications.com", nil]]; - [picker setMessageBody:NSLocalizedString(@"Linphone logs", nil) isHTML:NO]; - [picker addAttachmentData:attachment mimeType:type fileName:attachmentName]; - + [picker setMessageBody:NSLocalizedString(@"Here are information about an issue I had on my device.\nI was " + @"doing ...\nI expected Linphone to ...\nInstead, I got an " + @"unexpected result: ...", + nil) + isHTML:NO]; + for (NSArray *attachment in attachments) { + if ([[NSFileManager defaultManager] fileExistsAtPath:attachment[0]]) { + [picker addAttachmentData:[NSData dataWithContentsOfFile:attachment[0]] + mimeType:attachment[1] + fileName:attachment[2]]; + } + } [self presentViewController:picker animated:true completion:nil]; - } else { - UIAlertView *error = [[UIAlertView alloc] - initWithTitle:NSLocalizedString(@"Cannot send email", nil) - message:NSLocalizedString(@"Your device is not configured to send emails. Please configure mail " - @"application prior to send logs.", - nil) - delegate:nil - cancelButtonTitle:NSLocalizedString(@"Continue", nil) - otherButtonTitles:nil]; - [error show]; } -#endif } - (void)mailComposeController:(MFMailComposeViewController *)controller diff --git a/Resources/linphonerc-factory b/Resources/linphonerc-factory index be0721924..4ddba5a5f 100644 --- a/Resources/linphonerc-factory +++ b/Resources/linphonerc-factory @@ -18,6 +18,7 @@ display_filter_auto_rotate=0 #contact_display_username_only=1 #contact_filter_on_default_domain=1 #use_phone_number=0 +send_logs_include_linphonerc_and_chathistory=0 [in_app_purchase] enabled=0 \ No newline at end of file From 539090b635636b0de3d1625a78509d62a0e486dd Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Thu, 17 Sep 2015 16:51:38 +0200 Subject: [PATCH 17/42] ios9: fix project compilation for xcode7/ios9 and disable bitcode for yet. Warning: VPX build is broken yet --- Classes/ContactsViewController.m | 2 +- Classes/PhoneMainView.m | 2 +- Classes/Utils/FastAddressBook.m | 3 +- Classes/Utils/FileTransferDelegate.m | 1 - .../InAppSettingsKit/Models/IASKSpecifier.h | 2 +- .../InAppSettingsKit/Models/IASKSpecifier.m | 27 +++++++++-------- .../NinePatch.xcodeproj/project.pbxproj | 3 +- .../XMLRPC/XMLRPC.xcodeproj/project.pbxproj | 3 +- LiblinphoneTester/LinphoneTester-Info.plist | 2 +- .../AppIcon.appiconset/Contents.json | 10 +++++++ .../LinphoneTesterTests-Info.plist | 2 +- TestsUI/Info.plist | 2 +- linphone-Info.plist | 2 +- linphone.xcodeproj/project.pbxproj | 29 +++++++++++++++++-- .../xcschemes/LinphoneTester.xcscheme | 13 +++++---- .../xcshareddata/xcschemes/linphone.xcscheme | 13 +++++---- linphone_Prefix.pch | 1 - prepare.py | 25 ++++++++-------- submodules/belle-sip | 2 +- submodules/cmake-builder | 2 +- submodules/cunit | 2 +- 21 files changed, 93 insertions(+), 55 deletions(-) diff --git a/Classes/ContactsViewController.m b/Classes/ContactsViewController.m index f013f3496..ddcf92ce6 100644 --- a/Classes/ContactsViewController.m +++ b/Classes/ContactsViewController.m @@ -303,7 +303,7 @@ static UICompositeViewDescription *compositeDescription = nil; } - (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar { - [self searchBar:searchBar textDidChange:nil]; + [self searchBar:searchBar textDidChange:@""]; [searchBar resignFirstResponder]; } diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index c9d48d9e7..84900a280 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -226,7 +226,7 @@ static RootViewManager *rootViewManagerInstance = nil; } } -- (NSUInteger)supportedInterfaceOrientations { +- (UIInterfaceOrientationMask)supportedInterfaceOrientations { if ([LinphoneManager runningOnIpad] || [mainViewController currentViewSupportsLandscape]) return UIInterfaceOrientationMaskAll; else { diff --git a/Classes/Utils/FastAddressBook.m b/Classes/Utils/FastAddressBook.m index aa076ea62..fc4694d45 100644 --- a/Classes/Utils/FastAddressBook.m +++ b/Classes/Utils/FastAddressBook.m @@ -137,8 +137,7 @@ static void sync_address_book(ABAddressBookRef addressBook, CFDictionaryRef info } + (BOOL)isAuthorized { - return !ABAddressBookGetAuthorizationStatus || - ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized; + return ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized; } - (FastAddressBook *)init { diff --git a/Classes/Utils/FileTransferDelegate.m b/Classes/Utils/FileTransferDelegate.m index f9fdf0d07..613966092 100644 --- a/Classes/Utils/FileTransferDelegate.m +++ b/Classes/Utils/FileTransferDelegate.m @@ -196,7 +196,6 @@ static LinphoneBuffer *linphone_iphone_file_transfer_send(LinphoneChatMessage *m // when we cancel file transfer, this will automatically trigger NotDelivered callback... recalling ourself a // second time so we have to unset message BEFORE calling this linphone_chat_message_cancel_file_transfer(msg); - linphone_chat_message_unref(msg); } _data = nil; LOGI(@"%p Destroying", self); diff --git a/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.h b/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.h index 131352104..233c6bf1f 100755 --- a/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.h +++ b/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.h @@ -58,5 +58,5 @@ - (UIImage *)cellImage; - (UIImage *)highlightedCellImage; - (BOOL)adjustsFontSizeToFitWidth; -- (UITextAlignment)textAlignment; +- (NSTextAlignment)textAlignment; @end diff --git a/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.m b/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.m index 9a4f7b338..471ae2eb3 100755 --- a/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.m +++ b/Classes/Utils/InAppSettingsKit/Models/IASKSpecifier.m @@ -251,20 +251,19 @@ return !boxedResult || [boxedResult boolValue]; } -- (UITextAlignment)textAlignment -{ - if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentLeft]) { - return UITextAlignmentLeft; - } else if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentCenter]) { - return UITextAlignmentCenter; - } else if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentRight]) { - return UITextAlignmentRight; - } - if ([self.type isEqualToString:kIASKButtonSpecifier] && !self.cellImage) { - return UITextAlignmentCenter; - } else if ([self.type isEqualToString:kIASKPSMultiValueSpecifier] || [self.type isEqualToString:kIASKPSTitleValueSpecifier]) { - return UITextAlignmentRight; +- (NSTextAlignment)textAlignment { + if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentLeft]) { + return NSTextAlignmentLeft; + } else if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentCenter]) { + return NSTextAlignmentCenter; + } else if ([[_specifierDict objectForKey:kIASKTextLabelAlignment] isEqualToString:kIASKTextLabelAlignmentRight]) { + return NSTextAlignmentRight; } - return UITextAlignmentLeft; + if ([self.type isEqualToString:kIASKButtonSpecifier] && !self.cellImage) { + return NSTextAlignmentCenter; + } else if ([self.type isEqualToString:kIASKPSMultiValueSpecifier] || [self.type isEqualToString:kIASKPSTitleValueSpecifier]) { + return NSTextAlignmentRight; + } + return NSTextAlignmentLeft; } @end diff --git a/Classes/Utils/NinePatch/NinePatch.xcodeproj/project.pbxproj b/Classes/Utils/NinePatch/NinePatch.xcodeproj/project.pbxproj index b0d12a599..5c6982b70 100755 --- a/Classes/Utils/NinePatch/NinePatch.xcodeproj/project.pbxproj +++ b/Classes/Utils/NinePatch/NinePatch.xcodeproj/project.pbxproj @@ -223,7 +223,7 @@ 0867D690FE84028FC02AAC07 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0610; + LastUpgradeCheck = 0700; }; buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "NinePatch" */; compatibilityVersion = "Xcode 3.2"; @@ -306,6 +306,7 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = "Don't Code Sign"; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = c99; GCC_OPTIMIZATION_LEVEL = 0; GCC_THUMB_SUPPORT = NO; diff --git a/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj b/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj index c4e28e185..eb98eaae4 100755 --- a/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj +++ b/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj @@ -317,7 +317,7 @@ 0867D690FE84028FC02AAC07 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0610; + LastUpgradeCheck = 0700; }; buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "XMLRPC" */; compatibilityVersion = "Xcode 3.2"; @@ -403,6 +403,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 07127C590F4266F4009C7476 /* CommonDevelopment.xcconfig */; buildSettings = { + ENABLE_TESTABILITY = YES; GCC_THUMB_SUPPORT = NO; IPHONEOS_DEPLOYMENT_TARGET = 4.0; ONLY_ACTIVE_ARCH = YES; diff --git a/LiblinphoneTester/LinphoneTester-Info.plist b/LiblinphoneTester/LinphoneTester-Info.plist index 80088103a..e6e68329c 100644 --- a/LiblinphoneTester/LinphoneTester-Info.plist +++ b/LiblinphoneTester/LinphoneTester-Info.plist @@ -13,7 +13,7 @@ CFBundleIcons~ipad CFBundleIdentifier - com.belledonne-communications.tester.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/Resources/Images.xcassets/AppIcon.appiconset/Contents.json b/Resources/Images.xcassets/AppIcon.appiconset/Contents.json index 80ca25902..2982bf4af 100644 --- a/Resources/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Resources/Images.xcassets/AppIcon.appiconset/Contents.json @@ -10,11 +10,21 @@ "size" : "29x29", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "40x40", "scale" : "2x" }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, { "size" : "57x57", "idiom" : "iphone", diff --git a/TestsLiblinphone/LinphoneTesterTests-Info.plist b/TestsLiblinphone/LinphoneTesterTests-Info.plist index 8715e636e..169b6f710 100644 --- a/TestsLiblinphone/LinphoneTesterTests-Info.plist +++ b/TestsLiblinphone/LinphoneTesterTests-Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.belledonne-communications.tester.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType diff --git a/TestsUI/Info.plist b/TestsUI/Info.plist index fddcb8263..ba72822e8 100644 --- a/TestsUI/Info.plist +++ b/TestsUI/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - org.linphone.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/linphone-Info.plist b/linphone-Info.plist index 04f0fcf6b..cefdb0428 100644 --- a/linphone-Info.plist +++ b/linphone-Info.plist @@ -11,7 +11,7 @@ CFBundleIcons~ipad CFBundleIdentifier - org.linphone.phone + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleLocalizations diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index ee679de1a..ea1612557 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -117,7 +117,6 @@ 63058A281B4E821E00EFAE36 /* Main_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 63058A151B4E821E00EFAE36 /* Main_iPad.storyboard */; }; 63058A291B4E821E00EFAE36 /* Main_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 63058A171B4E821E00EFAE36 /* Main_iPhone.storyboard */; }; 63058A2A1B4E821E00EFAE36 /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 63058A1A1B4E821E00EFAE36 /* DetailViewController.m */; }; - 63058A2B1B4E821E00EFAE36 /* LinphoneTester-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 63058A1C1B4E821E00EFAE36 /* LinphoneTester-Info.plist */; }; 63058A2C1B4E821E00EFAE36 /* LogsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 63058A1F1B4E821E00EFAE36 /* LogsViewController.m */; }; 63058A2D1B4E821E00EFAE36 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 63058A201B4E821E00EFAE36 /* main.m */; }; 63058A2E1B4E821E00EFAE36 /* MasterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 63058A221B4E821E00EFAE36 /* MasterViewController.m */; }; @@ -3247,7 +3246,7 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0610; + LastUpgradeCheck = 0700; TargetAttributes = { 1D6058900D05DD3D006BFB54 = { DevelopmentTeam = Z2V957B3D6; @@ -3951,7 +3950,6 @@ 63058AE01B4E937300EFAE36 /* sounds in Resources */, 63058AE21B4E93A100EFAE36 /* tester_hosts in Resources */, F84015C11939FE37006ABAB5 /* test_passed.png in Resources */, - 63058A2B1B4E821E00EFAE36 /* LinphoneTester-Info.plist in Resources */, 63058A2F1B4E821E00EFAE36 /* TesterImages.xcassets in Resources */, 63058A251B4E821E00EFAE36 /* InfoPlist.strings in Resources */, 63058A271B4E821E00EFAE36 /* Main_iPhone.strings in Resources */, @@ -4657,6 +4655,7 @@ LINK_WITH_STANDARD_LIBRARIES = YES; ORDER_FILE = ""; OTHER_LDFLAGS = "-ObjC"; + PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; PRODUCT_NAME = linphone; PROVISIONING_PROFILE = ""; SKIP_INSTALL = NO; @@ -4680,7 +4679,9 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Distribution: jehan monnier"; + ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; GCC_THUMB_SUPPORT = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -4740,6 +4741,7 @@ LINK_WITH_STANDARD_LIBRARIES = YES; ORDER_FILE = ""; OTHER_LDFLAGS = "-ObjC"; + PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; PRODUCT_NAME = linphone; PROVISIONING_PROFILE = ""; SKIP_INSTALL = NO; @@ -4763,7 +4765,9 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Developer"; + ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; GCC_THUMB_SUPPORT = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -4823,6 +4827,7 @@ LINK_WITH_STANDARD_LIBRARIES = YES; ORDER_FILE = ""; OTHER_LDFLAGS = "-ObjC"; + PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; PRODUCT_NAME = linphone; PROVISIONING_PROFILE = ""; SKIP_INSTALL = NO; @@ -4846,7 +4851,9 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Distribution: jehan monnier"; + ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; GCC_THUMB_SUPPORT = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -4906,6 +4913,7 @@ LINK_WITH_STANDARD_LIBRARIES = YES; ORDER_FILE = ""; OTHER_LDFLAGS = "-ObjC"; + PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone; PRODUCT_NAME = linphone; PROVISIONING_PROFILE = ""; SKIP_INSTALL = NO; @@ -4929,7 +4937,10 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "iPhone Developer: jehan monnier (E8MYPN2NXL)"; + ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_NO_COMMON_BLOCKS = YES; GCC_THUMB_SUPPORT = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -4999,6 +5010,7 @@ "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.belledonne-communications.tester.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/liblinphoneTester.app/liblinphoneTester"; @@ -5048,6 +5060,7 @@ "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); + PRODUCT_BUNDLE_IDENTIFIER = "com.belledonne-communications.tester.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/liblinphoneTester.app/liblinphoneTester"; @@ -5098,6 +5111,7 @@ "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); + PRODUCT_BUNDLE_IDENTIFIER = "com.belledonne-communications.tester.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/liblinphoneTester.app/liblinphoneTester"; @@ -5148,6 +5162,7 @@ "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); + PRODUCT_BUNDLE_IDENTIFIER = "com.belledonne-communications.tester.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/liblinphoneTester.app/liblinphoneTester"; @@ -5205,6 +5220,7 @@ "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.belledonne-communications.tester.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; TARGETED_DEVICE_FAMILY = "1,2"; @@ -5254,6 +5270,7 @@ "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); + PRODUCT_BUNDLE_IDENTIFIER = "com.belledonne-communications.tester.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; TARGETED_DEVICE_FAMILY = "1,2"; @@ -5304,6 +5321,7 @@ "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); + PRODUCT_BUNDLE_IDENTIFIER = "com.belledonne-communications.tester.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; TARGETED_DEVICE_FAMILY = "1,2"; @@ -5354,6 +5372,7 @@ "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); + PRODUCT_BUNDLE_IDENTIFIER = "com.belledonne-communications.tester.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; TARGETED_DEVICE_FAMILY = "1,2"; @@ -5411,6 +5430,7 @@ XCTest, "-ObjC", ); + PRODUCT_BUNDLE_IDENTIFIER = "org.linphone.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/linphone.app/linphone"; @@ -5459,6 +5479,7 @@ XCTest, "-ObjC", ); + PRODUCT_BUNDLE_IDENTIFIER = "org.linphone.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/linphone.app/linphone"; @@ -5508,6 +5529,7 @@ XCTest, "-ObjC", ); + PRODUCT_BUNDLE_IDENTIFIER = "org.linphone.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/linphone.app/linphone"; @@ -5557,6 +5579,7 @@ XCTest, "-ObjC", ); + PRODUCT_BUNDLE_IDENTIFIER = "org.linphone.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/linphone.app/linphone"; diff --git a/linphone.xcodeproj/xcshareddata/xcschemes/LinphoneTester.xcscheme b/linphone.xcodeproj/xcshareddata/xcschemes/LinphoneTester.xcscheme index 34838d717..03cb5e97d 100644 --- a/linphone.xcodeproj/xcshareddata/xcschemes/LinphoneTester.xcscheme +++ b/linphone.xcodeproj/xcshareddata/xcschemes/LinphoneTester.xcscheme @@ -1,6 +1,6 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -48,15 +48,18 @@ ReferencedContainer = "container:linphone.xcodeproj"> + + @@ -72,10 +75,10 @@ diff --git a/linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme b/linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme index f647fdabe..9781b8192 100644 --- a/linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme +++ b/linphone.xcodeproj/xcshareddata/xcschemes/linphone.xcscheme @@ -1,6 +1,6 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -62,15 +62,18 @@ ReferencedContainer = "container:linphone.xcodeproj"> + + @@ -91,10 +94,10 @@ diff --git a/linphone_Prefix.pch b/linphone_Prefix.pch index f0d42b96a..d3dac1750 100644 --- a/linphone_Prefix.pch +++ b/linphone_Prefix.pch @@ -9,7 +9,6 @@ #ifdef __IPHONE_8_0 // suppress these errors until we are ready to handle them -#pragma message "Ignoring designated initializer warnings" #pragma clang diagnostic ignored "-Wobjc-designated-initializers" #else // temporarily define an empty NS_DESIGNATED_INITIALIZER so we can use now, diff --git a/prepare.py b/prepare.py index b14456239..c34b27818 100755 --- a/prepare.py +++ b/prepare.py @@ -97,7 +97,6 @@ archs_device = ['arm64', 'armv7'] archs_simu = ['i386', 'x86_64'] platforms = ['all', 'devices', 'simulators'] + archs_device + archs_simu - class PlatformListAction(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): @@ -238,13 +237,15 @@ def check_tools(): error("iOS SDK not found, please install Xcode from AppStore or equivalent.") reterr = 1 else: - sdk_platform_path = Popen( - "xcrun --sdk iphonesimulator --show-sdk-platform-path".split(" "), stdout=PIPE, stderr=devnull).stdout.read()[:-1] - sdk_strings_path = "{}/{}".format(sdk_platform_path, "Developer/usr/bin/strings") - if not os.path.isfile(sdk_strings_path): - strings_path = find_executable("strings") - error("strings binary missing, please run:\n\tsudo ln -s {} {}".format(strings_path, sdk_strings_path)) - reterr = 1 + xcode_version = float(Popen("xcodebuild -version".split(" "), stdout=PIPE).stdout.read().split("\n")[0].split(" ")[1]) + if xcode_version < 7.0: + sdk_platform_path = Popen( + "xcrun --sdk iphonesimulator --show-sdk-platform-path".split(" "), stdout=PIPE, stderr=devnull).stdout.read()[:-1] + sdk_strings_path = "{}/{}".format(sdk_platform_path, "Developer/usr/bin/strings") + if not os.path.isfile(sdk_strings_path): + strings_path = find_executable("strings") + error("strings binary missing, please run:\n\tsudo ln -s {} {}".format(strings_path, sdk_strings_path)) + reterr = 1 return reterr @@ -383,9 +384,9 @@ veryclean: $(addprefix veryclean-,$(packages)) generate-dummy-%: \t@echo "[{archs}] Generating dummy $* static library." ; \\ \tprintf "void $*_init() {{}}" | tr '-' '_' > .dummy.c ; \\ -\tfor arch in {archs}; do clang -c .dummy.c -arch $$arch -o .dummy-$$arch.a; done ; \\ -\tlipo -create -output .dummy.a .dummy-*.a ; \\ -\trm .dummy-*.a .dummy.c +\tfor arch in {archs}; do clang -flto -emit-llvm -c .dummy.c -arch $$arch -o .dummy-$$arch.tbd; done ; \\ +\tlipo -create -output .dummy.tbd .dummy-*.tbd; \\ +\trm .dummy-*.tbd .dummy.c lipo: \tarchives=`find liblinphone-sdk/{first_arch}-apple-darwin.ios -name *.a` && \\ @@ -414,7 +415,7 @@ lipo: \t\tfi ; \\ \t\tif ! test -f $$library_path ; then \\ \t\t\t$(MAKE) generate-dummy-$$lib ; \\ -\t\t\tmv .dummy.a $$library_path ; \\ +\t\t\tmv .dummy.tbd $$library_path ; \\ \t\tfi \\ \tdone diff --git a/submodules/belle-sip b/submodules/belle-sip index b1707d976..5910d6bea 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit b1707d976a90afa8079655ac1f9f0eef23dc5709 +Subproject commit 5910d6bea58e9e4a4d6476aa31318f11f5ef1271 diff --git a/submodules/cmake-builder b/submodules/cmake-builder index 6f9dde2b9..6b49fb87e 160000 --- a/submodules/cmake-builder +++ b/submodules/cmake-builder @@ -1 +1 @@ -Subproject commit 6f9dde2b9fd2dd64a0e0bab87cf3e0b30290da1d +Subproject commit 6b49fb87e8df8fdc7d4002e69f882d08363207be diff --git a/submodules/cunit b/submodules/cunit index f7c0fe0b5..aa13f89d1 160000 --- a/submodules/cunit +++ b/submodules/cunit @@ -1 +1 @@ -Subproject commit f7c0fe0b5b03f5bc8addd45b359ea5c561d0a9d0 +Subproject commit aa13f89d1115d809b0dff2f200e19036755bd3b4 From 1aa908fef40918b1e0ab01414719f1992842acc5 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 18 Sep 2015 14:19:34 +0200 Subject: [PATCH 18/42] ios9: try to fix compilation for ios8 and lower --- Classes/PhoneMainView.m | 7 ++++++- submodules/linphone | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index 84900a280..09eccf343 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -226,7 +226,12 @@ static RootViewManager *rootViewManagerInstance = nil; } } -- (UIInterfaceOrientationMask)supportedInterfaceOrientations { +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000 +- (UIInterfaceOrientationMask)supportedInterfaceOrientations +#else +- (NSUInteger)supportedInterfaceOrientations +#endif +{ if ([LinphoneManager runningOnIpad] || [mainViewController currentViewSupportsLandscape]) return UIInterfaceOrientationMaskAll; else { diff --git a/submodules/linphone b/submodules/linphone index 04fede562..096b71cd7 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 04fede562c4a313d8fd0264a6986718ae222d156 +Subproject commit 096b71cd7e619c90047ff7a03731ecc24005bd7c From 17ac3eb8b1e9a6b574c049e03a0e2f1d6c2f5911 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 18 Sep 2015 17:27:50 +0200 Subject: [PATCH 19/42] ios9: fix various errors including disabling dummy libraries bitcode support --- LiblinphoneTester/MasterViewController.h | 4 ++-- TestsUI/LinphoneTestCase.m | 20 +++++++------------- TestsUI/WizardTester.m | 5 ----- prepare.py | 2 +- submodules/linphone | 2 +- 5 files changed, 11 insertions(+), 22 deletions(-) diff --git a/LiblinphoneTester/MasterViewController.h b/LiblinphoneTester/MasterViewController.h index b9d833721..3f343ac72 100644 --- a/LiblinphoneTester/MasterViewController.h +++ b/LiblinphoneTester/MasterViewController.h @@ -8,8 +8,8 @@ #import -NSMutableArray *lastLogs; -NSString *const kLogsUpdateNotification; +extern NSMutableArray *lastLogs; +extern NSString *const kLogsUpdateNotification; @class DetailViewController; diff --git a/TestsUI/LinphoneTestCase.m b/TestsUI/LinphoneTestCase.m index 842fa1de1..89148092b 100644 --- a/TestsUI/LinphoneTestCase.m +++ b/TestsUI/LinphoneTestCase.m @@ -27,6 +27,7 @@ - (void)beforeAll { [super beforeAll]; + #if TARGET_IPHONE_SIMULATOR while ([tester acknowledgeSystemAlert]) { [tester waitForTimeInterval:.5f]; @@ -40,6 +41,10 @@ } } +- (void)beforeEach { + [[LinphoneManager instance] lpConfigSetInt:NO forKey:@"animations_preference"]; +} + - (NSString *)me { return [NSString stringWithFormat:@"testios-%@", [[UIDevice currentDevice].identifierForVendor.UUIDString substringToIndex:6]]; @@ -61,16 +66,6 @@ return array; } -static bool invalidAccount = true; - -- (void)setInvalidAccountSet:(BOOL)invalidAccountSet { - invalidAccount = invalidAccountSet; -} - -- (BOOL)invalidAccountSet { - return invalidAccount; -} - - (BOOL)hasValidProxyConfig { LinphoneCore *lc = [LinphoneManager getLc]; const MSList *proxies = linphone_core_get_proxy_config_list(lc); @@ -100,7 +95,7 @@ static bool invalidAccount = true; - (void)switchToValidAccountIfNeeded { [UIView setAnimationsEnabled:false]; - if (invalidAccount && ![self hasValidProxyConfig]) { + if (![self hasValidProxyConfig]) { LOGI(@"Switching to a test account..."); LinphoneCore *lc = [LinphoneManager getLc]; @@ -142,8 +137,7 @@ static bool invalidAccount = true; [[[LinphoneManager instance] fastAddressBook] reload]; [self waitForRegistration]; - - invalidAccount = false; + [[LinphoneManager instance] lpConfigSetInt:NO forKey:@"animations_preference"]; } } diff --git a/TestsUI/WizardTester.m b/TestsUI/WizardTester.m index c21059b39..c09602afe 100644 --- a/TestsUI/WizardTester.m +++ b/TestsUI/WizardTester.m @@ -29,11 +29,6 @@ [tester tapViewWithAccessibilityLabel:@"Dialer"]; } -#pragma mark - State - -+ (void)switchToValidAccountWithTester:(KIFTestCase *)testCase { -} - #pragma mark - Utilities - (void)_linphoneLogin:(NSString *)username withPW:(NSString *)pw { diff --git a/prepare.py b/prepare.py index c34b27818..6d92cc5b4 100755 --- a/prepare.py +++ b/prepare.py @@ -384,7 +384,7 @@ veryclean: $(addprefix veryclean-,$(packages)) generate-dummy-%: \t@echo "[{archs}] Generating dummy $* static library." ; \\ \tprintf "void $*_init() {{}}" | tr '-' '_' > .dummy.c ; \\ -\tfor arch in {archs}; do clang -flto -emit-llvm -c .dummy.c -arch $$arch -o .dummy-$$arch.tbd; done ; \\ +\tfor arch in {archs}; do clang -c .dummy.c -arch $$arch -o .dummy-$$arch.tbd; done ; \\ \tlipo -create -output .dummy.tbd .dummy-*.tbd; \\ \trm .dummy-*.tbd .dummy.c diff --git a/submodules/linphone b/submodules/linphone index 096b71cd7..1213a64a6 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 096b71cd7e619c90047ff7a03731ecc24005bd7c +Subproject commit 1213a64a64bea68b5cbcde4c5573822201c25265 From f7d5823d5e524746a602b6f9cb84a901dfd1b327 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 18 Sep 2015 17:38:23 +0200 Subject: [PATCH 20/42] prepare.py: rename target lipo to sdk and target sdk to zipsdk for consistency --- prepare.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/prepare.py b/prepare.py index 6d92cc5b4..64d5335a6 100755 --- a/prepare.py +++ b/prepare.py @@ -341,7 +341,7 @@ libs_list={libs_list} LINPHONE_IPHONE_VERSION=$(shell git describe --always) .PHONY: all -.SILENT: lipo +.SILENT: sdk all: build @@ -388,7 +388,7 @@ generate-dummy-%: \tlipo -create -output .dummy.tbd .dummy-*.tbd; \\ \trm .dummy-*.tbd .dummy.c -lipo: +sdk: \tarchives=`find liblinphone-sdk/{first_arch}-apple-darwin.ios -name *.a` && \\ \trm -rf liblinphone-sdk/apple-darwin && \\ \tmkdir -p liblinphone-sdk/apple-darwin && \\ @@ -420,13 +420,13 @@ lipo: \tdone build: $(addprefix all-,$(archs)) -\t$(MAKE) lipo +\t$(MAKE) sdk ipa: build \txcodebuild -configuration Release \\ \t&& xcrun -sdk iphoneos PackageApplication -v build/Release-iphoneos/linphone.app -o $$PWD/linphone-iphone.ipa -sdk: build +sdkzip: sdk \techo "Generating SDK zip file for version $(LINPHONE_IPHONE_VERSION)" \tzip -r liblinphone-iphone-sdk-$(LINPHONE_IPHONE_VERSION).zip \\ \tliblinphone-sdk/apple-darwin \\ @@ -459,7 +459,8 @@ help: help-prepare-options \t@echo "Available targets:" \t@echo "" \t@echo " * all or build: builds all architectures and creates the liblinphone SDK" -\t@echo " * sdk: generates a ZIP archive of liblinphone-sdk/apple-darwin containing the SDK. Use this only after a full build." +\t@echo " * sdk: creates the liblinphone SDK. Use this only after a full build" +\t@echo " * zipsdk: generates a ZIP archive of liblinphone-sdk/apple-darwin containing the SDK. Use this only after SDK is built." \t@echo " * zipres: creates a tar.gz file with all the resources (images)" \t@echo "" \t@echo "=== Advanced usage ===" From d66fad5896a35f63f733dc373c6660d045c8e349 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 18 Sep 2015 17:38:41 +0200 Subject: [PATCH 21/42] liblinphone: set history in database now --- Classes/LinphoneManager.m | 3 ++- submodules/linphone | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index 68dea9a63..f6652360a 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -1320,7 +1320,8 @@ static LinphoneCoreVTable linphonec_vtable = {.show = NULL, [zrtpSecretsFileName cStringUsingEncoding:[NSString defaultCStringEncoding]]); linphone_core_set_chat_database_path(theLinphoneCore, [chatDBFileName cStringUsingEncoding:[NSString defaultCStringEncoding]]); - + linphone_core_set_call_logs_database_path(theLinphoneCore, + [chatDBFileName cStringUsingEncoding:[NSString defaultCStringEncoding]]); [self migrationLinphoneSettings]; [self setupNetworkReachabilityCallback]; diff --git a/submodules/linphone b/submodules/linphone index 1213a64a6..1ce35ae7e 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 1213a64a64bea68b5cbcde4c5573822201c25265 +Subproject commit 1ce35ae7e3934916bde5b3551899f4b838d7964e From 35c7325892dc933d1a7466bb77e0d087279401b8 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 21 Sep 2015 10:47:28 +0200 Subject: [PATCH 22/42] submodules: update KIF to latest stable version 3.3 --- Classes/KIF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/KIF b/Classes/KIF index dc82f0f13..21a137bc8 160000 --- a/Classes/KIF +++ b/Classes/KIF @@ -1 +1 @@ -Subproject commit dc82f0f131d48d76d9fdfe227b5c947a8e601e93 +Subproject commit 21a137bc8068f9fb738f835c6e285d44fe2ce4dd From 50ad17e7bc081a61325b957f3e02f997dc9b5283 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 21 Sep 2015 10:47:00 +0200 Subject: [PATCH 23/42] ChatRoomViewController.m: call linphone_send_message only after having added the message to the list to avoid error log --- Classes/ChatRoomViewController.m | 5 +++-- Classes/LinphoneUI/UIChatRoomCell.m | 4 ++-- TestsUI/ChatTester.m | 7 +++++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Classes/ChatRoomViewController.m b/Classes/ChatRoomViewController.m index 2f93b6eb9..452e5392a 100644 --- a/Classes/ChatRoomViewController.m +++ b/Classes/ChatRoomViewController.m @@ -278,8 +278,6 @@ static void message_status(LinphoneChatMessage *msg, LinphoneChatMessageState st linphone_chat_message_set_external_body_url(msg, [[externalUrl absoluteString] UTF8String]); } - linphone_chat_room_send_message2(chatRoom, msg, message_status, (__bridge void *)(self)); - if (internalUrl) { // internal url is saved in the appdata for display and later save [LinphoneManager setValueInMessageAppData:[internalUrl absoluteString] forKey:@"localimage" inMessage:msg]; @@ -287,6 +285,9 @@ static void message_status(LinphoneChatMessage *msg, LinphoneChatMessageState st [tableController addChatEntry:msg]; [tableController scrollToBottom:true]; + + linphone_chat_room_send_message2(chatRoom, msg, message_status, (__bridge void *)(self)); + return TRUE; } diff --git a/Classes/LinphoneUI/UIChatRoomCell.m b/Classes/LinphoneUI/UIChatRoomCell.m index 8bae63bb2..37ee3f8fc 100644 --- a/Classes/LinphoneUI/UIChatRoomCell.m +++ b/Classes/LinphoneUI/UIChatRoomCell.m @@ -453,7 +453,6 @@ static UIFont *CELL_FONT = nil; #pragma mark - State changed handling static void message_status(LinphoneChatMessage *msg, LinphoneChatMessageState state) { UIChatRoomCell *thiz = (__bridge UIChatRoomCell *)linphone_chat_message_get_user_data(msg); - LOGI(@"State for message [%p] changed to %s", msg, linphone_chat_message_state_to_string(state)); if (linphone_chat_message_get_file_transfer_information(msg) != NULL) { if (state == LinphoneChatMessageStateDelivered || state == LinphoneChatMessageStateNotDelivered) { // we need to refresh the tableview because the filetransfer delegate unreffed @@ -470,8 +469,9 @@ static void message_status(LinphoneChatMessage *msg, LinphoneChatMessageState st // This is breaking interface too much, it must be fixed in file transfer cb.. meanwhile, disabling it. if (thiz->ftd) { - [thiz->ftd stopAndDestroy]; + FileTransferDelegate *c = thiz->ftd; thiz->ftd = nil; + [c stopAndDestroy]; } } } diff --git a/TestsUI/ChatTester.m b/TestsUI/ChatTester.m index 7616bc62a..4ecb45ed4 100644 --- a/TestsUI/ChatTester.m +++ b/TestsUI/ChatTester.m @@ -321,6 +321,13 @@ ASSERT_EQ([[[LinphoneManager instance] fileTransferDelegates] count], 0); } +- (void)testTransferDestroyRoomWhileUploading { + [self startChatWith:[self me]]; + [self uploadImageWithQuality:@"Maximum"]; + [self goBackFromChat]; + [self removeAllRooms]; +} + - (void)testTransferDownloadImage { [self downloadImage]; [tester waitForAbsenceOfViewWithAccessibilityLabel:@"Cancel transfer"]; From 118063c6522b5d6b209f7392ab58564a8ae61626 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Tue, 22 Sep 2015 14:55:04 +0200 Subject: [PATCH 24/42] submodules: use our vpx copy to fix ios9 build --- .gitmodules | 2 +- submodules/externals/libvpx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 6cf8b510b..e697fbae0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -32,7 +32,7 @@ url = git://git.linphone.org/msx264 [submodule "submodules/externals/libvpx"] path = submodules/externals/libvpx - url = https://github.com/webmproject/libvpx + url = git://git.linphone.org/libvpx ignore = dirty [submodule "submodules/bzrtp"] path = submodules/bzrtp diff --git a/submodules/externals/libvpx b/submodules/externals/libvpx index c74bf6d88..a7fd9bb52 160000 --- a/submodules/externals/libvpx +++ b/submodules/externals/libvpx @@ -1 +1 @@ -Subproject commit c74bf6d889992c3cabe017ec353ca85c323107cd +Subproject commit a7fd9bb52a7b1b052c3286809f31d799a3a00dcf From 9c30785ff8a22ee884053aad6669955e98d21540 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Tue, 22 Sep 2015 16:01:28 +0200 Subject: [PATCH 25/42] ios9: fix dummy libraries linking error and some warnings --- linphone.xcodeproj/project.pbxproj | 90 ++---------------------------- prepare.py | 2 +- 2 files changed, 5 insertions(+), 87 deletions(-) diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index ea1612557..30dcd13f9 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -820,13 +820,6 @@ remoteGlobalIDString = EABD46AA1857A0C700A5F081; remoteInfo = KIF; }; - 630589FE1B4E816A00EFAE36 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 630589F21B4E816900EFAE36 /* KIF.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EB72047C1680DDAD00278DA2; - remoteInfo = "KIF-OCUnit"; - }; 63058A001B4E816A00EFAE36 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 630589F21B4E816900EFAE36 /* KIF.xcodeproj */; @@ -841,13 +834,6 @@ remoteGlobalIDString = EABD46CD1857A0F300A5F081; remoteInfo = "KIF Tests"; }; - 63058A041B4E816A00EFAE36 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 630589F21B4E816900EFAE36 /* KIF.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EB60ECEB177F8DB3005A041A; - remoteInfo = "KIF Tests-OCUnit"; - }; 63058A061B4E816A00EFAE36 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 630589F21B4E816900EFAE36 /* KIF.xcodeproj */; @@ -2400,10 +2386,8 @@ isa = PBXGroup; children = ( 630589FD1B4E816A00EFAE36 /* libKIF.a */, - 630589FF1B4E816A00EFAE36 /* libKIF-OCUnit.a */, 63058A011B4E816A00EFAE36 /* Test Host.app */, 63058A031B4E816A00EFAE36 /* KIF Tests - XCTest.xctest */, - 63058A051B4E816A00EFAE36 /* KIF Tests-OCUnit.octest */, 63058A071B4E816A00EFAE36 /* KIF.framework */, ); name = Products; @@ -3319,13 +3303,6 @@ remoteRef = 630589FC1B4E816A00EFAE36 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 630589FF1B4E816A00EFAE36 /* libKIF-OCUnit.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libKIF-OCUnit.a"; - remoteRef = 630589FE1B4E816A00EFAE36 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 63058A011B4E816A00EFAE36 /* Test Host.app */ = { isa = PBXReferenceProxy; fileType = wrapper.application; @@ -3340,13 +3317,6 @@ remoteRef = 63058A021B4E816A00EFAE36 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 63058A051B4E816A00EFAE36 /* KIF Tests-OCUnit.octest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "KIF Tests-OCUnit.octest"; - remoteRef = 63058A041B4E816A00EFAE36 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 63058A071B4E816A00EFAE36 /* KIF.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; @@ -4977,11 +4947,6 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; @@ -5035,11 +5000,6 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "TestsLiblinphone/LinphoneTesterTests-Prefix.pch"; @@ -5086,11 +5046,6 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "TestsLiblinphone/LinphoneTesterTests-Prefix.pch"; @@ -5137,11 +5092,6 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "TestsLiblinphone/LinphoneTesterTests-Prefix.pch"; @@ -5188,10 +5138,6 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; @@ -5246,10 +5192,6 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "LiblinphoneTester/LinphoneTester-Prefix.pch"; @@ -5297,10 +5239,6 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "LiblinphoneTester/LinphoneTester-Prefix.pch"; @@ -5348,10 +5286,6 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "LiblinphoneTester/LinphoneTester-Prefix.pch"; @@ -5395,11 +5329,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); + FRAMEWORK_SEARCH_PATHS = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; @@ -5452,11 +5382,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); + FRAMEWORK_SEARCH_PATHS = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; @@ -5502,11 +5428,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); + FRAMEWORK_SEARCH_PATHS = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; @@ -5552,11 +5474,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); + FRAMEWORK_SEARCH_PATHS = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; diff --git a/prepare.py b/prepare.py index 64d5335a6..b830351fa 100755 --- a/prepare.py +++ b/prepare.py @@ -384,7 +384,7 @@ veryclean: $(addprefix veryclean-,$(packages)) generate-dummy-%: \t@echo "[{archs}] Generating dummy $* static library." ; \\ \tprintf "void $*_init() {{}}" | tr '-' '_' > .dummy.c ; \\ -\tfor arch in {archs}; do clang -c .dummy.c -arch $$arch -o .dummy-$$arch.tbd; done ; \\ +\tfor arch in {archs}; do clang -mios-simulator-version-min=6.0 -c .dummy.c -arch $$arch -o .dummy-$$arch.tbd; done ; \\ \tlipo -create -output .dummy.tbd .dummy-*.tbd; \\ \trm .dummy-*.tbd .dummy.c From f1b440e886e8c39641ed6ea99cc26de2cb3861ca Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 23 Sep 2015 10:50:24 +0200 Subject: [PATCH 26/42] prepare.py: keep order in selected platforms so that platform[0] may be changed if needed --- prepare.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/prepare.py b/prepare.py index b830351fa..3cf6d61b3 100755 --- a/prepare.py +++ b/prepare.py @@ -237,8 +237,8 @@ def check_tools(): error("iOS SDK not found, please install Xcode from AppStore or equivalent.") reterr = 1 else: - xcode_version = float(Popen("xcodebuild -version".split(" "), stdout=PIPE).stdout.read().split("\n")[0].split(" ")[1]) - if xcode_version < 7.0: + xcode_version = int(Popen("xcodebuild -version".split(" "), stdout=PIPE).stdout.read().split("\n")[0].split(" ")[1].split(".")[0]) + if xcode_version < 7: sdk_platform_path = Popen( "xcrun --sdk iphonesimulator --show-sdk-platform-path".split(" "), stdout=PIPE, stderr=devnull).stdout.read()[:-1] sdk_strings_path = "{}/{}".format(sdk_platform_path, "Developer/usr/bin/strings") @@ -562,17 +562,21 @@ def main(argv=None): shutil.rmtree(tmpdir) return 0 - selected_platforms = [] + selected_platforms_dup = [] for platform in args.platform: if platform == 'all': - selected_platforms += archs_device + archs_simu + selected_platforms_dup += archs_device + archs_simu elif platform == 'devices': - selected_platforms += archs_device + selected_platforms_dup += archs_device elif platform == 'simulators': - selected_platforms += archs_simu + selected_platforms_dup += archs_simu else: - selected_platforms += [platform] - selected_platforms = list(set(selected_platforms)) + selected_platforms_dup += [platform] + # unify platforms but provided order + selected_platforms = [] + for x in selected_platforms_dup: + if x not in selected_platforms: + selected_platforms.append(x) for platform in selected_platforms: target = targets[platform] From 5cc466c35330314c0c0a63d0f1c63c752c44c73e Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Wed, 23 Sep 2015 14:59:41 +0200 Subject: [PATCH 27/42] Ask CMake to build the dummy libraries. --- prepare.py | 24 ++---------------------- submodules/cmake-builder | 2 +- 2 files changed, 3 insertions(+), 23 deletions(-) diff --git a/prepare.py b/prepare.py index 3cf6d61b3..c7747c756 100755 --- a/prepare.py +++ b/prepare.py @@ -259,7 +259,6 @@ def install_git_hook(): def generate_makefile(platforms, generator): - libs_list = extract_libs_list() packages = os.listdir('WORK/ios-' + platforms[0] + '/Build') packages.sort() arch_targets = "" @@ -337,7 +336,6 @@ def generate_makefile(platforms, generator): makefile = """ archs={archs} packages={packages} -libs_list={libs_list} LINPHONE_IPHONE_VERSION=$(shell git describe --always) .PHONY: all @@ -381,13 +379,6 @@ clean: $(addprefix clean-,$(packages)) veryclean: $(addprefix veryclean-,$(packages)) -generate-dummy-%: -\t@echo "[{archs}] Generating dummy $* static library." ; \\ -\tprintf "void $*_init() {{}}" | tr '-' '_' > .dummy.c ; \\ -\tfor arch in {archs}; do clang -mios-simulator-version-min=6.0 -c .dummy.c -arch $$arch -o .dummy-$$arch.tbd; done ; \\ -\tlipo -create -output .dummy.tbd .dummy-*.tbd; \\ -\trm .dummy-*.tbd .dummy.c - sdk: \tarchives=`find liblinphone-sdk/{first_arch}-apple-darwin.ios -name *.a` && \\ \trm -rf liblinphone-sdk/apple-darwin && \\ @@ -406,17 +397,6 @@ sdk: \t\t{multiarch} \\ \t\techo "[{archs}] Mixing `basename $$archive` in $$destpath"; \\ \t\tlipo -create $$all_paths -output $$destpath; \\ -\tdone && \\ -\tfor lib in {libs_list} ; do \\ -\t\tif [ $${{lib:0:5}} = "libms" ] ; then \\ -\t\t\tlibrary_path=liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/$${{lib}}.a ; \\ -\t\telse \\ -\t\t\tlibrary_path=liblinphone-sdk/apple-darwin/lib/$${{lib}}.a ; \\ -\t\tfi ; \\ -\t\tif ! test -f $$library_path ; then \\ -\t\t\t$(MAKE) generate-dummy-$$lib ; \\ -\t\t\tmv .dummy.tbd $$library_path ; \\ -\t\tfi \\ \tdone build: $(addprefix all-,$(archs)) @@ -474,8 +454,7 @@ help: help-prepare-options """.format(archs=' '.join(platforms), arch_opts='|'.join(platforms), first_arch=platforms[0], options=' '.join(sys.argv), arch_targets=arch_targets, packages=' '.join(packages), - libs_list=' '.join(libs_list), multiarch=multiarch, - generator=generator) + multiarch=multiarch, generator=generator) f = open('Makefile', 'w') f.write(makefile) f.close() @@ -525,6 +504,7 @@ def main(argv=None): if check_tools() != 0: return 1 + additional_args += ["-DLINPHONE_BUILDER_DUMMY_LIBRARIES=" + ' '.join(extract_libs_list())] if args.debug_verbose is True: additional_args += ["-DENABLE_DEBUG_LOGS=YES"] if args.enable_non_free_codecs is True: diff --git a/submodules/cmake-builder b/submodules/cmake-builder index 6b49fb87e..4a64e0ab0 160000 --- a/submodules/cmake-builder +++ b/submodules/cmake-builder @@ -1 +1 @@ -Subproject commit 6b49fb87e8df8fdc7d4002e69f882d08363207be +Subproject commit 4a64e0ab00b4329bbae4f79aed4f6bc1be5b78d8 From 131be9790cd8ed30ff3ed115673732b6dae4fe96 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 23 Sep 2015 15:14:20 +0200 Subject: [PATCH 28/42] submodules: update belle-sip and linphone --- TestsUI/WizardTester.m | 2 -- prepare.py | 2 +- submodules/belle-sip | 2 +- submodules/linphone | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/TestsUI/WizardTester.m b/TestsUI/WizardTester.m index c09602afe..f5ee8befe 100644 --- a/TestsUI/WizardTester.m +++ b/TestsUI/WizardTester.m @@ -42,8 +42,6 @@ } - (void)_externalLoginWithProtocol:(NSString *)protocol { - - [self setInvalidAccountSet:true]; [tester tapViewWithAccessibilityLabel:@"Start"]; [tester tapViewWithAccessibilityLabel:@"Sign in SIP account"]; diff --git a/prepare.py b/prepare.py index c7747c756..3632d1e26 100755 --- a/prepare.py +++ b/prepare.py @@ -552,7 +552,7 @@ def main(argv=None): selected_platforms_dup += archs_simu else: selected_platforms_dup += [platform] - # unify platforms but provided order + # unify platforms but keep provided order selected_platforms = [] for x in selected_platforms_dup: if x not in selected_platforms: diff --git a/submodules/belle-sip b/submodules/belle-sip index 5910d6bea..c93a01615 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit 5910d6bea58e9e4a4d6476aa31318f11f5ef1271 +Subproject commit c93a01615811bccdcfbc65aad7247babd1356d72 diff --git a/submodules/linphone b/submodules/linphone index 1ce35ae7e..879e017e1 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 1ce35ae7e3934916bde5b3551899f4b838d7964e +Subproject commit 879e017e1efde7f294b48ec4fd353bf3fbeed2fd From 27395364089821bcbc4112f4dd0fe0210c93aa62 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 23 Sep 2015 15:28:44 +0200 Subject: [PATCH 29/42] LinphoneUITester: fix potential crash when deleting chat rooms --- Classes/ChatTableViewController.m | 6 +++++- TestsUI/{WizardTester.h => AssistantTester.h} | 2 +- TestsUI/{WizardTester.m => AssistantTester.m} | 4 ++-- linphone.xcodeproj/project.pbxproj | 12 ++++++------ 4 files changed, 14 insertions(+), 10 deletions(-) rename TestsUI/{WizardTester.h => AssistantTester.h} (69%) rename TestsUI/{WizardTester.m => AssistantTester.m} (98%) diff --git a/Classes/ChatTableViewController.m b/Classes/ChatTableViewController.m index c11ff172e..493b1d0db 100644 --- a/Classes/ChatTableViewController.m +++ b/Classes/ChatTableViewController.m @@ -171,11 +171,15 @@ static void chatTable_free_chatrooms(void *data) { linphone_chat_room_set_user_data(chatRoom, NULL); } + FileTransferDelegate *ftdToDelete = nil; for (FileTransferDelegate *ftd in [[LinphoneManager instance] fileTransferDelegates]) { if (linphone_chat_message_get_chat_room(ftd.message) == chatRoom) { - [ftd cancel]; + ftdToDelete = ftd; + break; } } + [ftdToDelete cancel]; + linphone_core_delete_chat_room(linphone_chat_room_get_lc(chatRoom), chatRoom); data = ms_list_remove(data, chatRoom); diff --git a/TestsUI/WizardTester.h b/TestsUI/AssistantTester.h similarity index 69% rename from TestsUI/WizardTester.h rename to TestsUI/AssistantTester.h index f538d1b2d..8ef2a1b48 100644 --- a/TestsUI/WizardTester.h +++ b/TestsUI/AssistantTester.h @@ -8,6 +8,6 @@ #import "LinphoneTestCase.h" -@interface WizardTester : LinphoneTestCase +@interface AssistantTester : LinphoneTestCase @end \ No newline at end of file diff --git a/TestsUI/WizardTester.m b/TestsUI/AssistantTester.m similarity index 98% rename from TestsUI/WizardTester.m rename to TestsUI/AssistantTester.m index f5ee8befe..94c1a565b 100644 --- a/TestsUI/WizardTester.m +++ b/TestsUI/AssistantTester.m @@ -6,10 +6,10 @@ // // -#import "WizardTester.h" +#import "AssistantTester.h" #import -@implementation WizardTester +@implementation AssistantTester - (void)beforeEach { [super beforeEach]; diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 30dcd13f9..1cc2ceb56 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -109,7 +109,7 @@ 630589E71B4E810900EFAE36 /* ChatTester.m in Sources */ = {isa = PBXBuildFile; fileRef = 630589DF1B4E810900EFAE36 /* ChatTester.m */; }; 630589E81B4E810900EFAE36 /* ContactsTester.m in Sources */ = {isa = PBXBuildFile; fileRef = 630589E11B4E810900EFAE36 /* ContactsTester.m */; }; 630589EA1B4E810900EFAE36 /* LinphoneTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 630589E41B4E810900EFAE36 /* LinphoneTestCase.m */; }; - 630589EB1B4E810900EFAE36 /* WizardTester.m in Sources */ = {isa = PBXBuildFile; fileRef = 630589E61B4E810900EFAE36 /* WizardTester.m */; }; + 630589EB1B4E810900EFAE36 /* AssistantTester.m in Sources */ = {isa = PBXBuildFile; fileRef = 630589E61B4E810900EFAE36 /* AssistantTester.m */; }; 63058A241B4E821E00EFAE36 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 63058A0E1B4E821E00EFAE36 /* AppDelegate.m */; }; 63058A251B4E821E00EFAE36 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 63058A0F1B4E821E00EFAE36 /* InfoPlist.strings */; }; 63058A261B4E821E00EFAE36 /* Main_iPad.strings in Resources */ = {isa = PBXBuildFile; fileRef = 63058A111B4E821E00EFAE36 /* Main_iPad.strings */; }; @@ -1035,8 +1035,8 @@ 630589E11B4E810900EFAE36 /* ContactsTester.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactsTester.m; sourceTree = ""; }; 630589E31B4E810900EFAE36 /* LinphoneTestCase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneTestCase.h; sourceTree = ""; }; 630589E41B4E810900EFAE36 /* LinphoneTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LinphoneTestCase.m; sourceTree = ""; }; - 630589E51B4E810900EFAE36 /* WizardTester.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WizardTester.h; sourceTree = ""; }; - 630589E61B4E810900EFAE36 /* WizardTester.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WizardTester.m; sourceTree = ""; }; + 630589E51B4E810900EFAE36 /* AssistantTester.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AssistantTester.h; sourceTree = ""; }; + 630589E61B4E810900EFAE36 /* AssistantTester.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AssistantTester.m; sourceTree = ""; }; 630589F21B4E816900EFAE36 /* KIF.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = KIF.xcodeproj; path = Classes/KIF/KIF.xcodeproj; sourceTree = SOURCE_ROOT; }; 63058A0A1B4E81B700EFAE36 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 63058A0D1B4E821E00EFAE36 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; @@ -2376,8 +2376,8 @@ 630589F21B4E816900EFAE36 /* KIF.xcodeproj */, 630589E31B4E810900EFAE36 /* LinphoneTestCase.h */, 630589E41B4E810900EFAE36 /* LinphoneTestCase.m */, - 630589E51B4E810900EFAE36 /* WizardTester.h */, - 630589E61B4E810900EFAE36 /* WizardTester.m */, + 630589E51B4E810900EFAE36 /* AssistantTester.h */, + 630589E61B4E810900EFAE36 /* AssistantTester.m */, ); path = TestsUI; sourceTree = ""; @@ -4122,7 +4122,7 @@ buildActionMask = 2147483647; files = ( 630589EA1B4E810900EFAE36 /* LinphoneTestCase.m in Sources */, - 630589EB1B4E810900EFAE36 /* WizardTester.m in Sources */, + 630589EB1B4E810900EFAE36 /* AssistantTester.m in Sources */, 630589E71B4E810900EFAE36 /* ChatTester.m in Sources */, 63B910C21B8B5368004641C9 /* CallTester.m in Sources */, 630589E81B4E810900EFAE36 /* ContactsTester.m in Sources */, From 9cbe5a05c61572a8b553ad1c7374006c4248e286 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 23 Sep 2015 15:37:18 +0200 Subject: [PATCH 30/42] travis: stop --depth 1 for submodules, it won't work yet --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 93f4a84c0..0fe35ffa0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,7 @@ before_install: - sudo mv gas-preprocessor.pl /usr/local/bin - sudo ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize - sudo ln -s /usr/bin/strings /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings - - git submodule update --init --recursive --depth 1 + - git submodule update --init --recursive install: - ./prepare.py -d x86_64 -G Ninja From 6c94676b44a1bc413e11eb3b6406165f6b54e713 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 23 Sep 2015 16:15:18 +0200 Subject: [PATCH 31/42] submodules: update vpx --- submodules/externals/libvpx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/externals/libvpx b/submodules/externals/libvpx index a7fd9bb52..0866e6ae9 160000 --- a/submodules/externals/libvpx +++ b/submodules/externals/libvpx @@ -1 +1 @@ -Subproject commit a7fd9bb52a7b1b052c3286809f31d799a3a00dcf +Subproject commit 0866e6ae9ed3d5b23f67b6afeee1a7e19e0ae2b6 From 238559c273474b040563b84401289c32d04ca237 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 23 Sep 2015 17:19:48 +0200 Subject: [PATCH 32/42] FileTransferDelegate: stop reffing / unreffing chat messages in file transfer, this is not needed --- Classes/Utils/FileTransferDelegate.m | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Classes/Utils/FileTransferDelegate.m b/Classes/Utils/FileTransferDelegate.m index 613966092..c7e3ba001 100644 --- a/Classes/Utils/FileTransferDelegate.m +++ b/Classes/Utils/FileTransferDelegate.m @@ -68,7 +68,6 @@ static void linphone_iphone_file_transfer_recv(LinphoneChatMessage *message, con forKey:@"localimage" inMessage:message]; } - linphone_chat_message_unref(thiz.message); thiz.message = NULL; [[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneFileTransferRecvUpdate @@ -122,8 +121,7 @@ static LinphoneBuffer *linphone_iphone_file_transfer_send(LinphoneChatMessage *m // this is the last time we will be notified, so destroy ourselve if (remaining <= size) { - LOGI(@"Upload ended, unreffing %p", thiz.message); - linphone_chat_message_unref(thiz.message); + LOGI(@"Upload ended"); thiz.message = NULL; [thiz stopAndDestroy]; } @@ -168,9 +166,7 @@ static LinphoneBuffer *linphone_iphone_file_transfer_send(LinphoneChatMessage *m [[[LinphoneManager instance] fileTransferDelegates] addObject:self]; _message = message; - // we need to keep a ref on the message to continue downloading even if user quit a chatroom which destroy all chat - // messages - linphone_chat_message_ref(_message); + const char *url = linphone_chat_message_get_external_body_url(_message); LOGI(@"%p Downloading content in %p from %s", self, message, url); From fd321a0c48f088dc8cb627a145af16e357956d0f Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Thu, 24 Sep 2015 10:26:37 +0200 Subject: [PATCH 33/42] xcode: show error if SDK is missing --- linphone.xcodeproj/project.pbxproj | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 1cc2ceb56..f9fb8df77 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -3151,6 +3151,7 @@ isa = PBXNativeTarget; buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "linphone" */; buildPhases = ( + 63F0162D1BB3E9D5001FAD87 /* ShellScript */, 1D60588D0D05DD3D006BFB54 /* Resources */, 63DCC71D1A07B08E00916627 /* Run Script */, D33CF34715D3985000CD4B85 /* ShellScript */, @@ -3955,6 +3956,19 @@ shellPath = /bin/sh; shellScript = $SRCROOT/Tools/git_version.sh; }; + 63F0162D1BB3E9D5001FAD87 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "test -f liblinphone-sdk/apple-darwin/share/linphone/rootca.pem || (echo 'liblinphone SDK not found. Please refer to the README but you need to compile liblinphone SDK before building Linphone application' && exit 1)"; + }; D33CF34715D3985000CD4B85 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; From 6b48fb324ccd584a9e1799a1d97bedc5cc11b22a Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Thu, 24 Sep 2015 10:41:48 +0200 Subject: [PATCH 34/42] ios9: checkout correct revision of libvpx depending of xcode version, waiting for proper fix from https://code.google.com/p/webm/issues/detail?id=1075&colspec=ID%20Pri%20mstone%20ReleaseBlock%20Type%20Component%20Status%20Owner%20Summary --- prepare.py | 23 ++++++++++++++++++++--- submodules/linphone | 2 +- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/prepare.py b/prepare.py index 3632d1e26..e193288ba 100755 --- a/prepare.py +++ b/prepare.py @@ -97,6 +97,7 @@ archs_device = ['arm64', 'armv7'] archs_simu = ['i386', 'x86_64'] platforms = ['all', 'devices', 'simulators'] + archs_device + archs_simu + class PlatformListAction(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): @@ -111,7 +112,8 @@ class PlatformListAction(argparse.Action): def gpl_disclaimer(platforms): cmakecache = 'WORK/ios-{arch}/cmake/CMakeCache.txt'.format(arch=platforms[0]) - gpl_third_parties_enabled = "ENABLE_GPL_THIRD_PARTIES:BOOL=YES" in open(cmakecache).read() or "ENABLE_GPL_THIRD_PARTIES:BOOL=ON" in open(cmakecache).read() + gpl_third_parties_enabled = "ENABLE_GPL_THIRD_PARTIES:BOOL=YES" in open( + cmakecache).read() or "ENABLE_GPL_THIRD_PARTIES:BOOL=ON" in open(cmakecache).read() if gpl_third_parties_enabled: warning("\n***************************************************************************" @@ -237,7 +239,8 @@ def check_tools(): error("iOS SDK not found, please install Xcode from AppStore or equivalent.") reterr = 1 else: - xcode_version = int(Popen("xcodebuild -version".split(" "), stdout=PIPE).stdout.read().split("\n")[0].split(" ")[1].split(".")[0]) + xcode_version = int( + Popen("xcodebuild -version".split(" "), stdout=PIPE).stdout.read().split("\n")[0].split(" ")[1].split(".")[0]) if xcode_version < 7: sdk_platform_path = Popen( "xcrun --sdk iphonesimulator --show-sdk-platform-path".split(" "), stdout=PIPE, stderr=devnull).stdout.read()[:-1] @@ -247,6 +250,20 @@ def check_tools(): error("strings binary missing, please run:\n\tsudo ln -s {} {}".format(strings_path, sdk_strings_path)) reterr = 1 + # workaround until VPX find a correct patch.. + if xcode_version < 7: + warn("Retrieving XCode6 version of libvpx until https://code.google.com/p/webm/issues/detail?id=1075&colspec=ID%20Pri%20mstone%20ReleaseBlock%20Type%20Component%20Status%20Owner%20Summary is solved...") + p = Popen("git checkout c74bf6d889992c3cabe017ec353ca85c323107cd".split( + " "), cwd="submodules/externals/libvpx") + else: + warn("Retrieving XCode7 version of libvpx until https://code.google.com/p/webm/issues/detail?id=1075&colspec=ID%20Pri%20mstone%20ReleaseBlock%20Type%20Component%20Status%20Owner%20Summary is solved...") + p = Popen("git checkout 0866e6ae9ed3d5b23f67b6afeee1a7e19e0ae2b6".split( + " "), cwd="submodules/externals/libvpx") + p.wait() + if p.returncode != 0: + error("""{} Failed to retrieve correct version of libvpx, ensure you ran: + git submodule sync + git submodule update --init --recursive""".format(p.returncode)) return reterr @@ -564,7 +581,7 @@ def main(argv=None): if args.clean: target.clean() else: - retcode = prepare.run (target, args.debug, False, args.list_cmake_variables, args.force, additional_args) + retcode = prepare.run(target, args.debug, False, args.list_cmake_variables, args.force, additional_args) if retcode != 0: if retcode == 51: Popen("make help-prepare-options".split(" ")) diff --git a/submodules/linphone b/submodules/linphone index 879e017e1..dafc34429 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 879e017e1efde7f294b48ec4fd353bf3fbeed2fd +Subproject commit dafc34429239aa3b0d9dc11cd1734701a8cde311 From 44baaa77bb54ff8968a323294ce7d1fa5fe8fe1a Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Thu, 24 Sep 2015 10:44:04 +0200 Subject: [PATCH 35/42] submodules: update cmake-builder --- submodules/cmake-builder | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/cmake-builder b/submodules/cmake-builder index 4a64e0ab0..3c0a669dd 160000 --- a/submodules/cmake-builder +++ b/submodules/cmake-builder @@ -1 +1 @@ -Subproject commit 4a64e0ab00b4329bbae4f79aed4f6bc1be5b78d8 +Subproject commit 3c0a669ddb8af68fc1253ba21d521051f48ee79a From b40d0d3b2e343b08610c2c34f3454e87f34befc6 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Thu, 24 Sep 2015 13:30:54 +0200 Subject: [PATCH 36/42] prepare.py: detect deployment target from xcode proj and pass it to cmake builder --- linphone.xcodeproj/project.pbxproj | 12 ------------ prepare.py | 18 ++++++++++++++---- submodules/belle-sip | 2 +- submodules/cmake-builder | 2 +- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index f9fb8df77..06a46ff92 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -4628,7 +4628,6 @@ "$(SRCROOT)/Classes/Utils/XMLRPC/", ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "$(SRCROOT)/liblinphone-sdk/apple-darwin/lib", @@ -4714,7 +4713,6 @@ "$(SRCROOT)/Classes/Utils/XMLRPC/", ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", @@ -4800,7 +4798,6 @@ "$(SRCROOT)/Classes/Utils/XMLRPC/", ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", @@ -4886,7 +4883,6 @@ "$(SRCROOT)/Classes/Utils/XMLRPC/", ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", @@ -4982,7 +4978,6 @@ Classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "TestsLiblinphone/LinphoneTesterTests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 7.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", @@ -5028,7 +5023,6 @@ Classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "TestsLiblinphone/LinphoneTesterTests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 7.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", @@ -5074,7 +5068,6 @@ Classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "TestsLiblinphone/LinphoneTesterTests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 7.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", @@ -5120,7 +5113,6 @@ Classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "TestsLiblinphone/LinphoneTesterTests-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 7.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", @@ -5173,7 +5165,6 @@ Classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "LiblinphoneTester/LinphoneTester-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", @@ -5220,7 +5211,6 @@ Classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "LiblinphoneTester/LinphoneTester-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", @@ -5267,7 +5257,6 @@ Classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "LiblinphoneTester/LinphoneTester-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", @@ -5314,7 +5303,6 @@ Classes/Utils/XMLRPC/, ); INFOPLIST_FILE = "LiblinphoneTester/LinphoneTester-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 6.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib", diff --git a/prepare.py b/prepare.py index e193288ba..0118d71e0 100755 --- a/prepare.py +++ b/prepare.py @@ -136,20 +136,29 @@ def gpl_disclaimer(platforms): "\n***************************************************************************") -def extract_libs_list(): +def extract_from_xcode_project_with_regex(regex): l = [] - # name = libspeexdsp.a; path = "liblinphone-sdk/apple-darwin/lib/libspeexdsp.a"; sourceTree = ""; }; - regex = re.compile("name = (\")*(lib(\S+))\.a(\")*; path = \"liblinphone-sdk/apple-darwin/") f = open('linphone.xcodeproj/project.pbxproj', 'r') lines = f.readlines() f.close() for line in lines: m = regex.search(line) if m is not None: - l += [m.group(2)] + l += [m.group(1)] return list(set(l)) +def extract_deployment_target(): + regex = re.compile("IPHONEOS_DEPLOYMENT_TARGET = (.*);") + return extract_from_xcode_project_with_regex(regex)[0] + + +def extract_libs_list(): + # name = libspeexdsp.a; path = "liblinphone-sdk/apple-darwin/lib/libspeexdsp.a"; sourceTree = ""; }; + regex = re.compile("name = \"*(lib\S+)\.a(\")*; path = \"liblinphone-sdk/apple-darwin/") + return extract_from_xcode_project_with_regex(regex) + + missing_dependencies = {} @@ -521,6 +530,7 @@ def main(argv=None): if check_tools() != 0: return 1 + additional_args += ["-DLINPHONE_IOS_DEPLOYMENT_TARGET=" + extract_deployment_target()] additional_args += ["-DLINPHONE_BUILDER_DUMMY_LIBRARIES=" + ' '.join(extract_libs_list())] if args.debug_verbose is True: additional_args += ["-DENABLE_DEBUG_LOGS=YES"] diff --git a/submodules/belle-sip b/submodules/belle-sip index c93a01615..ccad67c61 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit c93a01615811bccdcfbc65aad7247babd1356d72 +Subproject commit ccad67c61fdcd202f7ae02eda4142bbaf3add1c1 diff --git a/submodules/cmake-builder b/submodules/cmake-builder index 3c0a669dd..3496824d2 160000 --- a/submodules/cmake-builder +++ b/submodules/cmake-builder @@ -1 +1 @@ -Subproject commit 3c0a669ddb8af68fc1253ba21d521051f48ee79a +Subproject commit 3496824d2c6fe7f3e0a5acd8dca02569d6ef16bd From 6e219a48f2211d43f099a8f5c66432ff0d890061 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 25 Sep 2015 10:45:58 +0200 Subject: [PATCH 37/42] Makefile: rename sdkzip to zipsdk --- prepare.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prepare.py b/prepare.py index 0118d71e0..e1e6552ff 100755 --- a/prepare.py +++ b/prepare.py @@ -432,7 +432,7 @@ ipa: build \txcodebuild -configuration Release \\ \t&& xcrun -sdk iphoneos PackageApplication -v build/Release-iphoneos/linphone.app -o $$PWD/linphone-iphone.ipa -sdkzip: sdk +zipsdk: sdk \techo "Generating SDK zip file for version $(LINPHONE_IPHONE_VERSION)" \tzip -r liblinphone-iphone-sdk-$(LINPHONE_IPHONE_VERSION).zip \\ \tliblinphone-sdk/apple-darwin \\ From dd4424c564410a076c1a6b9653e67ab54f978626 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 25 Sep 2015 15:09:26 +0200 Subject: [PATCH 38/42] xcode: remove unused static libraries --- linphone.xcodeproj/project.pbxproj | 4 ---- submodules/MS2/MS2.xcodeproj/project.pbxproj | 4 ---- submodules/cmake-builder | 2 +- submodules/liblinphone.xcodeproj/project.pbxproj | 6 ------ 4 files changed, 1 insertion(+), 15 deletions(-) diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 06a46ff92..ab2085a67 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -181,7 +181,6 @@ 63CD4B4F1A5AAC8C00B84282 /* DTAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63CD4B4E1A5AAC8C00B84282 /* DTAlertView.m */; }; 63D2680F1B174A5E00A2CC11 /* numpad_one_voicemail_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 63D2680D1B174A5E00A2CC11 /* numpad_one_voicemail_default.png */; }; 63D268101B174A5E00A2CC11 /* numpad_one_voicemail_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 63D2680E1B174A5E00A2CC11 /* numpad_one_voicemail_over.png */; }; - 63D5C1F11BA6FF4D002D1ABF /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226183AA1472527D0037138E /* libSKP_SILK_SDK.a */; }; 63D5C1F51BA6FF4D002D1ABF /* libbcg729.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1F21BA6FF4D002D1ABF /* libbcg729.a */; }; 63D5C1F61BA6FF4D002D1ABF /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1F31BA6FF4D002D1ABF /* libswresample.a */; }; 63D5C1F71BA6FF4D002D1ABF /* libvo-amrwbenc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1F41BA6FF4D002D1ABF /* libvo-amrwbenc.a */; }; @@ -982,7 +981,6 @@ 2248E90C12F7E4CF00220D9C /* UIDigitButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIDigitButton.h; sourceTree = ""; }; 2248E90D12F7E4CF00220D9C /* UIDigitButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIDigitButton.m; sourceTree = ""; }; 22509041196BD902007863F6 /* libopenh264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopenh264.a; path = "liblinphone-sdk/apple-darwin/lib/libopenh264.a"; sourceTree = ""; }; - 226183AA1472527D0037138E /* libSKP_SILK_SDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSKP_SILK_SDK.a; path = "liblinphone-sdk/apple-darwin/lib/libSKP_SILK_SDK.a"; sourceTree = ""; }; 226183AB1472527D0037138E /* libsrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsrtp.a; path = "liblinphone-sdk/apple-darwin/lib/libsrtp.a"; sourceTree = ""; }; 226183AF147259670037138E /* libmssilk.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmssilk.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmssilk.a"; sourceTree = ""; }; 2264B6D111200342002C2C53 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; @@ -1904,7 +1902,6 @@ 22AF73C21754C0D100BE8398 /* libopus.a in Frameworks */, 22A10F3B11F8960300373793 /* libortp.a in Frameworks */, 57B0E360173C010400A476B8 /* libpolarssl.a in Frameworks */, - 63D5C1F11BA6FF4D002D1ABF /* libSKP_SILK_SDK.a in Frameworks */, 220FAD3810765B400068D98F /* libspeex.a in Frameworks */, 220FAD3910765B400068D98F /* libspeexdsp.a in Frameworks */, 226183AE1472527D0037138E /* libsrtp.a in Frameworks */, @@ -2337,7 +2334,6 @@ 57B0E35F173C010400A476B8 /* libpolarssl.a */, F0BB8C34193624C800974404 /* libresolv.9.dylib */, 22D1B68012A3E0BE001AE361 /* libresolv.dylib */, - 226183AA1472527D0037138E /* libSKP_SILK_SDK.a */, 220FAD2F10765B400068D98F /* libspeex.a */, 220FAD3010765B400068D98F /* libspeexdsp.a */, D32B6E2E15A5C0AC0033019F /* libsqlite3.dylib */, diff --git a/submodules/MS2/MS2.xcodeproj/project.pbxproj b/submodules/MS2/MS2.xcodeproj/project.pbxproj index 58a9b37cc..4b01b2a7d 100644 --- a/submodules/MS2/MS2.xcodeproj/project.pbxproj +++ b/submodules/MS2/MS2.xcodeproj/project.pbxproj @@ -33,7 +33,6 @@ F03A97B81AFA563200651655 /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A97A31AFA563200651655 /* libopus.a */; }; F03A97B91AFA563200651655 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A97A41AFA563200651655 /* libortp.a */; }; F03A97BA1AFA563200651655 /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A97A51AFA563200651655 /* libpolarssl.a */; }; - F03A97BB1AFA563200651655 /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A97A61AFA563200651655 /* libSKP_SILK_SDK.a */; }; F03A97BC1AFA563200651655 /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A97A71AFA563200651655 /* libspeex.a */; }; F03A97BD1AFA563200651655 /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A97A81AFA563200651655 /* libspeexdsp.a */; }; F03A97BE1AFA563200651655 /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F03A97A91AFA563200651655 /* libsrtp.a */; }; @@ -96,7 +95,6 @@ F03A97A31AFA563200651655 /* libopus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopus.a; path = "../../../liblinphone-sdk/apple-darwin/lib/libopus.a"; sourceTree = ""; }; F03A97A41AFA563200651655 /* libortp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libortp.a; path = "../../../liblinphone-sdk/apple-darwin/lib/libortp.a"; sourceTree = ""; }; F03A97A51AFA563200651655 /* libpolarssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpolarssl.a; path = "../../../liblinphone-sdk/apple-darwin/lib/libpolarssl.a"; sourceTree = ""; }; - F03A97A61AFA563200651655 /* libSKP_SILK_SDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSKP_SILK_SDK.a; path = "../../../liblinphone-sdk/apple-darwin/lib/libSKP_SILK_SDK.a"; sourceTree = ""; }; F03A97A71AFA563200651655 /* libspeex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeex.a; path = "../../../liblinphone-sdk/apple-darwin/lib/libspeex.a"; sourceTree = ""; }; F03A97A81AFA563200651655 /* libspeexdsp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeexdsp.a; path = "../../../liblinphone-sdk/apple-darwin/lib/libspeexdsp.a"; sourceTree = ""; }; F03A97A91AFA563200651655 /* libsrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsrtp.a; path = "../../../liblinphone-sdk/apple-darwin/lib/libsrtp.a"; sourceTree = ""; }; @@ -134,7 +132,6 @@ F03A97B91AFA563200651655 /* libortp.a in Frameworks */, F03A97CA1AFA565C00651655 /* libxml2.a in Frameworks */, F03A97981AFA561A00651655 /* libmsx264.a in Frameworks */, - F03A97BB1AFA563200651655 /* libSKP_SILK_SDK.a in Frameworks */, F03A97B81AFA563200651655 /* libopus.a in Frameworks */, F03A97B31AFA563200651655 /* libmediastreamer_base.a in Frameworks */, F03A97B41AFA563200651655 /* libmediastreamer_voip.a in Frameworks */, @@ -259,7 +256,6 @@ F03A97A31AFA563200651655 /* libopus.a */, F03A97A41AFA563200651655 /* libortp.a */, F03A97A51AFA563200651655 /* libpolarssl.a */, - F03A97A61AFA563200651655 /* libSKP_SILK_SDK.a */, F03A97A71AFA563200651655 /* libspeex.a */, F03A97A81AFA563200651655 /* libspeexdsp.a */, F03A97A91AFA563200651655 /* libsrtp.a */, diff --git a/submodules/cmake-builder b/submodules/cmake-builder index 3496824d2..238b0c9c7 160000 --- a/submodules/cmake-builder +++ b/submodules/cmake-builder @@ -1 +1 @@ -Subproject commit 3496824d2c6fe7f3e0a5acd8dca02569d6ef16bd +Subproject commit 238b0c9c7ee78cfbdf8ec59d6ca1afb7103b1da8 diff --git a/submodules/liblinphone.xcodeproj/project.pbxproj b/submodules/liblinphone.xcodeproj/project.pbxproj index f7f96af9b..4544e1bb1 100644 --- a/submodules/liblinphone.xcodeproj/project.pbxproj +++ b/submodules/liblinphone.xcodeproj/project.pbxproj @@ -108,7 +108,6 @@ 225D64671521BFA6008B2E81 /* utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6F311F6CF9F00621220 /* utils.h */; }; 225D64811521BFA6008B2E81 /* zrtp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7014533B13FA7ECA00A01D86 /* zrtp.h */; }; 225D64F21521BFA6008B2E81 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; }; - 225D64F31521BFA6008B2E81 /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2211DBA0147660BB00DEE054 /* libSKP_SILK_SDK.a */; }; 225D64FC1521C009008B2E81 /* liblinphone_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = AA747D9E0F9514B9006C5449 /* liblinphone_Prefix.pch */; }; 225D64FD1521C009008B2E81 /* allfilters.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA5BE11F6CF7600621220 /* allfilters.h */; }; 225D64FE1521C009008B2E81 /* dsptools.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA5BF11F6CF7600621220 /* dsptools.h */; }; @@ -317,7 +316,6 @@ 22C8D0DF1769F8FF00DAFB4E /* speexec.c in Sources */ = {isa = PBXBuildFile; fileRef = 22D07CE416F3BFCB009F2C9E /* speexec.c */; }; 22C8D0E01769F8FF00DAFB4E /* msopus.c in Sources */ = {isa = PBXBuildFile; fileRef = 22AF73BD1753E83700BE8398 /* msopus.c */; }; 22C8D0E21769F8FF00DAFB4E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; }; - 22C8D0E31769F8FF00DAFB4E /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2211DBA0147660BB00DEE054 /* libSKP_SILK_SDK.a */; }; 22C8D0ED176A079600DAFB4E /* aac-eld.c in Sources */ = {isa = PBXBuildFile; fileRef = 22C8D0EC176A079600DAFB4E /* aac-eld.c */; }; 22DD19C113A8D7FA0018ECD4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22DD19C013A8D7FA0018ECD4 /* UIKit.framework */; }; 22DD19C213A8D7FA0018ECD4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; }; @@ -538,7 +536,6 @@ 220ED1A613A9040700AC21E0 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 220ED1A813A9041800AC21E0 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; 2211DB9E14765CEC00DEE054 /* libmssilk.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmssilk.a; path = "../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmssilk.a"; sourceTree = ""; }; - 2211DBA0147660BB00DEE054 /* libSKP_SILK_SDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSKP_SILK_SDK.a; path = "../liblinphone-sdk/apple-darwin/lib/libSKP_SILK_SDK.a"; sourceTree = ""; }; 221DCB6A153584410025E54D /* yuv2rgb.fs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = yuv2rgb.fs; sourceTree = ""; }; 221DCB6B153584410025E54D /* yuv2rgb.vs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.glsl; path = yuv2rgb.vs; sourceTree = ""; }; 221F589913AB4EEE00D603C9 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; @@ -813,7 +810,6 @@ buildActionMask = 2147483647; files = ( 225D64F21521BFA6008B2E81 /* Foundation.framework in Frameworks */, - 225D64F31521BFA6008B2E81 /* libSKP_SILK_SDK.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -830,7 +826,6 @@ buildActionMask = 2147483647; files = ( 22C8D0E21769F8FF00DAFB4E /* Foundation.framework in Frameworks */, - 22C8D0E31769F8FF00DAFB4E /* libSKP_SILK_SDK.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1385,7 +1380,6 @@ 22DD19C013A8D7FA0018ECD4 /* UIKit.framework */, 22DD19C313A8D7FA0018ECD4 /* CoreGraphics.framework */, 22AF73BF1753F3E100BE8398 /* libopus.a */, - 2211DBA0147660BB00DEE054 /* libSKP_SILK_SDK.a */, 2211DB9E14765CEC00DEE054 /* libmssilk.a */, 7066FC0913E830B800EFC6DC /* libvpx.a */, 70E542F013E147CE002BA2C0 /* QuartzCore.framework */, From 35dbbde826a9d4ff049efcdbb6bbfd23e5adc74f Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 25 Sep 2015 16:17:50 +0200 Subject: [PATCH 39/42] TestsUI: update and remove some duplicate tests --- TestsUI/ChatTester.m | 52 +++++--------------------------------------- 1 file changed, 5 insertions(+), 47 deletions(-) diff --git a/TestsUI/ChatTester.m b/TestsUI/ChatTester.m index 4ecb45ed4..ae3ebad6e 100644 --- a/TestsUI/ChatTester.m +++ b/TestsUI/ChatTester.m @@ -96,7 +96,7 @@ [self startChatWith:[self me]]; [self uploadImageWithQuality:@"Minimum"]; // wait for the upload to terminate... - for (int i = 0; i < 15; i++) { + for (int i = 0; i < 45; i++) { [tester waitForTimeInterval:1.f]; if ([[[LinphoneManager instance] fileTransferDelegates] count] == 0) break; @@ -257,22 +257,21 @@ [self goBackFromChat]; } -- (void)testTransfer3DownloadsSimultanously { +- (void)testTransfer2TransfersSimultanously { [self startChatWith:[self me]]; - [self uploadImageWithQuality:@"Maximum"]; - [self uploadImageWithQuality:@"Average"]; + [self uploadImageWithQuality:@"Minimum"]; [self uploadImageWithQuality:@"Minimum"]; UITableView *tv = [self findTableView:@"ChatRoom list"]; // wait for ALL uploads to terminate... for (int i = 0; i < 45; i++) { [tester waitForTimeInterval:1.f]; - if ([tv numberOfRowsInSection:0] == 6) + if ([tv numberOfRowsInSection:0] == 4) break; } [tester waitForTimeInterval:.5f]; ASSERT_EQ([[LinphoneManager instance] fileTransferDelegates].count, 0); [tester scrollViewWithAccessibilityIdentifier:@"ChatRoom list" byFractionOfSizeHorizontal:0.f vertical:1.f]; - for (int i = 0; i < 3; i++) { + for (int i = 0; i < 2; i++) { // messages order is not known: if upload bitrate is huge, first image can be uploaded before last started while (![tester tryFindingTappableViewWithAccessibilityLabel:@"Download" error:nil]) { [tester scrollViewWithAccessibilityIdentifier:@"ChatRoom list" @@ -289,25 +288,6 @@ [self goBackFromChat]; } -- (void)testTransfer3UploadsSimultanously { - [self startChatWith:[self me]]; - // use Maximum quality to be sure that first transfer is not terminated when the third begins - [self uploadImageWithQuality:@"Maximum"]; - [self uploadImageWithQuality:@"Average"]; - [self uploadImageWithQuality:@"Minimum"]; - UITableView *tv = [self findTableView:@"ChatRoom list"]; - // wait for ALL uploads to terminate... - for (int i = 0; i < 45; i++) { - [tester waitForTimeInterval:1.f]; - if ([tv numberOfRowsInSection:0] == 6) - break; - } - [tester waitForTimeInterval:.5f]; - ASSERT_EQ([[LinphoneManager instance] fileTransferDelegates].count, 0); - ASSERT_EQ([tv numberOfRowsInSection:0], 6); - [self goBackFromChat]; -} - - (void)testTransferCancelDownloadImage { [self downloadImage]; [tester tapViewWithAccessibilityLabel:@"Cancel transfer"]; @@ -334,26 +314,4 @@ ASSERT_EQ([[[LinphoneManager instance] fileTransferDelegates] count], 0); } -- (void)testTransferUploadImage { - [self startChatWith:[self me]]; - - ASSERT_EQ([[LinphoneManager instance] fileTransferDelegates].count, 0); - [self uploadImageWithQuality:@"Minimum"]; - ASSERT_EQ([[LinphoneManager instance] fileTransferDelegates].count, 1); - - UITableView *tv = [self findTableView:@"ChatRoom list"]; - ASSERT_EQ([tv numberOfRowsInSection:0], 1); - - // wait for the upload to terminate... - for (int i = 0; i < 15; i++) { - [tester waitForTimeInterval:1.f]; - if ([[[LinphoneManager instance] fileTransferDelegates] count] == 0) - break; - } - [tester waitForViewWithAccessibilityLabel:@"Download"]; - - ASSERT_EQ([tv numberOfRowsInSection:0], 2); - ASSERT_EQ([[[LinphoneManager instance] fileTransferDelegates] count], 0); -} - @end From a87eda0f02c08f69666bf60bad2be4b340fb3a97 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 25 Sep 2015 17:40:42 +0200 Subject: [PATCH 40/42] prepare.py: workaround for dummy_libraries target not properly rebuilding yet --- prepare.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/prepare.py b/prepare.py index e1e6552ff..e3b3ea0e4 100755 --- a/prepare.py +++ b/prepare.py @@ -307,6 +307,9 @@ def generate_makefile(platforms, generator): \t\t$(MAKE) {arch}-veryclean-$$package; \\ \tdone +{arch}-build-dummy_libraries: +\t{generator} WORK/ios-{arch}/cmake EP_dummy_libraries + {arch}-build-%: package-in-list-% \trm -f WORK/ios-{arch}/Stamp/EP_$*/EP_$*-update; \\ \t{generator} WORK/ios-{arch}/cmake EP_$* From 6a0e74e081f66df8b540756bdd07ca96239ccf62 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 25 Sep 2015 17:59:19 +0200 Subject: [PATCH 41/42] submodules: update belle-sip cunit linphone --- submodules/belle-sip | 2 +- submodules/cunit | 2 +- submodules/linphone | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/submodules/belle-sip b/submodules/belle-sip index ccad67c61..9bf1eecf1 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit ccad67c61fdcd202f7ae02eda4142bbaf3add1c1 +Subproject commit 9bf1eecf12bb8a0884025d35de9b50b0875b9ecc diff --git a/submodules/cunit b/submodules/cunit index aa13f89d1..0a0a9c60f 160000 --- a/submodules/cunit +++ b/submodules/cunit @@ -1 +1 @@ -Subproject commit aa13f89d1115d809b0dff2f200e19036755bd3b4 +Subproject commit 0a0a9c60f5a1b899ae26b705fa5224ef25377982 diff --git a/submodules/linphone b/submodules/linphone index dafc34429..7cbbb6b17 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit dafc34429239aa3b0d9dc11cd1734701a8cde311 +Subproject commit 7cbbb6b17e4f1de3fa48f89c541092754f3455b4 From 39d5d5bd08d414ed337fbb68fa8802692c517030 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 25 Sep 2015 16:48:35 +0200 Subject: [PATCH 42/42] libvpx: update to fix ios9 issue, do not need workaround anymore --- prepare.py | 15 --------------- submodules/externals/libvpx | 2 +- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/prepare.py b/prepare.py index e3b3ea0e4..971bea7ca 100755 --- a/prepare.py +++ b/prepare.py @@ -258,21 +258,6 @@ def check_tools(): strings_path = find_executable("strings") error("strings binary missing, please run:\n\tsudo ln -s {} {}".format(strings_path, sdk_strings_path)) reterr = 1 - - # workaround until VPX find a correct patch.. - if xcode_version < 7: - warn("Retrieving XCode6 version of libvpx until https://code.google.com/p/webm/issues/detail?id=1075&colspec=ID%20Pri%20mstone%20ReleaseBlock%20Type%20Component%20Status%20Owner%20Summary is solved...") - p = Popen("git checkout c74bf6d889992c3cabe017ec353ca85c323107cd".split( - " "), cwd="submodules/externals/libvpx") - else: - warn("Retrieving XCode7 version of libvpx until https://code.google.com/p/webm/issues/detail?id=1075&colspec=ID%20Pri%20mstone%20ReleaseBlock%20Type%20Component%20Status%20Owner%20Summary is solved...") - p = Popen("git checkout 0866e6ae9ed3d5b23f67b6afeee1a7e19e0ae2b6".split( - " "), cwd="submodules/externals/libvpx") - p.wait() - if p.returncode != 0: - error("""{} Failed to retrieve correct version of libvpx, ensure you ran: - git submodule sync - git submodule update --init --recursive""".format(p.returncode)) return reterr diff --git a/submodules/externals/libvpx b/submodules/externals/libvpx index 0866e6ae9..be6eee2fc 160000 --- a/submodules/externals/libvpx +++ b/submodules/externals/libvpx @@ -1 +1 @@ -Subproject commit 0866e6ae9ed3d5b23f67b6afeee1a7e19e0ae2b6 +Subproject commit be6eee2fcc272d3a98c58454298af10558f44e5f