From e5c9c69ec9e7b6d4cde8eaf60602fbe012d41ba9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Wed, 5 Dec 2018 13:55:32 +0100 Subject: [PATCH] ios: drop iOS 9 support WebRTC no longer actively fixes iOS 9 issues. --- ios/Podfile | 2 +- ios/Podfile.lock | 15 +++------------ ios/app/app.xcodeproj/project.pbxproj | 4 ++-- ios/app/src/Info.plist | 4 ++-- .../example-pip-app.xcodeproj/project.pbxproj | 14 +++++++------- ios/sdk/sdk.xcodeproj/project.pbxproj | 2 -- ios/sdk/src/callkit/CallKit.m | 15 +-------------- ios/sdk/src/callkit/JMCallKitEmitter.swift | 2 -- ios/sdk/src/callkit/JMCallKitListener.swift | 9 --------- ios/sdk/src/callkit/JMCallKitProxy.swift | 1 - 10 files changed, 16 insertions(+), 52 deletions(-) diff --git a/ios/Podfile b/ios/Podfile index 0e5217599..0e267f598 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,4 +1,4 @@ -platform :ios, '9.0' +platform :ios, '10.0' workspace 'jitsi-meet' diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 2d7c6cc32..e5c57b36a 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -7,10 +7,9 @@ PODS: - DoubleConversion - glog - glog (0.3.5) - - GoogleSignIn (4.3.0): + - GoogleSignIn (4.4.0): - "GoogleToolboxForMac/NSDictionary+URLArguments (~> 2.1)" - "GoogleToolboxForMac/NSString+URLArguments (~> 2.1)" - - GTMOAuth2 (~> 1.0) - GTMSessionFetcher/Core (~> 1.1) - GoogleToolboxForMac/DebugUtils (2.1.4): - GoogleToolboxForMac/Defines (= 2.1.4) @@ -20,13 +19,7 @@ PODS: - GoogleToolboxForMac/Defines (= 2.1.4) - "GoogleToolboxForMac/NSString+URLArguments (= 2.1.4)" - "GoogleToolboxForMac/NSString+URLArguments (2.1.4)" - - GTMOAuth2 (1.1.6): - - GTMSessionFetcher (~> 1.1) - - GTMSessionFetcher (1.2.1): - - GTMSessionFetcher/Full (= 1.2.1) - GTMSessionFetcher/Core (1.2.1) - - GTMSessionFetcher/Full (1.2.1): - - GTMSessionFetcher/Core (= 1.2.1) - ObjectiveDropboxOfficial (3.9.2) - React (0.57.6): - React/Core (= 0.57.6) @@ -129,7 +122,6 @@ SPEC REPOS: - FLAnimatedImage - GoogleSignIn - GoogleToolboxForMac - - GTMOAuth2 - GTMSessionFetcher - ObjectiveDropboxOfficial - SDWebImage @@ -168,9 +160,8 @@ SPEC CHECKSUMS: FLAnimatedImage: 4a0b56255d9b05f18b6dd7ee06871be5d3b89e31 Folly: c89ac2d5c6ab169cd7397ef27485c44f35f742c7 glog: e8acf0ebbf99759d3ff18c86c292a5898282dcde - GoogleSignIn: 11183592dc63e105475c7305a325045ff95e02b7 + GoogleSignIn: 7ff245e1a7b26d379099d3243a562f5747e23d39 GoogleToolboxForMac: 91c824d21e85b31c2aae9bb011c5027c9b4e738f - GTMOAuth2: c77fe325e4acd453837e72d91e3b5f13116857b2 GTMSessionFetcher: 32aeca0aa144acea523e1c8e053089dec2cb98ca ObjectiveDropboxOfficial: aa792e0556ceb7b72955fa29a2709072f6e35fd9 React: 1fe0eb13d90b625d94c3b117c274dcfd2e760e11 @@ -185,6 +176,6 @@ SPEC CHECKSUMS: SDWebImage: 624d6e296c69b244bcede364c72ae0430ac14681 yoga: b1ce48b6cf950b98deae82838f5173ea7cf89e85 -PODFILE CHECKSUM: 9b67ed66d62ca004caa7952c3bbfe2693c115333 +PODFILE CHECKSUM: 2fa79bc1fe2fe42efb63895fdb0cb84d5f578884 COCOAPODS: 1.5.3 diff --git a/ios/app/app.xcodeproj/project.pbxproj b/ios/app/app.xcodeproj/project.pbxproj index 77e39e5e2..d576c4756 100644 --- a/ios/app/app.xcodeproj/project.pbxproj +++ b/ios/app/app.xcodeproj/project.pbxproj @@ -270,7 +270,7 @@ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, ); INFOPLIST_FILE = src/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_LDFLAGS = ( @@ -301,7 +301,7 @@ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, ); INFOPLIST_FILE = src/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_LDFLAGS = ( diff --git a/ios/app/src/Info.plist b/ios/app/src/Info.plist index a83f0e312..9d2efc5df 100644 --- a/ios/app/src/Info.plist +++ b/ios/app/src/Info.plist @@ -79,10 +79,10 @@ fetch voip - UIMainStoryboardFile - Main UILaunchStoryboardName LaunchScreen + UIMainStoryboardFile + Main UIRequiredDeviceCapabilities armv7 diff --git a/ios/example-pip-app/example-pip-app.xcodeproj/project.pbxproj b/ios/example-pip-app/example-pip-app.xcodeproj/project.pbxproj index 22682cd02..49e95137c 100644 --- a/ios/example-pip-app/example-pip-app.xcodeproj/project.pbxproj +++ b/ios/example-pip-app/example-pip-app.xcodeproj/project.pbxproj @@ -35,7 +35,7 @@ /* Begin PBXFileReference section */ C6A34247204DF18000E062DD /* WebRTC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebRTC.framework; path = "../../node_modules/react-native-webrtc/ios/WebRTC.framework"; sourceTree = ""; }; - C6F99C37204DE6BE0001F710 /* example-pip-app.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example-pip-app.app; sourceTree = BUILT_PRODUCTS_DIR; }; + C6F99C37204DE6BE0001F710 /* example-pip-app.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "example-pip-app.app"; sourceTree = BUILT_PRODUCTS_DIR; }; C6F99C3A204DE6BE0001F710 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; C6F99C3C204DE6BE0001F710 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; C6F99C3F204DE6BE0001F710 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; @@ -116,8 +116,8 @@ ); dependencies = ( ); - name = example-pip-app; - productName = example-pip-app; + name = "example-pip-app"; + productName = "example-pip-app"; productReference = C6F99C37204DE6BE0001F710 /* example-pip-app.app */; productType = "com.apple.product-type.application"; }; @@ -364,9 +364,9 @@ CODE_SIGN_STYLE = Automatic; FRAMEWORK_SEARCH_PATHS = "../../node_modules/react-native-webrtc/ios"; INFOPLIST_FILE = src/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.3; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.jitsi.example-pip-app; + PRODUCT_BUNDLE_IDENTIFIER = "com.jitsi.example-pip-app"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -380,9 +380,9 @@ CODE_SIGN_STYLE = Automatic; FRAMEWORK_SEARCH_PATHS = "../../node_modules/react-native-webrtc/ios"; INFOPLIST_FILE = src/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.3; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.jitsi.example-pip-app; + PRODUCT_BUNDLE_IDENTIFIER = "com.jitsi.example-pip-app"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/ios/sdk/sdk.xcodeproj/project.pbxproj b/ios/sdk/sdk.xcodeproj/project.pbxproj index cd425cd7b..efc750a23 100644 --- a/ios/sdk/sdk.xcodeproj/project.pbxproj +++ b/ios/sdk/sdk.xcodeproj/project.pbxproj @@ -409,7 +409,6 @@ ); inputPaths = ( "${SRCROOT}/../Pods/Target Support Files/Pods-JitsiMeet/Pods-JitsiMeet-resources.sh", - "${PODS_ROOT}/GTMOAuth2/Source/Touch/GTMOAuth2ViewTouch.xib", "${PODS_ROOT}/GoogleSignIn/Resources/GoogleSignIn.bundle", "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf", "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf", @@ -429,7 +428,6 @@ ); name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GTMOAuth2ViewTouch.nib", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf", diff --git a/ios/sdk/src/callkit/CallKit.m b/ios/sdk/src/callkit/CallKit.m index 68352323c..a3b311d0a 100644 --- a/ios/sdk/src/callkit/CallKit.m +++ b/ios/sdk/src/callkit/CallKit.m @@ -44,20 +44,7 @@ static NSString * const RNCallKitProviderDidReset @implementation RNCallKit -RCT_EXTERN void RCTRegisterModule(Class); - -+ (void)load { - // Make the react-native module RNCallKit available (to JS) only if CallKit - // is available on the executing operating sytem. For example, CallKit is - // not available on iOS 9. - if ([CXCallController class]) { - RCTRegisterModule(self); - } -} - -+ (NSString *)moduleName { - return @"RNCallKit"; -} +RCT_EXPORT_MODULE(); - (NSArray *)supportedEvents { return @[ diff --git a/ios/sdk/src/callkit/JMCallKitEmitter.swift b/ios/sdk/src/callkit/JMCallKitEmitter.swift index 29e4b8863..c72d765ac 100644 --- a/ios/sdk/src/callkit/JMCallKitEmitter.swift +++ b/ios/sdk/src/callkit/JMCallKitEmitter.swift @@ -18,7 +18,6 @@ import AVKit import CallKit import Foundation -@available(iOS 10.0, *) internal final class JMCallKitEmitter: NSObject, CXProviderDelegate { private var listeners = Set() @@ -129,7 +128,6 @@ internal final class JMCallKitEmitter: NSObject, CXProviderDelegate { } } -@available(iOS 10.0, *) fileprivate struct JMCallKitEventListenerWrapper: Hashable { public var hashValue: Int diff --git a/ios/sdk/src/callkit/JMCallKitListener.swift b/ios/sdk/src/callkit/JMCallKitListener.swift index 21634fb92..02aeedfc4 100644 --- a/ios/sdk/src/callkit/JMCallKitListener.swift +++ b/ios/sdk/src/callkit/JMCallKitListener.swift @@ -18,30 +18,21 @@ import AVKit import CallKit import Foundation -@available(iOS 10.0, *) @objc public protocol JMCallKitListener: NSObjectProtocol { - @available(iOS 10.0, *) @objc optional func providerDidReset() - @available(iOS 10.0, *) @objc optional func performAnswerCall(UUID: UUID) - @available(iOS 10.0, *) @objc optional func performEndCall(UUID: UUID) - @available(iOS 10.0, *) @objc optional func performSetMutedCall(UUID: UUID, isMuted: Bool) - @available(iOS 10.0, *) @objc optional func performStartCall(UUID: UUID, isVideo: Bool) - @available(iOS 10.0, *) @objc optional func providerDidActivateAudioSession(session: AVAudioSession) - @available(iOS 10.0, *) @objc optional func providerDidDeactivateAudioSession(session: AVAudioSession) - @available(iOS 10.0, *) @objc optional func providerTimedOutPerformingAction(action: CXAction) } diff --git a/ios/sdk/src/callkit/JMCallKitProxy.swift b/ios/sdk/src/callkit/JMCallKitProxy.swift index f2a739e42..5a823d9c4 100644 --- a/ios/sdk/src/callkit/JMCallKitProxy.swift +++ b/ios/sdk/src/callkit/JMCallKitProxy.swift @@ -20,7 +20,6 @@ import Foundation /// JitsiMeet CallKit proxy // NOTE: The methods this class exposes are meant to be called in the UI thread. // All delegate methods called by JMCallKitEmitter will be called in the UI thread. -@available(iOS 10.0, *) @objc public final class JMCallKitProxy: NSObject { private override init() {}