From 32bb0cff806085567624ddb6861604999df11bb4 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 28 Sep 2015 16:54:06 +0200 Subject: [PATCH 01/25] prepare.py: fix detection of subsubmodules --- prepare.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prepare.py b/prepare.py index 1a4b3d9dd..a9d2431c7 100755 --- a/prepare.py +++ b/prepare.py @@ -238,7 +238,7 @@ def check_tools(): sudo mv gas-preprocessor.pl {}""".format(package_manager_info[detect_package_manager() + "-binary-path"])) reterr = 1 - if not os.path.isdir("submodules/linphone/mediastreamer2") or not os.path.isdir("submodules/linphone/oRTP"): + if not os.path.isdir("submodules/linphone/mediastreamer2/src") or not os.path.isdir("submodules/linphone/oRTP/src"): error("Missing some git submodules. Did you run:\n\tgit submodule update --init --recursive") reterr = 1 From 64387ace5ab425e3ab9543fd075cd464938033b5 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Tue, 29 Sep 2015 13:45:09 +0200 Subject: [PATCH 02/25] prepare.py: allow Xcode target and fix Tutorial paths --- .../hello-world.xcodeproj/project.pbxproj | 24 +++++++++---------- prepare.py | 21 +++++++++------- submodules/belle-sip | 2 +- submodules/linphone | 2 +- 4 files changed, 27 insertions(+), 22 deletions(-) diff --git a/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj b/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj index 5f5892cf4..015192a68 100755 --- a/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj +++ b/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj @@ -790,8 +790,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + "../../liblinphone-sdk/apple-darwin/lib", + "../../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -810,8 +810,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + "../../liblinphone-sdk/apple-darwin/lib", + "../../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -833,8 +833,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + "../../liblinphone-sdk/apple-darwin/lib", + "../../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -853,8 +853,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + "../../liblinphone-sdk/apple-darwin/lib", + "../../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -876,7 +876,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "../../liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -895,7 +895,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "../../liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -917,7 +917,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "../../liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -936,7 +936,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "../../liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; diff --git a/prepare.py b/prepare.py index a9d2431c7..e58d34bd3 100755 --- a/prepare.py +++ b/prepare.py @@ -482,7 +482,7 @@ def main(argv=None): argparser.add_argument( '--enable-non-free-codecs', help="Enable non-free codecs such as OpenH264, MPEG4, etc.. Final application must comply with their respective license (see README.md).", action='store_true') argparser.add_argument( - '-G' '--generator', help="CMake build system generator (default: Unix Makefiles).", default='Unix Makefiles', choices=['Unix Makefiles', 'Ninja'], dest='generator') + '-G' '--generator', help="CMake build system generator (default: Unix Makefiles, use cmake -h to get the complete list).", default='Unix Makefiles', dest='generator') argparser.add_argument( '-L', '--list-cmake-variables', help="List non-advanced CMake cache variables.", action='store_true', dest='list_cmake_variables') argparser.add_argument( @@ -495,12 +495,6 @@ def main(argv=None): args, additional_args = argparser.parse_known_args() additional_args += ["-G", args.generator] - if args.generator == 'Ninja': - if not check_is_installed("ninja", "it"): - return 1 - generator = 'ninja -C' - else: - generator = '$(MAKE) -C' if check_tools() != 0: return 1 @@ -578,7 +572,18 @@ def main(argv=None): os.remove('Makefile') elif selected_platforms: install_git_hook() - generate_makefile(selected_platforms, generator) + + # only generated makefile if we are using Ninja or Makefile + if args.generator == 'Ninja': + if not check_is_installed("ninja", "it"): + return 1 + generate_makefile(selected_platforms, 'ninja -C') + elif args.generator == "Unix Makefiles": + generate_makefile(selected_platforms, '$(MAKE) -C') + elif args.generator == "Xcode": + print("You can now open Xcode project with: open WORK/cmake/Project.xcodeproj") + else: + print("Not generating meta-makefile for generator {}.".format(args.generator)) return 0 diff --git a/submodules/belle-sip b/submodules/belle-sip index 9bf1eecf1..12d21dbb2 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit 9bf1eecf12bb8a0884025d35de9b50b0875b9ecc +Subproject commit 12d21dbb2ac58dff25b0ca1c66654234b526a429 diff --git a/submodules/linphone b/submodules/linphone index f582965b1..fcc39924f 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit f582965b14e8b777db47d52634ba518ec33cae23 +Subproject commit fcc39924ffa45037f83b2217a2f84ddabe962b30 From 1d3f1e56cff045e17b3e063dd31458acd8358116 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Tue, 29 Sep 2015 13:45:09 +0200 Subject: [PATCH 03/25] prepare.py: allow Xcode target and fix Tutorial project --- .../hello-world.xcodeproj/project.pbxproj | 36 +++++++++---------- prepare.py | 21 ++++++----- submodules/belle-sip | 2 +- submodules/linphone | 2 +- 4 files changed, 33 insertions(+), 28 deletions(-) diff --git a/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj b/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj index 5f5892cf4..a1a9abe7f 100755 --- a/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj +++ b/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj @@ -65,7 +65,6 @@ 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 */; }; @@ -294,7 +293,6 @@ 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 */, @@ -790,8 +788,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + "../liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -810,8 +808,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + "../liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -833,8 +831,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + "../liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -853,8 +851,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + "../liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -876,7 +874,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -895,7 +893,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -917,7 +915,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -936,7 +934,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -949,13 +947,14 @@ buildSettings = { ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ENABLE_BITCODE = NO; 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"; + HEADER_SEARCH_PATHS = "../liblinphone-sdk/apple-darwin/include"; IPHONEOS_DEPLOYMENT_TARGET = 6.0; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib"; + LIBRARY_SEARCH_PATHS = "../liblinphone-sdk/apple-darwin/lib"; PREBINDING = NO; SDKROOT = iphoneos; }; @@ -966,12 +965,13 @@ buildSettings = { ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ENABLE_BITCODE = NO; 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"; + HEADER_SEARCH_PATHS = "../liblinphone-sdk/apple-darwin/include"; IPHONEOS_DEPLOYMENT_TARGET = 6.0; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib"; + LIBRARY_SEARCH_PATHS = "../liblinphone-sdk/apple-darwin/lib"; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; PREBINDING = NO; SDKROOT = iphoneos; diff --git a/prepare.py b/prepare.py index a9d2431c7..e58d34bd3 100755 --- a/prepare.py +++ b/prepare.py @@ -482,7 +482,7 @@ def main(argv=None): argparser.add_argument( '--enable-non-free-codecs', help="Enable non-free codecs such as OpenH264, MPEG4, etc.. Final application must comply with their respective license (see README.md).", action='store_true') argparser.add_argument( - '-G' '--generator', help="CMake build system generator (default: Unix Makefiles).", default='Unix Makefiles', choices=['Unix Makefiles', 'Ninja'], dest='generator') + '-G' '--generator', help="CMake build system generator (default: Unix Makefiles, use cmake -h to get the complete list).", default='Unix Makefiles', dest='generator') argparser.add_argument( '-L', '--list-cmake-variables', help="List non-advanced CMake cache variables.", action='store_true', dest='list_cmake_variables') argparser.add_argument( @@ -495,12 +495,6 @@ def main(argv=None): args, additional_args = argparser.parse_known_args() additional_args += ["-G", args.generator] - if args.generator == 'Ninja': - if not check_is_installed("ninja", "it"): - return 1 - generator = 'ninja -C' - else: - generator = '$(MAKE) -C' if check_tools() != 0: return 1 @@ -578,7 +572,18 @@ def main(argv=None): os.remove('Makefile') elif selected_platforms: install_git_hook() - generate_makefile(selected_platforms, generator) + + # only generated makefile if we are using Ninja or Makefile + if args.generator == 'Ninja': + if not check_is_installed("ninja", "it"): + return 1 + generate_makefile(selected_platforms, 'ninja -C') + elif args.generator == "Unix Makefiles": + generate_makefile(selected_platforms, '$(MAKE) -C') + elif args.generator == "Xcode": + print("You can now open Xcode project with: open WORK/cmake/Project.xcodeproj") + else: + print("Not generating meta-makefile for generator {}.".format(args.generator)) return 0 diff --git a/submodules/belle-sip b/submodules/belle-sip index 9bf1eecf1..12d21dbb2 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit 9bf1eecf12bb8a0884025d35de9b50b0875b9ecc +Subproject commit 12d21dbb2ac58dff25b0ca1c66654234b526a429 diff --git a/submodules/linphone b/submodules/linphone index f582965b1..fcc39924f 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit f582965b14e8b777db47d52634ba518ec33cae23 +Subproject commit fcc39924ffa45037f83b2217a2f84ddabe962b30 From 94abee6a488f92b528beb043e5c7f061de76d515 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Tue, 29 Sep 2015 14:52:43 +0200 Subject: [PATCH 04/25] xcode: fix liblinphone --- .../liblinphone.xcodeproj/project.pbxproj | 38 ++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/submodules/liblinphone.xcodeproj/project.pbxproj b/submodules/liblinphone.xcodeproj/project.pbxproj index 4544e1bb1..b19266259 100644 --- a/submodules/liblinphone.xcodeproj/project.pbxproj +++ b/submodules/liblinphone.xcodeproj/project.pbxproj @@ -320,6 +320,9 @@ 22DD19C113A8D7FA0018ECD4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22DD19C013A8D7FA0018ECD4 /* UIKit.framework */; }; 22DD19C213A8D7FA0018ECD4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; }; 22DD19C413A8D7FA0018ECD4 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22DD19C313A8D7FA0018ECD4 /* CoreGraphics.framework */; }; + 630DCF691BBAC06400A0DDC8 /* msvideopresets.c in Sources */ = {isa = PBXBuildFile; fileRef = 630DCF661BBAC05100A0DDC8 /* msvideopresets.c */; settings = {ASSET_TAGS = (); }; }; + 630DCF6C1BBAC08200A0DDC8 /* rfc4103_textstream.c in Sources */ = {isa = PBXBuildFile; fileRef = 630DCF6A1BBAC08200A0DDC8 /* rfc4103_textstream.c */; settings = {ASSET_TAGS = (); }; }; + 630DCF6D1BBAC08200A0DDC8 /* video_preset_high_fps.c in Sources */ = {isa = PBXBuildFile; fileRef = 630DCF6B1BBAC08200A0DDC8 /* video_preset_high_fps.c */; settings = {ASSET_TAGS = (); }; }; 7066FC0A13E830B800EFC6DC /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7066FC0913E830B800EFC6DC /* libvpx.a */; }; 70E542EE13E147C7002BA2C0 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542ED13E147C7002BA2C0 /* OpenGLES.framework */; }; 70E542F113E147CE002BA2C0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F013E147CE002BA2C0 /* QuartzCore.framework */; }; @@ -357,7 +360,6 @@ F0BA0A8E1A24D4DE00F68203 /* nowebcam.c in Sources */ = {isa = PBXBuildFile; fileRef = 223CA84016D9268D00EF1BEC /* nowebcam.c */; }; F0ED99131A16456500A788CE /* libcunit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F0ED99121A16456500A788CE /* libcunit.a */; }; F0ED99361A1645C200A788CE /* Makefile.am in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99171A1645C200A788CE /* Makefile.am */; }; - F0ED99371A1645C200A788CE /* Makefile.in in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99181A1645C200A788CE /* Makefile.in */; }; F0ED99421A1645C200A788CE /* arpeggio_8000_mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99261A1645C200A788CE /* arpeggio_8000_mono.wav */; }; F0ED99431A1645C200A788CE /* bird_44100_stereo.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99271A1645C200A788CE /* bird_44100_stereo.wav */; }; F0ED99441A1645C200A788CE /* chimes_48000_stereo.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99281A1645C200A788CE /* chimes_48000_stereo.wav */; }; @@ -415,7 +417,6 @@ F0ED99881A16464D00A788CE /* nylon_48000_mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99321A1645C200A788CE /* nylon_48000_mono.wav */; }; F0ED99891A16464D00A788CE /* hello8000.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED992C1A1645C200A788CE /* hello8000.wav */; }; F0ED998A1A16464D00A788CE /* laserrocket_16000_mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99311A1645C200A788CE /* laserrocket_16000_mono.wav */; }; - F0ED998B1A16464D00A788CE /* Makefile.in in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99181A1645C200A788CE /* Makefile.in */; }; F0ED998C1A16464D00A788CE /* chimes_48000_stereo.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99281A1645C200A788CE /* chimes_48000_stereo.wav */; }; F0ED998D1A16464D00A788CE /* Makefile.am in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99171A1645C200A788CE /* Makefile.am */; }; F0ED998E1A16464D00A788CE /* bird_44100_stereo.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99271A1645C200A788CE /* bird_44100_stereo.wav */; }; @@ -576,7 +577,6 @@ 222CA5DA11F6CF7600621220 /* rfc3984.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rfc3984.h; sourceTree = ""; }; 222CA5DD11F6CF7600621220 /* .gitignore */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .gitignore; sourceTree = ""; }; 222CA5F911F6CF7600621220 /* Makefile.am */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.am; sourceTree = ""; }; - 222CA5FA11F6CF7600621220 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.in; sourceTree = ""; }; 222CA6A011F6CF9E00621220 /* .gitignore */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .gitignore; sourceTree = ""; }; 222CA6A111F6CF9E00621220 /* Makefile.am */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.am; sourceTree = ""; }; 222CA6A211F6CF9F00621220 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.in; sourceTree = ""; }; @@ -732,6 +732,9 @@ 22DD19BE13A8D7FA0018ECD4 /* mediastream.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = mediastream.app; sourceTree = BUILT_PRODUCTS_DIR; }; 22DD19C013A8D7FA0018ECD4 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 22DD19C313A8D7FA0018ECD4 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 630DCF661BBAC05100A0DDC8 /* msvideopresets.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = msvideopresets.c; path = linphone/mediastreamer2/src/base/msvideopresets.c; sourceTree = SOURCE_ROOT; }; + 630DCF6A1BBAC08200A0DDC8 /* rfc4103_textstream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rfc4103_textstream.c; sourceTree = ""; }; + 630DCF6B1BBAC08200A0DDC8 /* video_preset_high_fps.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = video_preset_high_fps.c; sourceTree = ""; }; 7014533B13FA7ECA00A01D86 /* zrtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zrtp.h; sourceTree = ""; }; 7066FC0913E830B800EFC6DC /* libvpx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvpx.a; path = "../liblinphone-sdk/apple-darwin/lib/libvpx.a"; sourceTree = ""; }; 70E542ED13E147C7002BA2C0 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; @@ -771,7 +774,6 @@ F08272D91A7F898200BB6004 /* zrtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zrtp.c; sourceTree = ""; }; F0ED99121A16456500A788CE /* libcunit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcunit.a; path = "../liblinphone-sdk/apple-darwin/lib/libcunit.a"; sourceTree = ""; }; F0ED99171A1645C200A788CE /* Makefile.am */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.am; sourceTree = ""; }; - F0ED99181A1645C200A788CE /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.in; sourceTree = ""; }; F0ED991A1A1645C200A788CE /* mediastreamer2_adaptive_tester.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mediastreamer2_adaptive_tester.c; sourceTree = ""; }; F0ED991B1A1645C200A788CE /* mediastreamer2_audio_stream_tester.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mediastreamer2_audio_stream_tester.c; sourceTree = ""; }; F0ED991C1A1645C200A788CE /* mediastreamer2_basic_audio_tester.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mediastreamer2_basic_audio_tester.c; sourceTree = ""; }; @@ -1039,7 +1041,6 @@ 2252935A12F6CA4700DD9BFB /* ec-calibrator.c */, 2203127413A249F70049A2ED /* filter-template.c */, 221DCB6A153584410025E54D /* yuv2rgb.fs */, - 222CA5FA11F6CF7600621220 /* Makefile.in */, 221DCB6B153584410025E54D /* yuv2rgb.vs */, 223CA7EF16D9268D00EF1BEC /* audiofilters */, 223CA81116D9268D00EF1BEC /* base */, @@ -1241,6 +1242,9 @@ 223CA84E16D9268D00EF1BEC /* voip */ = { isa = PBXGroup; children = ( + 630DCF6A1BBAC08200A0DDC8 /* rfc4103_textstream.c */, + 630DCF6B1BBAC08200A0DDC8 /* video_preset_high_fps.c */, + 630DCF661BBAC05100A0DDC8 /* msvideopresets.c */, 223CA84F16D9268D00EF1BEC /* audioconference.c */, 223CA85016D9268D00EF1BEC /* audiostream.c */, 223CA85116D9268D00EF1BEC /* bitratecontrol.c */, @@ -1332,7 +1336,6 @@ F03A96E41AFA157800651655 /* common */, F01223BC1A1E4827008D16BA /* sounds */, F0ED99171A1645C200A788CE /* Makefile.am */, - F0ED99181A1645C200A788CE /* Makefile.in */, F0ED991A1A1645C200A788CE /* mediastreamer2_adaptive_tester.c */, F0ED991B1A1645C200A788CE /* mediastreamer2_audio_stream_tester.c */, F0ED991C1A1645C200A788CE /* mediastreamer2_basic_audio_tester.c */, @@ -1788,7 +1791,6 @@ F0ED994E1A1645C200A788CE /* nylon_48000_mono.wav in Resources */, F0ED99481A1645C200A788CE /* hello8000.wav in Resources */, F0ED994D1A1645C200A788CE /* laserrocket_16000_mono.wav in Resources */, - F0ED99371A1645C200A788CE /* Makefile.in in Resources */, F0ED99441A1645C200A788CE /* chimes_48000_stereo.wav in Resources */, F0ED99361A1645C200A788CE /* Makefile.am in Resources */, F0ED99431A1645C200A788CE /* bird_44100_stereo.wav in Resources */, @@ -1825,7 +1827,6 @@ F0ED99891A16464D00A788CE /* hello8000.wav in Resources */, F0497F141A1C9EA000B67112 /* MainWindow.xib in Resources */, F0ED998A1A16464D00A788CE /* laserrocket_16000_mono.wav in Resources */, - F0ED998B1A16464D00A788CE /* Makefile.in in Resources */, F0ED998C1A16464D00A788CE /* chimes_48000_stereo.wav in Resources */, F03A96E81AFA157800651655 /* bc_completion in Resources */, F0ED998D1A16464D00A788CE /* Makefile.am in Resources */, @@ -1902,6 +1903,7 @@ files = ( 22C8D0991769F8FF00DAFB4E /* filter-template.c in Sources */, 22C8D09A1769F8FF00DAFB4E /* yuv2rgb.fs in Sources */, + 630DCF691BBAC06400A0DDC8 /* msvideopresets.c in Sources */, 22C8D09B1769F8FF00DAFB4E /* yuv2rgb.vs in Sources */, F02538F919794908002C30F3 /* flowcontrol.c in Sources */, 22C8D09C1769F8FF00DAFB4E /* alaw.c in Sources */, @@ -1965,6 +1967,7 @@ 22C8D0D81769F8FF00DAFB4E /* msvoip.c in Sources */, 22C8D0D91769F8FF00DAFB4E /* qosanalyzer.c in Sources */, 22C8D0DA1769F8FF00DAFB4E /* qualityindicator.c in Sources */, + 630DCF6D1BBAC08200A0DDC8 /* video_preset_high_fps.c in Sources */, 22C8D0DB1769F8FF00DAFB4E /* rfc3984.c in Sources */, 22C8D0DC1769F8FF00DAFB4E /* ringstream.c in Sources */, 22C8D0DD1769F8FF00DAFB4E /* scaler.c in Sources */, @@ -1974,6 +1977,7 @@ 22C8D0E01769F8FF00DAFB4E /* msopus.c in Sources */, 22C8D0ED176A079600DAFB4E /* aac-eld.c in Sources */, 1561A555178D9C71006B4B2F /* ioshardware.m in Sources */, + 630DCF6C1BBAC08200A0DDC8 /* rfc4103_textstream.c in Sources */, F08272D71A7F895400BB6004 /* stun.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -2096,6 +2100,7 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD)"; + ENABLE_BITCODE = NO; GCC_C_LANGUAGE_STANDARD = c99; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -2122,6 +2127,7 @@ "POSIXTIMER_INTERVAL=10000", ); GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( linphone/mediastreamer2/build/iphone, @@ -2132,6 +2138,7 @@ externals/exosip/include, externals/speex/include, ); + IPHONEOS_DEPLOYMENT_TARGET = 6.0; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; VALID_ARCHS = "arm64 armv7"; @@ -2142,6 +2149,7 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD)"; + ENABLE_BITCODE = NO; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = ( "_BYTE_ORDER=_LITTLE_ENDIAN", @@ -2168,6 +2176,7 @@ ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( linphone/mediastreamer2/build/iphone, @@ -2178,6 +2187,7 @@ externals/exosip/include, externals/speex/include, ); + IPHONEOS_DEPLOYMENT_TARGET = 6.0; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; VALID_ARCHS = "arm64 armv7"; @@ -2530,6 +2540,7 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD)"; + ENABLE_BITCODE = NO; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = ( "_BYTE_ORDER=_LITTLE_ENDIAN", @@ -2556,6 +2567,7 @@ ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( linphone/mediastreamer2/build/iphone, @@ -2566,6 +2578,7 @@ externals/exosip/include, externals/speex/include, ); + IPHONEOS_DEPLOYMENT_TARGET = 6.0; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; VALID_ARCHS = "arm64 armv7"; @@ -2607,7 +2620,6 @@ GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "$(SRCROOT)/linphone/mediastreamer2/tools/ios/mediastream-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", @@ -2835,7 +2847,6 @@ GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "$(SRCROOT)/linphone/mediastreamer2/tools/ios/mediastream-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", @@ -2883,7 +2894,6 @@ GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "$(SRCROOT)/linphone/mediastreamer2/tools/ios/mediastream-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", @@ -2944,7 +2954,6 @@ "$(SRCROOT)/../liblinphone-sdk/apple-darwin/include", ); INFOPLIST_FILE = "mediastream-tester Tests/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = NO; @@ -2992,7 +3001,6 @@ "$(SRCROOT)/../liblinphone-sdk/apple-darwin/include", ); INFOPLIST_FILE = "mediastream-tester Tests/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -3040,7 +3048,6 @@ "$(SRCROOT)/../liblinphone-sdk/apple-darwin/include", ); INFOPLIST_FILE = "mediastream-tester Tests/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -3098,7 +3105,6 @@ "$(SRCROOT)/externals/speex", ); INFOPLIST_FILE = "$(SRCROOT)/linphone/mediastreamer2/tools/ios/mediastream-tester-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", @@ -3160,7 +3166,6 @@ "$(SRCROOT)/externals/speex", ); INFOPLIST_FILE = "$(SRCROOT)/linphone/mediastreamer2/tools/ios/mediastream-tester-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", @@ -3224,7 +3229,6 @@ "$(SRCROOT)/externals/speex", ); INFOPLIST_FILE = "$(SRCROOT)/linphone/mediastreamer2/tools/ios/mediastream-tester-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", From 1043ee14352b6d1f398eb4d494109778fb1babe4 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 30 Sep 2015 10:19:35 +0200 Subject: [PATCH 05/25] xcode: fix tutorial and liblinphone projects and add them to CI to avoid this in the future --- TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj | 7 +------ submodules/liblinphone.xcodeproj/project.pbxproj | 8 +------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj b/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj index a1a9abe7f..d5953a5a3 100755 --- a/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj +++ b/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj @@ -101,7 +101,6 @@ 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 */; }; @@ -151,7 +150,6 @@ 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 */; }; @@ -181,7 +179,6 @@ 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 */; }; @@ -365,7 +362,6 @@ 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 */, @@ -402,7 +398,6 @@ 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 */, @@ -452,7 +447,6 @@ 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 */, @@ -955,6 +949,7 @@ HEADER_SEARCH_PATHS = "../liblinphone-sdk/apple-darwin/include"; IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = "../liblinphone-sdk/apple-darwin/lib"; + ONLY_ACTIVE_ARCH = YES; PREBINDING = NO; SDKROOT = iphoneos; }; diff --git a/submodules/liblinphone.xcodeproj/project.pbxproj b/submodules/liblinphone.xcodeproj/project.pbxproj index b19266259..21ed8f629 100644 --- a/submodules/liblinphone.xcodeproj/project.pbxproj +++ b/submodules/liblinphone.xcodeproj/project.pbxproj @@ -2139,6 +2139,7 @@ externals/speex/include, ); IPHONEOS_DEPLOYMENT_TARGET = 6.0; + ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; VALID_ARCHS = "arm64 armv7"; @@ -2625,7 +2626,6 @@ "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); - ONLY_ACTIVE_ARCH = NO; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -2852,7 +2852,6 @@ "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); - ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; WRAPPER_EXTENSION = app; @@ -2899,7 +2898,6 @@ "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); - ONLY_ACTIVE_ARCH = NO; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -2956,7 +2954,6 @@ INFOPLIST_FILE = "mediastream-tester Tests/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/mediastream-tester.app/mediastream-tester"; }; @@ -3110,7 +3107,6 @@ "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); - ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "mediastream-tester"; PROVISIONING_PROFILE = ""; SKIP_INSTALL = YES; @@ -3171,7 +3167,6 @@ "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); - ONLY_ACTIVE_ARCH = NO; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; PRODUCT_NAME = "mediastream-tester"; PROVISIONING_PROFILE = ""; @@ -3234,7 +3229,6 @@ "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); - ONLY_ACTIVE_ARCH = NO; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; PRODUCT_NAME = "mediastream-tester"; PROVISIONING_PROFILE = ""; From 5bec68dc3dbef5c87b2fb84f2b1ed65485a0c153 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Thu, 1 Oct 2015 17:18:06 +0200 Subject: [PATCH 06/25] 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 238b0c9c7..16f0c3c48 160000 --- a/submodules/cmake-builder +++ b/submodules/cmake-builder @@ -1 +1 @@ -Subproject commit 238b0c9c7ee78cfbdf8ec59d6ca1afb7103b1da8 +Subproject commit 16f0c3c488bd0f17af417d43021d61e2a1e4b177 From 4a84eaa02447d02f1e9a5174c45ae9eae234ffb0 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 2 Oct 2015 11:27:01 +0200 Subject: [PATCH 07/25] travis: increase registration timeout --- TestsUI/LinphoneTestCase.m | 2 +- Tools/imgur_upload.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/TestsUI/LinphoneTestCase.m b/TestsUI/LinphoneTestCase.m index 89148092b..f20fbc673 100644 --- a/TestsUI/LinphoneTestCase.m +++ b/TestsUI/LinphoneTestCase.m @@ -154,7 +154,7 @@ - (void)waitForRegistration { // wait for account to be registered - int timeout = 15; + int timeout = 45; // TODO: check why this is so wrong... while (timeout && [tester tryFindingViewWithAccessibilityLabel:@"Registration state" value:@"Registered" traits:UIAccessibilityTraitStaticText diff --git a/Tools/imgur_upload.sh b/Tools/imgur_upload.sh index d7277ff44..bd36a7c4a 100755 --- a/Tools/imgur_upload.sh +++ b/Tools/imgur_upload.sh @@ -2,7 +2,7 @@ # Install underscore-cli for hacking if ! which underscore &> /dev/null; then - npm install -g underscore-cli + npm install -g underscore-cli >/dev/null fi cd $KIF_SCREENSHOTS From 742b939602a3388e1988aa178064536727b806ed Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 2 Oct 2015 11:54:44 +0200 Subject: [PATCH 08/25] submodules: update belle-sip and linphone --- Classes/Base.lproj/WizardViews.xib | 18 +++++++++--------- Classes/WizardViewController.m | 1 + Tools/imgur_upload.sh | 2 +- submodules/belle-sip | 2 +- submodules/linphone | 2 +- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/Classes/Base.lproj/WizardViews.xib b/Classes/Base.lproj/WizardViews.xib index 95e4efe8c..9c30bd9cd 100644 --- a/Classes/Base.lproj/WizardViews.xib +++ b/Classes/Base.lproj/WizardViews.xib @@ -1,5 +1,5 @@ - + @@ -30,7 +30,7 @@ - + @@ -62,7 +62,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -247,7 +247,7 @@ - + @@ -308,7 +308,7 @@ - + @@ -389,7 +389,7 @@ - + @@ -459,7 +459,7 @@ - + diff --git a/Classes/WizardViewController.m b/Classes/WizardViewController.m index 9dab1d411..8c8988b32 100644 --- a/Classes/WizardViewController.m +++ b/Classes/WizardViewController.m @@ -365,6 +365,7 @@ static UICompositeViewDescription *compositeDescription = nil; } // Set current view + LOGI(@"Changig assistant view %d -> %d", currentView.tag, view.tag); currentView = view; [contentView insertSubview:view atIndex:0]; [view setFrame:[contentView bounds]]; diff --git a/Tools/imgur_upload.sh b/Tools/imgur_upload.sh index bd36a7c4a..debd736f0 100755 --- a/Tools/imgur_upload.sh +++ b/Tools/imgur_upload.sh @@ -2,7 +2,7 @@ # Install underscore-cli for hacking if ! which underscore &> /dev/null; then - npm install -g underscore-cli >/dev/null + npm install -g underscore-cli &>/dev/null fi cd $KIF_SCREENSHOTS diff --git a/submodules/belle-sip b/submodules/belle-sip index 12d21dbb2..333c42735 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit 12d21dbb2ac58dff25b0ca1c66654234b526a429 +Subproject commit 333c427353ee224882e579c3303630a73cba0176 diff --git a/submodules/linphone b/submodules/linphone index fcc39924f..b0d2cd13b 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit fcc39924ffa45037f83b2217a2f84ddabe962b30 +Subproject commit b0d2cd13b177df4437311258cc3f2ab7f69b2fb5 From 0261734e8d5650957aeb6bc8f853f87056d4be2d Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 2 Oct 2015 14:14:32 +0200 Subject: [PATCH 09/25] submodules: update linphone to fix liblinphone testers --- submodules/cmake-builder | 2 +- submodules/linphone | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/submodules/cmake-builder b/submodules/cmake-builder index 16f0c3c48..e5ddd8925 160000 --- a/submodules/cmake-builder +++ b/submodules/cmake-builder @@ -1 +1 @@ -Subproject commit 16f0c3c488bd0f17af417d43021d61e2a1e4b177 +Subproject commit e5ddd892561b0c5df25b7036bd9229fe6a6ea81a diff --git a/submodules/linphone b/submodules/linphone index b0d2cd13b..6f44bbcc5 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit b0d2cd13b177df4437311258cc3f2ab7f69b2fb5 +Subproject commit 6f44bbcc56a477489013bca7244805e371095f4d From 1e4c5b58ad2352a21fdcc33e85582f1b40b31fd2 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 2 Oct 2015 14:27:14 +0200 Subject: [PATCH 10/25] ContactsTableViewController: fix contacts list when having 2 contacts with the same name --- Classes/ContactsTableViewController.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Classes/ContactsTableViewController.m b/Classes/ContactsTableViewController.m index ae8cd8882..25a25e908 100644 --- a/Classes/ContactsTableViewController.m +++ b/Classes/ContactsTableViewController.m @@ -194,6 +194,9 @@ static int ms_strcmpfuz(const char *fuzzy_word, const char *sentence) { forKey:firstChar selector:@selector(caseInsensitiveCompare:)]; } + while ([subDic objectForKey:name2ASCII] != nil) { + name2ASCII = [name2ASCII stringByAppendingString:@"_"]; + } [subDic insertObject:lPerson forKey:name2ASCII selector:@selector(caseInsensitiveCompare:)]; } } From 9b3f168cd18be1f32cf3734d3089ea6ea75cc670 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 2 Oct 2015 14:33:34 +0200 Subject: [PATCH 11/25] travis: outch. Fix typo in registration delay... --- TestsUI/LinphoneTestCase.m | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/TestsUI/LinphoneTestCase.m b/TestsUI/LinphoneTestCase.m index f20fbc673..320c35b1f 100644 --- a/TestsUI/LinphoneTestCase.m +++ b/TestsUI/LinphoneTestCase.m @@ -154,11 +154,12 @@ - (void)waitForRegistration { // wait for account to be registered - int timeout = 45; // TODO: check why this is so wrong... - while (timeout && [tester tryFindingViewWithAccessibilityLabel:@"Registration state" - value:@"Registered" - traits:UIAccessibilityTraitStaticText - error:nil]) { + int timeout = 15; // TODO: check why this is so wrong... + while (timeout && + ![tester tryFindingViewWithAccessibilityLabel:@"Registration state" + value:@"Registered" + traits:UIAccessibilityTraitStaticText + error:nil]) { [tester waitForTimeInterval:1]; timeout--; } From 17cb27cd79ac4fbfa535f128004330d2dfac9da8 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 2 Oct 2015 15:44:16 +0200 Subject: [PATCH 12/25] TestsUI: add remote provisioning test --- TestsUI/AssistantTester.m | 7 +++++++ TestsUI/LinphoneTestCase.m | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/TestsUI/AssistantTester.m b/TestsUI/AssistantTester.m index 94c1a565b..4a4107a6f 100644 --- a/TestsUI/AssistantTester.m +++ b/TestsUI/AssistantTester.m @@ -116,4 +116,11 @@ } } +- (void)testRemoteProvisioning { + [tester tapViewWithAccessibilityLabel:@"Start"]; + [tester tapViewWithAccessibilityLabel:@"Remote provisioning"]; + [tester enterTextIntoCurrentFirstResponder:@"smtp.linphone.org/testios_xml"]; + [tester tapViewWithAccessibilityLabel:@"Fetch"]; + [self waitForRegistration]; +} @end diff --git a/TestsUI/LinphoneTestCase.m b/TestsUI/LinphoneTestCase.m index 320c35b1f..e5972e36b 100644 --- a/TestsUI/LinphoneTestCase.m +++ b/TestsUI/LinphoneTestCase.m @@ -154,7 +154,7 @@ - (void)waitForRegistration { // wait for account to be registered - int timeout = 15; // TODO: check why this is so wrong... + int timeout = 15; while (timeout && ![tester tryFindingViewWithAccessibilityLabel:@"Registration state" value:@"Registered" From c02cf6b47bb9adb2d081376bd0dcd4cab8f834c0 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 2 Oct 2015 15:59:36 +0200 Subject: [PATCH 13/25] LinphoneCoreSettings: fix registration when modifying password --- Classes/LinphoneCoreSettingsStore.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index f6ad3fe02..097b1ea4a 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -489,8 +489,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); LinphoneAddress *from = linphone_address_new(identity); if (from != 0) { const char *userid_str = (userID != nil) ? [userID UTF8String] : NULL; - info = linphone_auth_info_new(linphone_address_get_username(from), userid_str, password, ha1, NULL, - linphone_proxy_config_get_domain(proxyCfg)); + info = linphone_auth_info_new(linphone_address_get_username(from), userid_str, password ? password : NULL, + password ? NULL : ha1, NULL, linphone_proxy_config_get_domain(proxyCfg)); linphone_address_destroy(from); } From e09d8ab494e3714406a44c4452c0434c4e7a337a Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 2 Oct 2015 16:00:34 +0200 Subject: [PATCH 14/25] linphonerc: remove outbound proxy for linphone accounts by default --- Classes/Base.lproj/WizardViews.xib | 2 +- Classes/LinphoneCoreSettingsStore.m | 5 ++--- Resources/wizard_linphone_create.rc | 1 - Resources/wizard_linphone_existing.rc | 1 - linphone.xcodeproj/project.pbxproj | 2 +- 5 files changed, 4 insertions(+), 7 deletions(-) diff --git a/Classes/Base.lproj/WizardViews.xib b/Classes/Base.lproj/WizardViews.xib index 9c30bd9cd..23900ba39 100644 --- a/Classes/Base.lproj/WizardViews.xib +++ b/Classes/Base.lproj/WizardViews.xib @@ -469,7 +469,7 @@ - + diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index 097b1ea4a..6747a85e0 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -431,9 +431,6 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); proxy = linphone_address_as_string_uri_only(proxy_addr); } - // use proxy as route if outbound_proxy is enabled - route = isOutboundProxy ? proxy : NULL; - // possible valid config detected, try to modify current proxy or create new one if none existing linphone_core_get_default_proxy(lc, &proxyCfg); if (proxyCfg == NULL) { @@ -459,6 +456,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); error = NSLocalizedString(@"Invalid username or domain", nil); goto bad_proxy; } + // use proxy as route if outbound_proxy is enabled + route = isOutboundProxy ? proxy : NULL; if (linphone_proxy_config_set_server_addr(proxyCfg, proxy) == -1) { error = NSLocalizedString(@"Invalid proxy address", nil); goto bad_proxy; diff --git a/Resources/wizard_linphone_create.rc b/Resources/wizard_linphone_create.rc index ee15a41e5..722040d06 100644 --- a/Resources/wizard_linphone_create.rc +++ b/Resources/wizard_linphone_create.rc @@ -3,7 +3,6 @@
<sip:sip.linphone.org;transport=tls> - <sip:sip.linphone.org;transport=tls> sip:?@sip.linphone.org 1314000 1 diff --git a/Resources/wizard_linphone_existing.rc b/Resources/wizard_linphone_existing.rc index 7977a0d9f..3822706d2 100644 --- a/Resources/wizard_linphone_existing.rc +++ b/Resources/wizard_linphone_existing.rc @@ -3,7 +3,6 @@
<sip:sip.linphone.org;transport=tls> - <sip:sip.linphone.org;transport=tls> sip:?@sip.linphone.org 1314000 1 diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index ab2085a67..9bc38915e 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -3963,7 +3963,7 @@ ); 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)"; + shellScript = "test -f liblinphone-sdk/apple-darwin/share/linphone/rootca.pem || (echo 'liblinphone SDK not found. Please refer to the README: you have to compile liblinphone SDK before building Linphone application.' && exit 1)"; }; D33CF34715D3985000CD4B85 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; From 59ad155cb74198ee5cac9aaa429d1cb124d4488f Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 2 Oct 2015 17:00:26 +0200 Subject: [PATCH 15/25] HPGrowingTextView: fix 2nd line of chat not displaying properly when building with xcode7 for ioS9 by rounding to upper value --- Classes/Utils/GrowingTextView/HPGrowingTextView.m | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/Classes/Utils/GrowingTextView/HPGrowingTextView.m b/Classes/Utils/GrowingTextView/HPGrowingTextView.m index f8c143f9c..ba747064c 100755 --- a/Classes/Utils/GrowingTextView/HPGrowingTextView.m +++ b/Classes/Utils/GrowingTextView/HPGrowingTextView.m @@ -366,13 +366,11 @@ CGRect size = [textToMeasure boundingRectWithSize:CGSizeMake(CGRectGetWidth(frame), MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin context:nil]; - - return CGRectGetHeight(size) + fudgeFactor.height; - } - else - { - return self.internalTextView.contentSize.height; - } + + return ceil(CGRectGetHeight(size) + fudgeFactor.height); + } else { + return self.internalTextView.contentSize.height; + } #else return self.internalTextView.contentSize.height; #endif From 924ea29282a0983eb7ecc9891c30f53e6c4eda63 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 5 Oct 2015 11:25:05 +0200 Subject: [PATCH 16/25] User agent: use device name and version as user agent --- Classes/LinphoneManager.m | 8 ++++---- Classes/Utils/Utils.h | 1 + Classes/Utils/Utils.m | 8 ++++++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index f6652360a..d9822dffe 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -1293,10 +1293,10 @@ static LinphoneCoreVTable linphonec_vtable = {.show = NULL, const char *lRootCa = [[LinphoneManager bundleFile:@"rootca.pem"] cStringUsingEncoding:[NSString defaultCStringEncoding]]; - linphone_core_set_user_agent(theLinphoneCore, - [[[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"] - stringByAppendingString:@"Iphone"] UTF8String], - LINPHONE_IOS_VERSION); + NSString *device = [NSString + stringWithFormat:@"%@_%@_iOS%@", [NSBundle.mainBundle objectForInfoDictionaryKey:@"CFBundleDisplayName"], + [LinphoneUtils deviceName], UIDevice.currentDevice.systemVersion]; + linphone_core_set_user_agent(theLinphoneCore, device.UTF8String, LINPHONE_IOS_VERSION); _contactSipField = [self lpConfigStringForKey:@"contact_im_type_value" withDefault:@"SIP"]; diff --git a/Classes/Utils/Utils.h b/Classes/Utils/Utils.h index 998a818d1..6e1a8f5e7 100644 --- a/Classes/Utils/Utils.h +++ b/Classes/Utils/Utils.h @@ -46,6 +46,7 @@ void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); + (void)buttonFixStatesForTabs:(UIButton*)button; + (void)buttonMultiViewAddAttributes:(NSMutableDictionary*)attributes button:(UIButton*)button; + (void)buttonMultiViewApplyAttributes:(NSDictionary*)attributes button:(UIButton*)button; ++ (NSString *)deviceName; @end diff --git a/Classes/Utils/Utils.m b/Classes/Utils/Utils.m index 015f8a3fa..227a06989 100644 --- a/Classes/Utils/Utils.m +++ b/Classes/Utils/Utils.m @@ -20,6 +20,7 @@ #import "Utils.h" #include "linphone/linphonecore.h" #import +#import @implementation LinphoneLogger @@ -298,6 +299,13 @@ void linphone_iphone_log_handler(int lev, const char *fmt, va_list args) { return nil; } ++ (NSString *)deviceName { + struct utsname systemInfo; + uname(&systemInfo); + + return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; +} + @end @implementation NSNumber (HumanReadableSize) From 91937278160aba15b356ef7dd9fa3c1027f217c3 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 5 Oct 2015 12:26:11 +0200 Subject: [PATCH 17/25] release: prepare 2.4 release --- Classes/Utils/Utils.m | 7 ++++--- linphone-Info.plist | 2 +- submodules/linphone | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Classes/Utils/Utils.m b/Classes/Utils/Utils.m index 227a06989..06ba6f344 100644 --- a/Classes/Utils/Utils.m +++ b/Classes/Utils/Utils.m @@ -29,13 +29,14 @@ va_start(args, format); NSString *str = [[NSString alloc] initWithFormat:format arguments:args]; int filesize = 20; + const char *filename = strchr(file, '/') ? strrchr(file, '/') + 1 : file; if (severity <= ORTP_DEBUG) { // lol: ortp_debug(XXX) can be disabled at compile time, but ortp_log(ORTP_DEBUG, xxx) will always be valid even // not in debug build... - ortp_debug("%*s:%3d - %s", filesize, file + MAX((int)strlen(file) - filesize, 0), line, [str UTF8String]); + ortp_debug("%*s:%3d - %s", filesize, filename + MAX((int)strlen(filename) - filesize, 0), line, str.UTF8String); } else { - ortp_log(severity, "%*s:%3d - %s", filesize, file + MAX((int)strlen(file) - filesize, 0), line, - [str UTF8String]); + ortp_log(severity, "%*s:%3d - %s", filesize, filename + MAX((int)strlen(filename) - filesize, 0), line, + str.UTF8String); } va_end(args); } diff --git a/linphone-Info.plist b/linphone-Info.plist index cefdb0428..fb0c22ce2 100644 --- a/linphone-Info.plist +++ b/linphone-Info.plist @@ -53,7 +53,7 @@ CFBundleVersion - 2.3 + 2.4 LSRequiresIPhoneOS UIApplicationExitsOnSuspend diff --git a/submodules/linphone b/submodules/linphone index 6f44bbcc5..c0d58391e 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 6f44bbcc56a477489013bca7244805e371095f4d +Subproject commit c0d58391e938eb3a5d53d2d855b29e22ff865c7b From 3759f08516b053a9266ce0d87a8db14bf87017f8 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Mon, 5 Oct 2015 16:08:22 +0200 Subject: [PATCH 18/25] submodules: update belle-sip --- submodules/belle-sip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/belle-sip b/submodules/belle-sip index 333c42735..fac134fc0 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit 333c427353ee224882e579c3303630a73cba0176 +Subproject commit fac134fc059a47d9d1279b8d27cc8374457afe0c From 31c9c5fd0e17856c29ed34922508f327d208e77e Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Tue, 6 Oct 2015 10:20:35 +0200 Subject: [PATCH 19/25] LinphoneManager: ask user for password if login fails due to bad credentials --- Classes/LinphoneCoreSettingsStore.m | 23 +++++++++++----- Classes/LinphoneManager.m | 42 ++++++++++++++++++++++++++++- 2 files changed, 58 insertions(+), 7 deletions(-) diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index 6747a85e0..451dbefb4 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -485,12 +485,23 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); linphone_proxy_config_set_expires(proxyCfg, expire); // setup auth info - LinphoneAddress *from = linphone_address_new(identity); - if (from != 0) { - const char *userid_str = (userID != nil) ? [userID UTF8String] : NULL; - info = linphone_auth_info_new(linphone_address_get_username(from), userid_str, password ? password : NULL, - password ? NULL : ha1, NULL, linphone_proxy_config_get_domain(proxyCfg)); - linphone_address_destroy(from); + if (linphone_core_get_auth_info_list(lc)) { + info = linphone_auth_info_clone(linphone_core_get_auth_info_list(lc)->data); + linphone_auth_info_set_username(info, username.UTF8String); + if (password) { + linphone_auth_info_set_passwd(info, password); + linphone_auth_info_set_ha1(info, NULL); + } + linphone_auth_info_set_domain(info, linphone_proxy_config_get_domain(proxyCfg)); + } else { + LinphoneAddress *from = linphone_address_new(identity); + if (from) { + const char *userid_str = (userID != nil) ? [userID UTF8String] : NULL; + info = linphone_auth_info_new( + linphone_address_get_username(from), userid_str, password ? password : NULL, password ? NULL : ha1, + linphone_proxy_config_get_realm(proxyCfg), linphone_proxy_config_get_domain(proxyCfg)); + linphone_address_destroy(from); + } } // We reached here without hitting the goto: the new settings are correct, so replace the previous ones. diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index d9822dffe..6930db643 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -41,6 +41,8 @@ #import "LinphoneIOSVersion.h" #import +#import "Utils/DTFoundation/DTAlertView.h" +#import "PhoneMainView.h" #define LINPHONE_LOGS_MAX_ENTRY 5000 @@ -884,6 +886,44 @@ static void linphone_iphone_registration_state(LinphoneCore *lc, LinphoneProxyCo [(__bridge LinphoneManager *)linphone_core_get_user_data(lc) onRegister:lc cfg:cfg state:state message:message]; } +#pragma mark - Auth info Function + +static void linphone_iphone_popup_password_request(LinphoneCore *lc, const char *realm, const char *username, + const char *domain) { + // let the wizard handle its own errors + if ([PhoneMainView.instance currentView] != WizardViewController.compositeViewDescription) { + DTAlertView *alertView = [[DTAlertView alloc] + initWithTitle:NSLocalizedString(@"Authentication needed.", nil) + message:[NSString stringWithFormat:NSLocalizedString(@"Registration failed because authentication is " + @"missing or invalid for %s@%s.\nYou can " + @"provide password again, or check your " + @"account configuration in the settings.", + nil), + username, realm]]; + alertView.alertViewStyle = UIAlertViewStyleSecureTextInput; + [alertView addCancelButtonWithTitle:NSLocalizedString(@"Cancel", nil) block:nil]; + __weak UITextField *passwordField = [alertView textFieldAtIndex:0]; + + [alertView addButtonWithTitle:NSLocalizedString(@"Continue", nil) + block:^{ + LinphoneAuthInfo *info = (LinphoneAuthInfo *)linphone_core_find_auth_info( + [LinphoneManager getLc], realm, username, domain); + if (info) { + linphone_auth_info_set_passwd(info, passwordField.text.UTF8String); + linphone_auth_info_set_ha1(info, NULL); + linphone_proxy_config_refresh_register( + linphone_core_get_default_proxy_config([LinphoneManager getLc])); + } else { + LOGE(@"Could not find auth info associated with %s@%s, going to settings!", + username, domain); + [[PhoneMainView instance] + changeCurrentView:[SettingsViewController compositeViewDescription]]; + } + }]; + [alertView show]; + } +} + #pragma mark - Text Received Functions - (void)onMessageReceived:(LinphoneCore *)lc room:(LinphoneChatRoom *)room message:(LinphoneChatMessage *)msg { @@ -1254,7 +1294,7 @@ static LinphoneCoreVTable linphonec_vtable = {.show = NULL, .registration_state_changed = linphone_iphone_registration_state, .notify_presence_received = NULL, .new_subscription_requested = NULL, - .auth_info_requested = NULL, + .auth_info_requested = linphone_iphone_popup_password_request, .display_status = linphone_iphone_display_status, .display_message = linphone_iphone_log_user_info, .display_warning = linphone_iphone_log_user_warning, From 3287ffd209e8a692f97492b95f2d7d5bda7659e1 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Tue, 6 Oct 2015 12:20:11 +0200 Subject: [PATCH 20/25] submodules: fix video preview hanging on some iPad when starting/stopping calls --- Classes/WizardViewController.m | 6 ------ submodules/linphone | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/Classes/WizardViewController.m b/Classes/WizardViewController.m index 8c8988b32..64d4a24ac 100644 --- a/Classes/WizardViewController.m +++ b/Classes/WizardViewController.m @@ -570,13 +570,7 @@ static UICompositeViewDescription *compositeDescription = nil; linphone_core_set_provisioning_uri([LinphoneManager getLc], [fullPath cStringUsingEncoding:[NSString defaultCStringEncoding]]); [[LinphoneManager instance] lpConfigSetInt:1 forKey:@"transient_provisioning" forSection:@"misc"]; - - // For some reason, video preview hangs for 15seconds when resetting linphone core from here... - // to avoid it, we disable it before and reenable it after core restart. - BOOL hasPreview = linphone_core_video_preview_enabled([LinphoneManager getLc]); - linphone_core_enable_video_preview([LinphoneManager getLc], FALSE); [[LinphoneManager instance] resetLinphoneCore]; - linphone_core_enable_video_preview([LinphoneManager getLc], hasPreview); } #pragma mark - UITextFieldDelegate Functions diff --git a/submodules/linphone b/submodules/linphone index c0d58391e..ee187d4cb 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit c0d58391e938eb3a5d53d2d855b29e22ff865c7b +Subproject commit ee187d4cb5de19ae044ab72fe6a2438b0693dc25 From 1e764a04af6585f7a89c7fce3aff722eadd1e512 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Tue, 6 Oct 2015 14:35:24 +0200 Subject: [PATCH 21/25] LinphoneManager: do not display auth popup twice --- Classes/LinphoneManager.m | 9 ++++++++- submodules/linphone | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index 6930db643..a332440b7 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -892,7 +892,14 @@ static void linphone_iphone_popup_password_request(LinphoneCore *lc, const char const char *domain) { // let the wizard handle its own errors if ([PhoneMainView.instance currentView] != WizardViewController.compositeViewDescription) { - DTAlertView *alertView = [[DTAlertView alloc] + static DTAlertView *alertView = nil; + + // avoid having multiple popups + if ([alertView isVisible]) { + [alertView dismissWithClickedButtonIndex:0 animated:NO]; + } + + alertView = [[DTAlertView alloc] initWithTitle:NSLocalizedString(@"Authentication needed.", nil) message:[NSString stringWithFormat:NSLocalizedString(@"Registration failed because authentication is " @"missing or invalid for %s@%s.\nYou can " diff --git a/submodules/linphone b/submodules/linphone index ee187d4cb..6bae96a3b 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit ee187d4cb5de19ae044ab72fe6a2438b0693dc25 +Subproject commit 6bae96a3bffd89ea9ece0d7aa550589214b7d319 From 4ced6b6e65356212cc4c795d4e676cbcc16464e2 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 7 Oct 2015 11:38:41 +0200 Subject: [PATCH 22/25] push notification: remove IC_MSG and IM_MSG hack in translation which is actually not needed --- Classes/LinphoneManager.m | 6 ++---- Resources/ar.lproj/Localizable.strings | Bin 30238 -> 30304 bytes Resources/en.lproj/Localizable.strings | Bin 31018 -> 31084 bytes Resources/fr.lproj/Localizable.strings | Bin 32336 -> 32402 bytes Resources/ru.lproj/Localizable.strings | Bin 31446 -> 31512 bytes Tools/i18n_generate_strings_files.sh | 16 +--------------- submodules/linphone | 2 +- 7 files changed, 4 insertions(+), 20 deletions(-) diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index a332440b7..d17cca506 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -702,7 +702,7 @@ static void linphone_iphone_display_status(struct _LinphoneCore *lc, const char data->notification.repeatInterval = 0; data->notification.alertBody = - [NSString stringWithFormat:NSLocalizedString(@"IC_MSG", nil), address]; + [NSString stringWithFormat:NSLocalizedString(@"Incoming call from %@", nil), address]; data->notification.alertAction = NSLocalizedString(@"Answer", nil); data->notification.userInfo = @{ @"callId" : callId, @"timer" : [NSNumber numberWithInt:1] }; data->notification.applicationIconBadgeNumber = 1; @@ -976,7 +976,7 @@ static void linphone_iphone_popup_password_request(LinphoneCore *lc, const char if ([[UIDevice currentDevice].systemVersion floatValue] >= 8) { notif.category = @"incoming_msg"; } - notif.alertBody = [NSString stringWithFormat:NSLocalizedString(@"IM_MSG", nil), address]; + notif.alertBody = [NSString stringWithFormat:NSLocalizedString(@"Incoming message from %@", nil), address]; notif.alertAction = NSLocalizedString(@"Show", nil); notif.soundName = @"msg.caf"; notif.userInfo = @{ @"from" : address, @"from_addr" : remote_uri, @"call-id" : callID }; @@ -2043,8 +2043,6 @@ static void audioRouteChangeListenerCallback(void *inUserData, // 1 for (int i = 0; i < [tokenData length]; ++i) { [tokenString appendFormat:@"%02X", (unsigned int)tokenBuffer[i]]; } -// NSLocalizedString(@"IC_MSG", nil); // Fake for genstrings -// NSLocalizedString(@"IM_MSG", nil); // Fake for genstrings #ifdef USE_APN_DEV #define APPMODE_SUFFIX @"dev" #else diff --git a/Resources/ar.lproj/Localizable.strings b/Resources/ar.lproj/Localizable.strings index c6362341a2c29d66319cc167a609fd2c51bc5358..a16b264e9f7381b14ceceb4243066be3a031a35d 100644 GIT binary patch delta 53 zcmbRDhVj80#tm6IlUL|VOkR*LHTjJb-{u}23r3)T0B5-#tm6IoX!mK489D(4DOpJ>I5=!`og*VdVwAQ1IP;) diff --git a/Resources/en.lproj/Localizable.strings b/Resources/en.lproj/Localizable.strings index b4d50ae97bf142ed319ec4cb135c437bded00e9b..a47243281300aed8ef01465dd287573034796e06 100644 GIT binary patch delta 47 xcmZ4WiSf-R#tja-lf!hiCI=L8OkQRnwK-4Mfe|PmF!_p}0#s0F^A)`?F96SO5>WsE delta 55 zcmaF!iE-5@#tja-oX!mK489D(4DOTf8mMmW(REsj$zv5ID;3QzA%~1#fI{}0NKzG A=l}o! diff --git a/Resources/ru.lproj/Localizable.strings b/Resources/ru.lproj/Localizable.strings index dbe715f2ffefb52808f2845764f4eed0a773fac6..95d4318c19abfd5f32582022f023b957e7936f54 100644 GIT binary patch delta 43 zcmccim2t*5#tm(HlTR2*O#W3YwRx6a6eEx$Fj>k#VKPq%$K+XhLYt)w_ILpRtospo delta 43 tcmbR7jq%!7#tm(HoX!mK489D(4DOTd4P-Z;((_>C^o0p+wl}!x1pq(&4MqR} diff --git a/Tools/i18n_generate_strings_files.sh b/Tools/i18n_generate_strings_files.sh index 6c18305cb..0af7fccc6 100755 --- a/Tools/i18n_generate_strings_files.sh +++ b/Tools/i18n_generate_strings_files.sh @@ -31,24 +31,10 @@ fi ##### 1. Generate Localizable.strings from source files (.m) function generate_localizable_from_sources { - #WARNING: in case of sed issue "extra characters at the end of g command", it means that + #WARNING: sed issue "extra characters at the end of g command" means that # we are trying to modify an UTF-16 file which is not supported.. - localizable_en=$root_directory/Resources/en.lproj/Localizable.strings - # The 2 only specific cases of the application: since we are length limited for push - # notifications, the ID is not matching the English translation... so we must keep - # the translations! - iconv -f utf-16 -t utf-8 $localizable_en > $localizable_en.tmp - IC_MSG_EN=$(sed -nE 's/"IC_MSG" = "(.*)";/\1/p' $localizable_en.tmp) - IM_MSG_EN=$(sed -nE 's/"IM_MSG" = "(.*)";/\1/p' $localizable_en.tmp) - rm -f $localizable_en $localizable_en.tmp - find $root_directory/Classes -name '*.m' | xargs genstrings -u -a -o $(dirname $localizable_en) - iconv -f utf-16LE -t utf-8 $localizable_en > $localizable_en.tmp - sed -i.bak "s/= \"IC_MSG\";/= \"$IC_MSG_EN\";/" $localizable_en.tmp - sed -i.bak "s/= \"IM_MSG\";/= \"$IM_MSG_EN\";/" $localizable_en.tmp - iconv -f utf-8 -t utf-16LE $localizable_en.tmp > $localizable_en - rm $localizable_en.tmp.bak $localizable_en.tmp } ##### 2. Generate .strings for all XIB files diff --git a/submodules/linphone b/submodules/linphone index 6bae96a3b..fe9b63d2e 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 6bae96a3bffd89ea9ece0d7aa550589214b7d319 +Subproject commit fe9b63d2e86193e7919dc5409e59eb5ffa2c0c17 From 54148214929dd94b110f540ac4500a950b796ca1 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 7 Oct 2015 14:37:55 +0200 Subject: [PATCH 23/25] submodules: update belle-sip and linphone to fix file transfer upload error when running in background mode --- Classes/ChatTableViewController.m | 7 +++++-- submodules/belle-sip | 2 +- submodules/linphone | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Classes/ChatTableViewController.m b/Classes/ChatTableViewController.m index 493b1d0db..2593b18bf 100644 --- a/Classes/ChatTableViewController.m +++ b/Classes/ChatTableViewController.m @@ -82,10 +82,13 @@ static int sorted_history_comparison(LinphoneChatRoom *to_insert, LinphoneChatRo // store last message in user data LinphoneChatRoom *chat_room = iter->data; MSList *history = linphone_chat_room_get_history(iter->data, 1); - LinphoneChatMessage *last_msg = history ? history->data : NULL; + LinphoneChatMessage *last_msg = NULL; + if (history) { + last_msg = linphone_chat_message_ref(history->data); + ms_list_free(history); + } linphone_chat_room_set_user_data(chat_room, last_msg); sorted = ms_list_insert_sorted(sorted, chat_room, (MSCompareFunc)sorted_history_comparison); - iter = iter->next; } return sorted; diff --git a/submodules/belle-sip b/submodules/belle-sip index fac134fc0..0efd4dfd5 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit fac134fc059a47d9d1279b8d27cc8374457afe0c +Subproject commit 0efd4dfd5b37fb28ba1ecbabcc8d37defddfd517 diff --git a/submodules/linphone b/submodules/linphone index fe9b63d2e..c4cb4d276 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit fe9b63d2e86193e7919dc5409e59eb5ffa2c0c17 +Subproject commit c4cb4d2767b126bf45cb404a83ac1b29b99a8726 From e71265bf531b3b704d2e7791f7832a844b82bb78 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 7 Oct 2015 15:10:15 +0200 Subject: [PATCH 24/25] l10n: update translations --- Classes/SettingsViewController.m | 12 +++++------- Classes/ja.lproj/AboutViewController.strings | Bin 1428 -> 1418 bytes .../ja.lproj/ChatRoomViewController.strings | Bin 2690 -> 2690 bytes Resources/ar.lproj/Localizable.strings | Bin 30304 -> 33002 bytes Resources/de.lproj/Localizable.strings | Bin 32594 -> 35314 bytes Resources/en.lproj/Localizable.strings | Bin 31084 -> 33814 bytes Resources/fr.lproj/Localizable.strings | Bin 32402 -> 35178 bytes Resources/ja.lproj/Localizable.strings | Bin 27782 -> 30656 bytes Resources/nl.lproj/Localizable.strings | Bin 32382 -> 35082 bytes Resources/ru.lproj/Localizable.strings | Bin 31512 -> 34242 bytes Resources/zh_TW.lproj/Localizable.strings | Bin 30926 -> 33722 bytes .../ar.lproj/Network.strings | Bin 1036 -> 928 bytes .../de.lproj/Network.strings | Bin 1102 -> 986 bytes .../en.lproj/Network.strings | 1 - .../fr.lproj/Network.strings | Bin 1042 -> 940 bytes .../ja.lproj/Call.strings | Bin 0 -> 602 bytes .../ja.lproj/Network.strings | Bin 1044 -> 934 bytes .../nl.lproj/Network.strings | Bin 1044 -> 934 bytes .../ru.lproj/Network.strings | Bin 1072 -> 962 bytes .../zh_TW.lproj/Network.strings | Bin 1044 -> 934 bytes Tools/i18n_generate_strings_files.sh | 3 ++- 21 files changed, 7 insertions(+), 9 deletions(-) create mode 100644 Settings/InAppSettings.bundle/ja.lproj/Call.strings diff --git a/Classes/SettingsViewController.m b/Classes/SettingsViewController.m index a7f94af1c..c856fe490 100644 --- a/Classes/SettingsViewController.m +++ b/Classes/SettingsViewController.m @@ -821,8 +821,7 @@ static UICompositeViewDescription *compositeDescription = nil; - (void)emailAttachments:(NSArray *)attachments { NSString *error = nil; #if TARGET_IPHONE_SIMULATOR - error = - NSLocalizedString(@"Cannot send emails on the Simulator. To test this feature, please use a real device.", nil); + error = @"Cannot send emails on the Simulator. To test this feature, please use a real device."; #else if ([MFMailComposeViewController canSendMail] == NO) { error = NSLocalizedString( @@ -842,12 +841,11 @@ static UICompositeViewDescription *compositeDescription = nil; MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; picker.mailComposeDelegate = self; - [picker setSubject:NSLocalizedString(@"Linphone iOS Logs", nil)]; + [picker setSubject:@"Linphone iOS Logs"]; [picker setToRecipients:[NSArray arrayWithObjects:@"linphone-iphone@belledonne-communications.com", nil]]; - [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) + [picker setMessageBody:@"Here are information about an issue I had on my device.\nI was " + @"doing ...\nI expected Linphone to ...\nInstead, I got an " + @"unexpected result: ..." isHTML:NO]; for (NSArray *attachment in attachments) { if ([[NSFileManager defaultManager] fileExistsAtPath:attachment[0]]) { diff --git a/Classes/ja.lproj/AboutViewController.strings b/Classes/ja.lproj/AboutViewController.strings index 87fc01f1af7bb72724240dfde0b05f2eace1912d..c91bba9f20df1685e8bd9b78072002b02a666774 100644 GIT binary patch delta 16 YcmbQj-Nn5ji)r!$Myt*1n4U2K05ppRN&o-= delta 34 qcmeC;p2EE$i-}X0!HB_t!H~gd@_k0@$t##0CTB1^Y*t}TV*&u07YO(O diff --git a/Classes/ja.lproj/ChatRoomViewController.strings b/Classes/ja.lproj/ChatRoomViewController.strings index 0674cec330768d09e0296dcf5968c270d08dc1d8..9e0ce9df2c5fd95ccba7ccbb94c777d7706d9bda 100644 GIT binary patch delta 28 gcmZn?Z4%v($0d?ya5_^UN!L%00R)v8tQoi%0CH~z8vp0v@6ut2yVpBhAn#9J1FSS*xX-L~mjV)LNO~6Pop(R9+*Cb7%OCuj)Hg(Tu_pz4LjZyYVW5It z7A@m^mOrF@eI~q^%9~t6yuEXc@Z^P){5;dc;aHGg#r?c?tCzP5r}l#AY6sC64Yg2> zt5J854Y4;hC+KV={>8~_i9?4KDZGBv<4Y(3WPj4MgsbJL#-HZW+?)KyQ}g{iJLu)x zXPx%e++sh!zkfUz0Rx()9C#L1mS9;?y^I#%RG6%y7gdRp^tvd{pb0dw*YVB3Qc@u5 zxO+t9VifB$Jk#)HH;;{tE9P0!kWWO^kAw! zgLRRa&ZW+C5qZ`)MW|)c8IcoG8M0seU!*w2=q5!ec^=c9jxr!Yu3H5#x$;A*^G4b| z9H5aFn4J<6dP;D=47FdL3N$SQHgHxT*U)}Pk|tP#lwGp742s)QUxm*Ga2U$JPLGJT z0Q(ATh^JO{BtapOs?FA5NoBJLXcZi&Dz1bvfo9<=futJBmW zw_{$BQ*OcBt)aw!5kXY@Tts)eFCy+srRCX~-YuCuD2CT7XUz6<5`v6lO48kU78cas ukNjy`Qt{1B#p~xs*K#|ysx`&ZUn;R10HU9QeL`62pAsf=vZD`9yM6$Tblr6T delta 433 zcmah_O-n*i5FJ~Li`VXjwGploNa1_=6r-RZ%a3{pX#^#$#59F6>8Z=89}onyY1tnL zjN7^&(4s}_77-B!8u1Hg%{;r_`46>~uKAan5p#=UGvfOPuE&&hR#G`bh4Bl}wTTXsAw#iclYs zM^WHaoGAV4qWjD5rp}i>SswR(%od$ckB+HIU3i_rqb65oq~?(gybDgDQpX$J5o+QO z9#8|EujxTkr#P4nTzt;Mt-z0C71-~nqN?Z+s1Ju4qAho3I26OoIkqtO2D_L%hiMhb z+Qniyi}5W^BQ0=(3y9-pmy(OQ#L%h8;&oW#h+`he WN+l$($&lQpS%2&|ru0j1#`py!$z6^B diff --git a/Resources/de.lproj/Localizable.strings b/Resources/de.lproj/Localizable.strings index 6bae1b2372901d4dda76e59627d874301ea1f8a1..d45af878a452ed5a549ffebf16d40da52520b491 100644 GIT binary patch delta 2463 zcmeHIOKTHR6h75rsSPExWMNe@eMBv2V-kc?6kA+q#0p7^5)zTgbkatWNt`52TBLC) zMMOD!apB5^ui1)Aw>}o)N_5j7ATEpeojZvU(}GGZ3Np;x*Li;DJ9plE>G;Gu9zX9% zRH#e~WRit3O9ts`EMTqSHSx@;cZ`Oxa{})WP0>$iaee1y=ULCq;eL(gsQ|MY9F*xW zMuVsJ?ir3^)^-9(Hxvs_O#T>7@>=knlMa38;QQe|eo-CZRB)B=hQ0gqh^&N1hZz&b zGGs$Nk6C~wITrNu+R+uh7w+WM$hfl{`P}6^J$}o_*JGV^jndGOd@HaZ+A`Z5i!7ux z*p{(`uLYkPyxI85Y7zQ5%;vDpH1-3KoJ1@o8lx0s64TqvMX1h4Fu@inj`R1;p7XhN0p2xrr;UvHkA!k$Za?3!2!xpXxeVncZrBwUtc6~QD@;7Z{|`c7`g~0#6?17txB3P7c-! z;I;-`3Ax!d8-e5k>;@?zi|qG>TY}9B;?R_Rw>(03fv<`^_*18@Cy7GJVb>dzoT_FP zp%tNEE35=D39W#ya7g;d!b62x0sW5k0RR91 delta 498 zcma)1u}Z^G6upsx7K?*6i;GE}gtS;&$4-J7v^dm)h*e^ZCRCrHNks$^9UPpBx2w2| zg79|n8(i$<wG`kO_skqcJW4D=HE2=QM5)1J_!oQqeE1e4B7|UqmVMdC7cW`)1W5H=NmeA zg0=a-9Ru2bPs{OATbJ!>Ff6ZY32nls18TwEp$JQwuMHqS!J0k48H&~Xthijjv{ zA_TND@KZ-DPt2UsZ_bPd`8I>LrJYVOx#E8qrlBp`0^ZQ5K?W@?p) zheaH#3b9(|gYVlc!cb5HfqX<3=$?T2iLT}?elVwIwxNjdsgN$P(z*!b#hh}pac|N) Q=T~a7v)R+-8j7TX-{gCe0g{4rqGtcE~yTj$P{R9`|lHJ&EqKBr7GjwGd!N zj$^d-Or)*757M?3So*0H^=5cfKgC{q%O_q2^m%8CF2!2(b3CGhv4}p1rL;E|(l_zP z-dN&AotNsKYSmCO*lx)LGG--JsX(%fv|gnq_J>_d3P`4cCx>uZ*p#Gx@FA9PBP(CwDQT13kUZnf>&XMwGPi4*-HxYoNbPdz(Yr zdFiY={q?$dC8G7o<{c^^AqQ(koHWue71F#`$(BOy>4$+1{g|xxo+eM#H537d0az0U z!Wz03)aBve9$zzh+E!;csH?*(8X9T6+tuhjOucH=)%;$&+W7B{2I>#E_ zwbk>`(_00W)3B^SCSB%hWEg@rgBeMcHls~HCOT{N>5((UVy-^Td}?tA4<7C5|A-7o zpInfOGBk$iR!25~V98~qO;@+@-OjeC9Q_7Q30MKaW+kJCd!lX$47cEe1+1NwufgU+ z?x)NGXuIBA%;({=imWy_j0c^7&cPP(%&H%WS+GH6wHDG<^Y~1@k}v delta 405 zcmbQ%!Sv=6z|xMA`Vy&IE^4sEW{zr?utn9(VA-b{u(h608R zhI}BMI{7}QD6bC#lGtQ!xm0r$5r$L-1qL6W`gDe31|=Zd7KoLAB1pO*Y9;2#Nl|uvBM*WsM?8UcW+?-hoxOfQ10^V7GasbQ4n_mk6 zlE#csZdU9a@H{7c_sS%EuEAcyIwO;le?1IGShf4j;PE&Ytlq?y&dY-*!cr` zBN);bBPUz_!lXtI9cgD|o9DQbHu;^fWL(no^AX?qu)p^vBkJynldlyg( zGQu43)`?4V4S85xJQ-OJHuvAIIhb zXdB?G8+fk_Z9~9X zLJRDH7*i(QKWHDB`M2r!(zohx5o-Y*!HTr&7x`H_O%#2SX!fd2mN>X~=cv9qw=-+^ R?n0G&tt`!dLigR;&`&@g_ly7l delta 493 zcmZWku}T9$6nqgeU``B}7_izz&_)DJ#43fIg@uZi2^^P;caof^cPFF}TMMhaHi%dY z3R?+&g_T%Z2&S zTo*4N%_B5aw2i9apTq3BN#-+l1=_9SUEDqdO;pA(@pQx}|2Kcb$jcS7V0_DM$r|4Y+7X1anqR z21bJ^NCPL(bir8CR3BEB)mHem6PVcasAR;i0)?aMUO1=X5ueJ9`3|m14HwEVG%j)V z{7l=~ihLY$-k!hhw~5`54Dd6qrqm%BTKaa(MQ9nY$GMKt0zd;EY8bg{;eH7cEw6U= z$DtXA|GLEF4s@2V-xTABcFROoHOLmPsi!wbkPj1PO>L0bfO$2O7**T3VPz%e)kgB9 z{bztr%83s6vs&r}5MTtq7(iSlql@ZEYM=5Y_dB7v#i0oc3F{`agm??^x4r$~tEy$Zc3F;d8S@pf#M6yl&BX&LSIf4nOxB7_-i2}+uf4{_GpO&S%X#`GKsO?DSH~bd8|ku zQ_or2(4HB)%Y&k(5OKPMa!JG+Y(VPM{%Ki|l+4Mzq*t)~(ohzmGu#>=)6{*8G;iW^ z9myfAoCGEOIU{@ZWU|W8YDr!dF9z)jxNN`%1L$_i*HY%D+l9;ksM{+X*6Xm@gzx@h zk>E^b8@lkPPhC$$!Q#~Hj^I|b2xwIu0&B+n5n2T!ImFJfuwwR$@<89*aqG5i6TAHn z)-5{0Eti3VjJo!pQlQ2^MXBq%PboDUUFMTCJxHLR;E#G&IA(XBz!*rK(gfd)CnJO2 rW3#Y5zV{lW?Y>6uLeY(=leYK$cj-5t^uHm0nZ3^+$>vC1qL6Wj&z1%1|W2MZ}qeo)3%9|9Cn z0E(vq%`E}5GJs|l16gT6F_4Z@ppH}q9iT`7&TmU-wZp8oq diff --git a/Resources/nl.lproj/Localizable.strings b/Resources/nl.lproj/Localizable.strings index e73fc007dc6207e7d57c521612780a7a9f0a81b9..a6a4ce74ba4f7e6fef220d6e3acf5de7b06756e2 100644 GIT binary patch delta 2368 zcmeHI&r4KM6h4-rjyjm5f(7!lgcKWd+*zU#m_kCvL{0|s9A7g7^FwDwM_r_CZB=L2 zA`DtbF}tY$Ai`C&jA-GaP0&gr`o4Rol+>uOD2T^>_n!0aIrrS}eCNDRAInzn9C-A$ zIx;7DiHj#`%n6B#Yvv4O2gAcNZAMVqpy|hGle6*zR(kv3WbsY)^s!M#Vv>Pd2M6S( z3v(2*JunSd-Zs}G`1;-5>ZT_2b@!`cxaVD&J_yyTuW&@4pQ_XKP@OJy$Ms&Qt~Ldy zIXo_$d0JICiXE%E7Ah|e_WCP}ch7ui&|s#i*4=&+br%AYIRubGptMdP$Qa~|Wbvjn z506Q#rXgQ1>D#e$Q1}kYHSCE%KZozck|@r=Is;2udFu8C0*;BxH695E{Ohv|&H5tm z*Bc%6x)QEY-)N_9Tx`&lG5_w7#(pKz9ywl$He^=&8*!TsUA|hJ8GBMumBwWad^*|E zs87c$4_WDEOH|j!%e6DIS=^j>*{H*_{%9XCuvmG(p135TDVUk7DP)s)W-*hW6Mc{laZ6+=zy=ag4yBv{po;igqxO0!jewT!HzzNY8)r$ux8#D zOIZy=>p>zrTr+h{%$j@^X08Nw@t@Za1uolGwp+&!8VxRQdmO>WUtEl>%dC=QLsp(;`;2vn$N^T B>K6b2 delta 539 zcma)2Jxc>Y6r6~l!6<^c%I1tH0b?+lQY!@!5-d!oAzYG8?($8}2nNB*My%Y%O8XR| z9Ei0)LTm*Ic7lb41abCGG+J5Q?d-gH^XBdG>A*+Ncl9*loCmVg{#9g<#1_`&q$Hau#fh6YU3c?$Wmt<5Cxi^DuBtQL`lfQ?-k zROY2`HofszsUzVkZG@m>gOutW9sG`N`2B+51q+d>6 z1g8#dM2S=6bXL4n3YnZ`lPi!@JuUVKM94JgqBxs>oxFD%#7beXsv}RdM~58GXx|2F zZja5%SDNs5oHAQ$Y%NkETqO8hRk9W>ZJ8-)ITdx2oHwBDnpNFr64Y2Iq0HcdC{K-A o=VvL;Q>g_jD!5MMu?6gN4U4z3yiRKJ`KaRb(hr)mb8s2>1f{cn5dZ)H diff --git a/Resources/ru.lproj/Localizable.strings b/Resources/ru.lproj/Localizable.strings index 95d4318c19abfd5f32582022f023b957e7936f54..bc44093ba0c80c4266170c480ab0b3a854a39183 100644 GIT binary patch delta 2450 zcmeHJ&r8!`7=I>)wvCWl5k~lRRAl6wv(rS$f=bF(DvqWFb1ogtZEQ}PhjxfAb$l+- zVF^KJY0xP;bm|X?4xJ(*I(G6}pU?YFlV;KnjffcE@B2LO_xb&No=5MmxL(|ASpMj_ zT9i4Nk)&jBrX(S8b7sLic#`-{nI|BA-1On`%Ygi#mUcIcS3h``{6mgROBSXbIGK~< zI1}Kl(+tcd*O?#0*G;8$;KsOyyWUh^2Vc3gCA3>Bfr`3AEjkf&bUDz9bFun3^s=e? zp!bPSmm-aAj!eP{^D9aLlw+v1+_h`}-m)XJ2(N%&3ZYFyCM$Wo$<0GP4QdMf_1gVm zNS+kF12O@bE4VM>JH4=eIcR60NiBNJ;hxqPj6N;J;U#YDqa=;I*4y3=eRirvgCkyj zd;XZ-iX7Rd;Jf8eErF1sek%#@Y8D$L;n$Usn0~t0tal^(suwPeHSNrxB&NvP7CpGb zQV+w4N0q2cpT~S!>2X(wWAA+WG_xxaHkD#UljsoZl?J_FPEzbFtDeV6{1UVFJNxTM z4<6pn;hn(EEF=iMf`m=qI>ph5yS<4$B<%Qaq3Lx=hW*qMRX0%#(mRO|aF zZj<1MpSU?!!EJkMk&rSNVssW!7Dd$Huy9r~;8^{XEE>(PZtdK1k*wcT zQB$f65S}($h6}{*p+7ZoJ-@KJ|CZXtwy$>PKco}c_nt4gDD6Z5 delta 389 zcmX@q%{1d1BVDIl?8AgKTphtP>YHb_MxP*#B<1;{D`nve{n^$;#(2nLFw mxPt|#80?UE8arfiV`c2*dof~@>2E{S<0viV-+6K()D*JH5& diff --git a/Resources/zh_TW.lproj/Localizable.strings b/Resources/zh_TW.lproj/Localizable.strings index 6609b4448c7504a746f60e500e5bee1daaf4be5a..db4d2ef952cd6a66458c784079764c627e7509d3 100644 GIT binary patch delta 2358 zcmeHIJ7|+p6h19zUPVHi77~{~p;4=COm(rP6-7`}Xt5>Mv=-#=-~V7%_puvim&y(cy#c23m=WP^P9^7o{k1M)R*Pe=uYt5yc{uj0=(tOQhhDD z>Zm^*nDp_NY*)?P)U^ziVKWau%J?z}Fa_GC5@w<15q=K4InWmy{4j1FBbg&KgF92; zS8*<>k|Y%&Z9`I|l6*Vdfp|^mHI+t*7W&y7@w2zh%h&gM`SpG`-;4F~+pz#=N87md zQv0^}-A~;O-w&zXCjL8rBY5WmVO-*4?Xm`uBAv=4N+W5@fwQ1i+06oflI{{#L8l;6p9^vg zI*cLw3T6wOJZ=b@%QUD8)<*`fxPlHTp6vSvI{40kK&?U33CM`NKqC#SW$XnKi;aTE z!A*h^;FxN)a4r^fi8TZ=3OwSShLVPlNJwAFebK**QBDhPTJI;-%*Q2KRI z1j}jg7r=u(b*e3i7hoBd=U;`+#MVQH&7Sk}#0)nBjy`7Zw?KTQcs7x3i@%`mZmxhM>guJzb;w%KbkCoQT=7^ljkev C0_e;D delta 414 zcmdnh&UEf0|j_lIYRFmr!SJ|^vwqPml!u! z8J%M1&1A@9C}7B7$OqD?lN}>Od3_j=#3t{TO*KamVMt|AVDJH|PiH7*Py(`TfmjJB zf}{(gW^!Ug{AMSs2$9Vlfi~=u!y-QkXENk6lrrQnBr=o$O(+8DOrG2*tf*Vepa*1! z0L2u5GO0k5OTerQpsB?`RvJ(Yq^A_9Cv|e8kg#(pP#olvL?8x=0qGndD+S0Z1L{cz g(t1d)3kHf&$!0}@Hc#Fd6T8_X>YK>sW947C0mh?YGXMYp diff --git a/Settings/InAppSettings.bundle/ar.lproj/Network.strings b/Settings/InAppSettings.bundle/ar.lproj/Network.strings index dee6be3f2e96bb3ad0fc57d5c613a617a0e0202e..39af69ecb60af5f092e4805abaffb6955033c9cb 100644 GIT binary patch delta 7 OcmeC-Sirtv0W$y!ngWji delta 73 zcmZ3$-ovqB0rTV+Omdcq3^@$x4EYR244Dii3>gf$3`z_N47Nb5#GuFK!KTh;$Y#Xm Z%I3wU$)>>I%H{$TQ3LWdC+jnd0svF=4KDxy diff --git a/Settings/InAppSettings.bundle/de.lproj/Network.strings b/Settings/InAppSettings.bundle/de.lproj/Network.strings index 037fd04bed57d8a66d9667b31cdf2cec14c76022..714fa62e630fbe468525b2042b4157f023f111d5 100644 GIT binary patch delta 7 OcmX@daf^M!EoJ}>{sTn- delta 76 zcmcb`evV_qE#}EZ%yNQ>3^@$x4EYR244Dii3>gf$ljkx^YZWmlFa$9q0!308@_;m& Q8irDaVg@A!YX&X`00^BCT>t<8 diff --git a/Settings/InAppSettings.bundle/en.lproj/Network.strings b/Settings/InAppSettings.bundle/en.lproj/Network.strings index c090abb46..398390089 100644 --- a/Settings/InAppSettings.bundle/en.lproj/Network.strings +++ b/Settings/InAppSettings.bundle/en.lproj/Network.strings @@ -12,4 +12,3 @@ "Limits" = "Limits"; "Adaptive rate control" = "Adaptive rate control"; "Adaptive rate control" = "Adaptive rate control"; -"Adaptive rate algorithm" = "Adaptive rate algorithm"; diff --git a/Settings/InAppSettings.bundle/fr.lproj/Network.strings b/Settings/InAppSettings.bundle/fr.lproj/Network.strings index 014bf5b59ae1e37407cb86d3de01c62ecb2bfcf4..c2e7c915d1bb0f74c47e0a86d31247c48b46b302 100644 GIT binary patch delta 7 OcmbQlv4(xa8fE|s7y_*T delta 84 zcmZ3(K8a()8s^D<%yJ%y3^@$x4EYR244Dii3>gf$3`z_N47Nb5#Nfz~!jQ;N02EII b;!L2bJfL_ALn)Yi$&durqr_m%z{LOn6uJYU6vn@~kKhzC2`-q!oYQ>BvtH&)V#$lJY Oy&|Vho;zzl)BOVRetd%f literal 0 HcmV?d00001 diff --git a/Settings/InAppSettings.bundle/ja.lproj/Network.strings b/Settings/InAppSettings.bundle/ja.lproj/Network.strings index bf538146cabbc6c6a5cffb3550da91e50d05aa89..b7393dcb0d1cd8dacb86e2954f0763345c54efcc 100644 GIT binary patch delta 7 OcmbQjv5bAgGG+h@`~sr@ delta 58 ycmZ3+K80h$GUmw+%yNQ>3^@$x4EYR244Dii3>gf$le3xCB``!8lo+fTxEKJmp$y#s diff --git a/Settings/InAppSettings.bundle/nl.lproj/Network.strings b/Settings/InAppSettings.bundle/nl.lproj/Network.strings index bf538146cabbc6c6a5cffb3550da91e50d05aa89..b7393dcb0d1cd8dacb86e2954f0763345c54efcc 100644 GIT binary patch delta 7 OcmbQjv5bAgGG+h@`~sr@ delta 58 ycmZ3+K80h$GUmw+%yNQ>3^@$x4EYR244Dii3>gf$le3xCB``!8lo+fTxEKJmp$y#s diff --git a/Settings/InAppSettings.bundle/ru.lproj/Network.strings b/Settings/InAppSettings.bundle/ru.lproj/Network.strings index e0e20f8cf1b6ae5ec25024c16628782d1ca125e7..f8a969aeb28cfad05d9b7b14e62b93d48c61ea49 100644 GIT binary patch delta 7 OcmdnMafp4xA!Yy!gaY>f delta 58 ycmX@azJX)IA?C?3%yNQ>3^@$x4EYR244Dii3>gf$lNFiOB``!8lo+fTxEKJ$MGXT0 diff --git a/Settings/InAppSettings.bundle/zh_TW.lproj/Network.strings b/Settings/InAppSettings.bundle/zh_TW.lproj/Network.strings index bf538146cabbc6c6a5cffb3550da91e50d05aa89..b7393dcb0d1cd8dacb86e2954f0763345c54efcc 100644 GIT binary patch delta 7 OcmbQjv5bAgGG+h@`~sr@ delta 58 ycmZ3+K80h$GUmw+%yNQ>3^@$x4EYR244Dii3>gf$le3xCB``!8lo+fTxEKJmp$y#s diff --git a/Tools/i18n_generate_strings_files.sh b/Tools/i18n_generate_strings_files.sh index 0af7fccc6..4860c5b3e 100755 --- a/Tools/i18n_generate_strings_files.sh +++ b/Tools/i18n_generate_strings_files.sh @@ -34,7 +34,8 @@ function generate_localizable_from_sources { #WARNING: sed issue "extra characters at the end of g command" means that # we are trying to modify an UTF-16 file which is not supported.. localizable_en=$root_directory/Resources/en.lproj/Localizable.strings - find $root_directory/Classes -name '*.m' | xargs genstrings -u -a -o $(dirname $localizable_en) + rm -f $localizable_en + find $root_directory/Classes -name '*.m' | xargs genstrings -u -a -o "$(dirname $localizable_en)" } ##### 2. Generate .strings for all XIB files From e4d2900b6cbde44b1e92a24e92996ac1e53277b6 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Wed, 7 Oct 2015 16:55:45 +0200 Subject: [PATCH 25/25] revert "push notification: remove IC_MSG and IM_MSG hack in translation which is actually not needed" --- Classes/LinphoneManager.m | 6 ++++-- Resources/ar.lproj/Localizable.strings | Bin 33002 -> 32936 bytes Resources/de.lproj/Localizable.strings | Bin 35314 -> 35248 bytes Resources/en.lproj/Localizable.strings | Bin 33814 -> 33748 bytes Resources/fr.lproj/Localizable.strings | Bin 35178 -> 35112 bytes Resources/ja.lproj/Localizable.strings | Bin 30656 -> 30590 bytes Resources/nl.lproj/Localizable.strings | Bin 35082 -> 35016 bytes Resources/ru.lproj/Localizable.strings | Bin 34242 -> 34176 bytes Resources/zh_TW.lproj/Localizable.strings | Bin 33722 -> 33656 bytes Tools/i18n_generate_strings_files.sh | 19 ++++++++++++++++--- 10 files changed, 20 insertions(+), 5 deletions(-) diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index d17cca506..a332440b7 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -702,7 +702,7 @@ static void linphone_iphone_display_status(struct _LinphoneCore *lc, const char data->notification.repeatInterval = 0; data->notification.alertBody = - [NSString stringWithFormat:NSLocalizedString(@"Incoming call from %@", nil), address]; + [NSString stringWithFormat:NSLocalizedString(@"IC_MSG", nil), address]; data->notification.alertAction = NSLocalizedString(@"Answer", nil); data->notification.userInfo = @{ @"callId" : callId, @"timer" : [NSNumber numberWithInt:1] }; data->notification.applicationIconBadgeNumber = 1; @@ -976,7 +976,7 @@ static void linphone_iphone_popup_password_request(LinphoneCore *lc, const char if ([[UIDevice currentDevice].systemVersion floatValue] >= 8) { notif.category = @"incoming_msg"; } - notif.alertBody = [NSString stringWithFormat:NSLocalizedString(@"Incoming message from %@", nil), address]; + notif.alertBody = [NSString stringWithFormat:NSLocalizedString(@"IM_MSG", nil), address]; notif.alertAction = NSLocalizedString(@"Show", nil); notif.soundName = @"msg.caf"; notif.userInfo = @{ @"from" : address, @"from_addr" : remote_uri, @"call-id" : callID }; @@ -2043,6 +2043,8 @@ static void audioRouteChangeListenerCallback(void *inUserData, // 1 for (int i = 0; i < [tokenData length]; ++i) { [tokenString appendFormat:@"%02X", (unsigned int)tokenBuffer[i]]; } +// NSLocalizedString(@"IC_MSG", nil); // Fake for genstrings +// NSLocalizedString(@"IM_MSG", nil); // Fake for genstrings #ifdef USE_APN_DEV #define APPMODE_SUFFIX @"dev" #else diff --git a/Resources/ar.lproj/Localizable.strings b/Resources/ar.lproj/Localizable.strings index 84e769d8ea909b6cfd41453d723302bad94a7de5..66fea75f7b9b8a136fc0f483e723d3ace90215c7 100644 GIT binary patch delta 55 zcmaFW$h4x7X~Q{PPG^RA2499?2KUK~2FjCb4AUl`(>=lI3m1(x?A$yg_X~Q|)$q9NVHt*1X$2eKYP-wDNmDFSzXTHfFbPFagFk}X0 HCS0Kaf(jL8 delta 95 zcmdlmnd#GHrVVQhCVLs)*nG_B0pny26QRi}O;VH1j6^0&x${lVXyTjv!60h#0uwg% wT!u`BJce`z1%_OPREA<8Oa$^$f&4UvB8GgRr~-p3gTrKPqq&)oX!mK489D(4DOQ!O}Zy57{1{2g^R=%OHO`dQn8uK=o#bYI8&Yw E0N0xlG5`Po delta 55 zcmV-70LcHSk^<_I05R)>37?UP* N4wJqzc(WKa5L9-H6#4)F diff --git a/Resources/ja.lproj/Localizable.strings b/Resources/ja.lproj/Localizable.strings index 4c88bfe975fadb78b8a828c24ff36e0ace19b79b..98c00b7a782b9134866bcea774c6cef96e33e271 100644 GIT binary patch delta 51 zcmX@`p7Gy1#tj>^IGq{d8GIRn8Qdp_>gG@0pmmMY7cTNqw|sMl_8P{`IeH^CTnP4+gziwj&brTU7^VWMN*TGXr)YEqAS3g%aF=Y41|dc=?tlp R`HQ3{3+d!+R?~~{1ON})75D%E diff --git a/Resources/nl.lproj/Localizable.strings b/Resources/nl.lproj/Localizable.strings index a6a4ce74ba4f7e6fef220d6e3acf5de7b06756e2..7326dae19d81dc7ae9b3d6b76b3ec8394b46c2a0 100644 GIT binary patch delta 63 zcmeC0#B^dJ(}qxk*RAE(}qv$3%1{i1i9lW|ke|j-#E=gZRbWtMaF{GsGFZd7na^ZPAON677-9eb delta 47 zcmZqZW;)c(wBeQh=X+wk_r!zx5gD*ocgZt$BhO(0#42vd5=w0LVMG~F9*+Bmibjnw2Ey_U&y3N&y diff --git a/Tools/i18n_generate_strings_files.sh b/Tools/i18n_generate_strings_files.sh index 4860c5b3e..6c18305cb 100755 --- a/Tools/i18n_generate_strings_files.sh +++ b/Tools/i18n_generate_strings_files.sh @@ -31,11 +31,24 @@ fi ##### 1. Generate Localizable.strings from source files (.m) function generate_localizable_from_sources { - #WARNING: sed issue "extra characters at the end of g command" means that + #WARNING: in case of sed issue "extra characters at the end of g command", it means that # we are trying to modify an UTF-16 file which is not supported.. + localizable_en=$root_directory/Resources/en.lproj/Localizable.strings - rm -f $localizable_en - find $root_directory/Classes -name '*.m' | xargs genstrings -u -a -o "$(dirname $localizable_en)" + # The 2 only specific cases of the application: since we are length limited for push + # notifications, the ID is not matching the English translation... so we must keep + # the translations! + iconv -f utf-16 -t utf-8 $localizable_en > $localizable_en.tmp + IC_MSG_EN=$(sed -nE 's/"IC_MSG" = "(.*)";/\1/p' $localizable_en.tmp) + IM_MSG_EN=$(sed -nE 's/"IM_MSG" = "(.*)";/\1/p' $localizable_en.tmp) + rm -f $localizable_en $localizable_en.tmp + + find $root_directory/Classes -name '*.m' | xargs genstrings -u -a -o $(dirname $localizable_en) + iconv -f utf-16LE -t utf-8 $localizable_en > $localizable_en.tmp + sed -i.bak "s/= \"IC_MSG\";/= \"$IC_MSG_EN\";/" $localizable_en.tmp + sed -i.bak "s/= \"IM_MSG\";/= \"$IM_MSG_EN\";/" $localizable_en.tmp + iconv -f utf-8 -t utf-16LE $localizable_en.tmp > $localizable_en + rm $localizable_en.tmp.bak $localizable_en.tmp } ##### 2. Generate .strings for all XIB files