From 792f506425f3be1c46042871f2c2e03d403a87e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Fri, 22 Nov 2019 08:34:17 +0100 Subject: [PATCH] ios: drop support for iOS 10 --- ios/Podfile | 4 +- ios/Podfile.lock | 2 +- ios/app/app.xcodeproj/project.pbxproj | 10 ++-- ios/sdk/sdk.xcodeproj/project.pbxproj | 8 +-- react/features/base/config/reducer.js | 16 +---- .../dialog/components/native/BottomSheet.js | 39 +++---------- .../base/react/components/native/Header.js | 58 ++----------------- .../react/components/native/headerstyles.js | 3 +- 8 files changed, 26 insertions(+), 114 deletions(-) diff --git a/ios/Podfile b/ios/Podfile index 71dde61e0d..9522915d4d 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,4 +1,4 @@ -platform :ios, '10.0' +platform :ios, '11.0' workspace 'jitsi-meet' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' @@ -82,7 +82,7 @@ post_install do |installer| target.build_configurations.each do |config| config.build_settings['ENABLE_BITCODE'] = 'YES' config.build_settings['SUPPORTS_MACCATALYST'] = 'NO' - config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0' + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0' end end end diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 9f4a6ad63b..3bc9a3080c 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -553,6 +553,6 @@ SPEC CHECKSUMS: RNWatch: 09738b339eceb66e4d80a2371633ca5fb380fa42 Yoga: 02036f6383c0008edb7ef0773a0e6beb6ce82bd1 -PODFILE CHECKSUM: 63c90b1d33cd96709fb72bad6be440ae9c3deecb +PODFILE CHECKSUM: 0fdfa45ae809c9460c80be3e0d4bbb822fccc418 COCOAPODS: 1.8.1 diff --git a/ios/app/app.xcodeproj/project.pbxproj b/ios/app/app.xcodeproj/project.pbxproj index dc11067ca0..711998a652 100644 --- a/ios/app/app.xcodeproj/project.pbxproj +++ b/ios/app/app.xcodeproj/project.pbxproj @@ -747,7 +747,6 @@ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, ); INFOPLIST_FILE = src/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_LDFLAGS = ( @@ -758,7 +757,6 @@ PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.meet; PRODUCT_NAME = "jitsi-meet"; PROVISIONING_PROFILE_SPECIFIER = ""; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; @@ -783,7 +781,6 @@ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, ); INFOPLIST_FILE = src/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_LDFLAGS = ( @@ -794,7 +791,6 @@ PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.meet; PRODUCT_NAME = "jitsi-meet"; PROVISIONING_PROFILE_SPECIFIER = ""; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; @@ -850,10 +846,11 @@ "$(inherited)", /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, ); - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; @@ -902,10 +899,11 @@ "$(inherited)", /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, ); - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; + TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; name = Release; diff --git a/ios/sdk/sdk.xcodeproj/project.pbxproj b/ios/sdk/sdk.xcodeproj/project.pbxproj index 9c1ffccf11..5cc406f478 100644 --- a/ios/sdk/sdk.xcodeproj/project.pbxproj +++ b/ios/sdk/sdk.xcodeproj/project.pbxproj @@ -555,7 +555,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -611,7 +611,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; @@ -639,7 +639,6 @@ ENABLE_BITCODE = NO; INFOPLIST_FILE = src/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.JitsiMeetSDK.ios; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -650,7 +649,6 @@ SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; @@ -671,7 +669,6 @@ ENABLE_BITCODE = YES; INFOPLIST_FILE = src/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.JitsiMeetSDK.ios; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -681,7 +678,6 @@ SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; diff --git a/react/features/base/config/reducer.js b/react/features/base/config/reducer.js index 1aa6f1a7fd..4beed615e1 100644 --- a/react/features/base/config/reducer.js +++ b/react/features/base/config/reducer.js @@ -2,7 +2,6 @@ import _ from 'lodash'; -import Platform from '../react/Platform'; import { equals, ReducerRegistry, set } from '../redux'; import { _UPDATE_CONFIG, CONFIG_WILL_LOAD, LOAD_CONFIG_ERROR, SET_CONFIG } from './actionTypes'; @@ -21,15 +20,6 @@ import { _cleanupConfig } from './functions'; const INITIAL_NON_RN_STATE = { }; -/** - * When we should enable H.264 on mobile. iOS 10 crashes so we disable it there. - * See: https://bugs.chromium.org/p/webrtc/issues/detail?id=11002 - * Note that this is only used for P2P calls. - * - * @type {boolean} - */ -const RN_ENABLE_H264 = navigator.product === 'ReactNative' && !(Platform.OS === 'ios' && Platform.Version === 10); - /** * The initial state of the feature base/config when executing in a React Native * environment. The mandatory configuration to be passed to JitsiMeetJS#init(). @@ -50,11 +40,9 @@ const INITIAL_RN_STATE = { // fastest to merely disable them. disableAudioLevels: true, - disableH264: !RN_ENABLE_H264, - p2p: { - disableH264: !RN_ENABLE_H264, - preferH264: RN_ENABLE_H264 + disableH264: false, + preferH264: true } }; diff --git a/react/features/base/dialog/components/native/BottomSheet.js b/react/features/base/dialog/components/native/BottomSheet.js index 7d11cf4678..9a2b0b3043 100644 --- a/react/features/base/dialog/components/native/BottomSheet.js +++ b/react/features/base/dialog/components/native/BottomSheet.js @@ -1,7 +1,7 @@ // @flow import React, { PureComponent, type Node } from 'react'; -import { Platform, SafeAreaView, ScrollView, View } from 'react-native'; +import { SafeAreaView, ScrollView, View } from 'react-native'; import { ColorSchemeRegistry } from '../../../color-scheme'; import { SlidingView } from '../../../react'; @@ -61,41 +61,18 @@ class BottomSheet extends PureComponent { styles.sheetItemContainer, _styles.sheet ] }> - { this._getWrappedContent() } + + + { this.props.children } + + ); } - - /** - * Wraps the content when needed (iOS 11 and above), or just returns the original content. - * - * @returns {React$Element} - */ - _getWrappedContent() { - const content = ( - - { this.props.children } - - ); - - if (Platform.OS === 'ios') { - const majorVersionIOS = parseInt(Platform.Version, 10); - - if (majorVersionIOS > 10) { - return ( - - { content } - - ); - } - } - - return content; - } } /** diff --git a/react/features/base/react/components/native/Header.js b/react/features/base/react/components/native/Header.js index 326f4d4434..08ff9defc1 100644 --- a/react/features/base/react/components/native/Header.js +++ b/react/features/base/react/components/native/Header.js @@ -1,18 +1,14 @@ // @flow -import React, { Component, type Node } from 'react'; -import { Platform, SafeAreaView, StatusBar, View } from 'react-native'; +import React, { PureComponent, type Node } from 'react'; +import { SafeAreaView, StatusBar, View } from 'react-native'; import { ColorSchemeRegistry } from '../../../color-scheme'; import { connect } from '../../../redux'; import { isDarkColor } from '../../../styles'; -import { HEADER_PADDING } from './headerstyles'; - -/** - * Compatibility header padding size for iOS 10 (and older) devices. - */ -const IOS10_PADDING = 20; +// Register style +import './headerstyles'; /** * Constanst for the (currently) supported statusbar colors. @@ -44,19 +40,7 @@ type Props = { /** * A generic screen header component. */ -class Header extends Component { - /** - * Initializes a new {@code Header} instance. - * - * @inheritdoc - */ - constructor(props: Props) { - super(props); - - this._getIOS10CompatiblePadding - = this._getIOS10CompatiblePadding.bind(this); - } - +class Header extends PureComponent { /** * Implements React's {@link Component#render()}. * @@ -66,11 +50,7 @@ class Header extends Component { const { _styles } = this.props; return ( - + { ); } - _getIOS10CompatiblePadding: () => Object; - - /** - * Adds a padding for iOS 10 (and older) devices to avoid clipping with the - * status bar. - * Note: This is a workaround for iOS 10 (and older) devices only to fix - * usability, but it doesn't take orientation into account, so unnecessary - * padding is rendered in some cases. - * - * @private - * @returns {Object} - */ - _getIOS10CompatiblePadding() { - if (Platform.OS === 'ios') { - const majorVersionIOS = parseInt(Platform.Version, 10); - - if (majorVersionIOS <= 10) { - return { - paddingTop: HEADER_PADDING + IOS10_PADDING - }; - } - } - - return null; - } - /** * Calculates the color of the statusbar content (light or dark) based on * certain criterias. diff --git a/react/features/base/react/components/native/headerstyles.js b/react/features/base/react/components/native/headerstyles.js index a77c16d53e..98b4286ea8 100644 --- a/react/features/base/react/components/native/headerstyles.js +++ b/react/features/base/react/components/native/headerstyles.js @@ -7,8 +7,7 @@ import { BoxModel } from '../../../styles'; const HEADER_FONT_SIZE = 18; const HEADER_HEIGHT = 48; - -export const HEADER_PADDING = BoxModel.padding / 2; +const HEADER_PADDING = BoxModel.padding / 2; ColorSchemeRegistry.register('Header', {