Enable Hermes on iOS (#5800)

This commit is contained in:
Elias Nahum
2021-11-03 11:14:00 -03:00
committed by GitHub
parent 9372bb7c04
commit f19c3b3b6c
4 changed files with 129 additions and 114 deletions

View File

@@ -2,7 +2,6 @@
// See LICENSE.txt for license information.
import moment from 'moment';
import {Platform} from 'react-native';
import {getLocales} from 'react-native-localize';
import en from '@assets/i18n/en.json';
@@ -19,141 +18,113 @@ function loadTranslation(locale?: string) {
switch (locale) {
case 'de':
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/de');
require('@formatjs/intl-numberformat/locale-data/de');
require('@formatjs/intl-datetimeformat/locale-data/de');
}
require('@formatjs/intl-pluralrules/locale-data/de');
require('@formatjs/intl-numberformat/locale-data/de');
require('@formatjs/intl-datetimeformat/locale-data/de');
translations = require('@assets/i18n/de.json');
momentData = require('moment/locale/de');
break;
case 'en-AU':
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/en');
require('@formatjs/intl-numberformat/locale-data/en');
require('@formatjs/intl-datetimeformat/locale-data/en');
}
require('@formatjs/intl-pluralrules/locale-data/en');
require('@formatjs/intl-numberformat/locale-data/en');
require('@formatjs/intl-datetimeformat/locale-data/en');
translations = require('@assets/i18n/en_AU.json');
momentData = require('moment/locale/en-au');
break;
case 'es':
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/es');
require('@formatjs/intl-numberformat/locale-data/es');
require('@formatjs/intl-datetimeformat/locale-data/es');
}
require('@formatjs/intl-pluralrules/locale-data/es');
require('@formatjs/intl-numberformat/locale-data/es');
require('@formatjs/intl-datetimeformat/locale-data/es');
translations = require('@assets/i18n/es.json');
momentData = require('moment/locale/es');
break;
case 'fr':
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/fr');
require('@formatjs/intl-numberformat/locale-data/fr');
require('@formatjs/intl-datetimeformat/locale-data/fr');
}
require('@formatjs/intl-pluralrules/locale-data/fr');
require('@formatjs/intl-numberformat/locale-data/fr');
require('@formatjs/intl-datetimeformat/locale-data/fr');
translations = require('@assets/i18n/fr.json');
momentData = require('moment/locale/fr');
break;
case 'it':
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/it');
require('@formatjs/intl-numberformat/locale-data/it');
require('@formatjs/intl-datetimeformat/locale-data/it');
}
require('@formatjs/intl-pluralrules/locale-data/it');
require('@formatjs/intl-numberformat/locale-data/it');
require('@formatjs/intl-datetimeformat/locale-data/it');
translations = require('@assets/i18n/it.json');
momentData = require('moment/locale/it');
break;
case 'ja':
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/ja');
require('@formatjs/intl-numberformat/locale-data/ja');
require('@formatjs/intl-datetimeformat/locale-data/ja');
}
require('@formatjs/intl-pluralrules/locale-data/ja');
require('@formatjs/intl-numberformat/locale-data/ja');
require('@formatjs/intl-datetimeformat/locale-data/ja');
translations = require('@assets/i18n/ja.json');
momentData = require('moment/locale/ja');
break;
case 'ko':
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/ko');
require('@formatjs/intl-numberformat/locale-data/ko');
require('@formatjs/intl-datetimeformat/locale-data/ko');
}
require('@formatjs/intl-pluralrules/locale-data/ko');
require('@formatjs/intl-numberformat/locale-data/ko');
require('@formatjs/intl-datetimeformat/locale-data/ko');
translations = require('@assets/i18n/ko.json');
momentData = require('moment/locale/ko');
break;
case 'nl':
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/nl');
require('@formatjs/intl-numberformat/locale-data/nl');
require('@formatjs/intl-datetimeformat/locale-data/nl');
}
require('@formatjs/intl-pluralrules/locale-data/nl');
require('@formatjs/intl-numberformat/locale-data/nl');
require('@formatjs/intl-datetimeformat/locale-data/nl');
translations = require('@assets/i18n/nl.json');
momentData = require('moment/locale/nl');
break;
case 'pl':
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/pl');
require('@formatjs/intl-numberformat/locale-data/pl');
require('@formatjs/intl-datetimeformat/locale-data/pl');
}
require('@formatjs/intl-pluralrules/locale-data/pl');
require('@formatjs/intl-numberformat/locale-data/pl');
require('@formatjs/intl-datetimeformat/locale-data/pl');
translations = require('@assets/i18n/pl.json');
momentData = require('moment/locale/pl');
break;
case 'pt-BR':
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/pt');
require('@formatjs/intl-numberformat/locale-data/pt');
require('@formatjs/intl-datetimeformat/locale-data/pt');
}
require('@formatjs/intl-pluralrules/locale-data/pt');
require('@formatjs/intl-numberformat/locale-data/pt');
require('@formatjs/intl-datetimeformat/locale-data/pt');
translations = require('@assets/i18n/pt-BR.json');
momentData = require('moment/locale/pt-br');
break;
case 'ro':
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/ro');
require('@formatjs/intl-numberformat/locale-data/ro');
require('@formatjs/intl-datetimeformat/locale-data/ro');
}
require('@formatjs/intl-pluralrules/locale-data/ro');
require('@formatjs/intl-numberformat/locale-data/ro');
require('@formatjs/intl-datetimeformat/locale-data/ro');
translations = require('@assets/i18n/ro.json');
momentData = require('moment/locale/ro');
break;
case 'ru':
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/ru');
require('@formatjs/intl-numberformat/locale-data/ru');
require('@formatjs/intl-datetimeformat/locale-data/ru');
}
require('@formatjs/intl-pluralrules/locale-data/ru');
require('@formatjs/intl-numberformat/locale-data/ru');
require('@formatjs/intl-datetimeformat/locale-data/ru');
translations = require('@assets/i18n/ru.json');
momentData = require('moment/locale/ru');
break;
case 'tr':
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/tr');
require('@formatjs/intl-numberformat/locale-data/tr');
require('@formatjs/intl-datetimeformat/locale-data/tr');
}
require('@formatjs/intl-pluralrules/locale-data/tr');
require('@formatjs/intl-numberformat/locale-data/tr');
require('@formatjs/intl-datetimeformat/locale-data/tr');
translations = require('@assets/i18n/tr.json');
momentData = require('moment/locale/tr');
break;
case 'uk':
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/uk');
require('@formatjs/intl-numberformat/locale-data/uk');
require('@formatjs/intl-datetimeformat/locale-data/uk');
}
require('@formatjs/intl-pluralrules/locale-data/uk');
require('@formatjs/intl-numberformat/locale-data/uk');
require('@formatjs/intl-datetimeformat/locale-data/uk');
translations = require('@assets/i18n/uk.json');
momentData = require('moment/locale/uk');
@@ -169,11 +140,9 @@ function loadTranslation(locale?: string) {
momentData = require('moment/locale/zh-tw');
break;
default:
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/en');
require('@formatjs/intl-numberformat/locale-data/en');
require('@formatjs/intl-datetimeformat/locale-data/en');
}
require('@formatjs/intl-pluralrules/locale-data/en');
require('@formatjs/intl-numberformat/locale-data/en');
require('@formatjs/intl-datetimeformat/locale-data/en');
translations = en;
break;
@@ -192,11 +161,9 @@ function loadTranslation(locale?: string) {
}
function loadChinesePolyfills() {
if (Platform.OS === 'android') {
require('@formatjs/intl-pluralrules/locale-data/zh');
require('@formatjs/intl-numberformat/locale-data/zh');
require('@formatjs/intl-datetimeformat/locale-data/zh');
}
require('@formatjs/intl-pluralrules/locale-data/zh');
require('@formatjs/intl-numberformat/locale-data/zh');
require('@formatjs/intl-datetimeformat/locale-data/zh');
}
export function getLocaleFromLanguage(lang: string) {

View File

@@ -449,6 +449,7 @@
AE4769B235D14E6C9C64EA78 /* Upload Debug Symbols to Sentry */,
7FFE32A91FD9CB650038C7A0 /* Embed App Extensions */,
ED4C644925C525E30315E09E /* [CP] Copy Pods Resources */,
B1484B6A3F208DA26A730A27 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -694,6 +695,24 @@
shellPath = /bin/sh;
shellScript = "./uploadDebugSymbols.sh\n";
};
B1484B6A3F208DA26A730A27 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Mattermost/Pods-Mattermost-frameworks.sh",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes/hermes.framework/hermes",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Mattermost/Pods-Mattermost-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
ED4C644925C525E30315E09E /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -1131,7 +1150,7 @@
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 ";
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 i386";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
@@ -1177,7 +1196,7 @@
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 ";
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 i386";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;

View File

@@ -16,7 +16,7 @@ target 'Mattermost' do
use_react_native!(
:path => config[:reactNativePath],
# to enable hermes on iOS, change `false` to `true` and then install pods
:hermes_enabled => false
:hermes_enabled => true
)
permissions_path = '../node_modules/react-native-permissions/ios'

View File

@@ -29,9 +29,11 @@ PODS:
- ReactCommon/turbomodule/core (= 0.66.1)
- fmt (6.2.1)
- glog (0.3.5)
- hermes-engine (0.9.0)
- HMSegmentedControl (1.5.6)
- jail-monkey (2.6.0):
- React-Core
- libevent (2.1.12)
- libwebp (1.2.0):
- libwebp/demux (= 1.2.0)
- libwebp/mux (= 1.2.0)
@@ -56,6 +58,12 @@ PODS:
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- RCT-Folly/Futures (2021.06.28.00-v2):
- boost
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- libevent
- RCTRequired (0.66.1)
- RCTTypeSafety (0.66.1):
- FBLazyVector (= 0.66.1)
@@ -225,6 +233,17 @@ PODS:
- React-logger (= 0.66.1)
- React-perflogger (= 0.66.1)
- React-runtimeexecutor (= 0.66.1)
- React-hermes (0.66.1):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly/Futures (= 2021.06.28.00-v2)
- React-cxxreact (= 0.66.1)
- React-jsi (= 0.66.1)
- React-jsiexecutor (= 0.66.1)
- React-jsinspector (= 0.66.1)
- React-perflogger (= 0.66.1)
- React-jsi (0.66.1):
- boost (= 1.76.0)
- DoubleConversion
@@ -250,13 +269,13 @@ PODS:
- React-Core
- react-native-cookies (6.0.11):
- React-Core
- react-native-document-picker (7.1.0):
- react-native-document-picker (7.1.1):
- React-Core
- react-native-emm (1.1.5):
- React-Core
- react-native-hw-keyboard-event (0.0.4):
- React
- react-native-netinfo (6.0.2):
- react-native-netinfo (6.0.4):
- React-Core
- react-native-network-client (0.1.0):
- Alamofire (~> 5.4)
@@ -265,15 +284,15 @@ PODS:
- SwiftyJSON (~> 5.0)
- react-native-notifications (4.1.2):
- React-Core
- react-native-paste-input (0.3.0):
- react-native-paste-input (0.3.3):
- React-Core
- Swime (= 3.0.6)
- react-native-safe-area-context (3.3.2):
- React-Core
- react-native-video (5.2.0-alpha1):
- react-native-video (5.2.0):
- React-Core
- react-native-video/Video (= 5.2.0-alpha1)
- react-native-video/Video (5.2.0-alpha1):
- react-native-video/Video (= 5.2.0)
- react-native-video/Video (5.2.0):
- React-Core
- react-native-webview (11.14.1):
- React-Core
@@ -367,7 +386,7 @@ PODS:
- React
- RNDateTimePicker (3.5.2):
- React-Core
- RNDeviceInfo (8.4.1):
- RNDeviceInfo (8.4.3):
- React-Core
- RNDevMenu (4.0.2):
- React-Core
@@ -387,7 +406,7 @@ PODS:
- React-Core
- RNPermissions (3.1.0):
- React-Core
- RNReactNativeHapticFeedback (1.11.0):
- RNReactNativeHapticFeedback (1.13.0):
- React-Core
- RNReanimated (2.2.3):
- DoubleConversion
@@ -424,14 +443,14 @@ PODS:
- RNScreens (3.8.0):
- React-Core
- React-RCTImage
- RNSentry (3.1.1):
- RNSentry (3.2.1):
- React-Core
- Sentry (= 7.3.0)
- RNShare (7.2.0):
- Sentry (= 7.4.8)
- RNShare (7.2.1):
- React-Core
- RNSVG (12.1.1):
- React
- RNVectorIcons (8.1.0):
- RNVectorIcons (9.0.0):
- React-Core
- Rudder (1.0.24)
- SDWebImage (5.11.1):
@@ -440,10 +459,10 @@ PODS:
- SDWebImageWebPCoder (0.8.4):
- libwebp (~> 1.0)
- SDWebImage/Core (~> 5.10)
- Sentry (7.3.0):
- Sentry/Core (= 7.3.0)
- Sentry/Core (7.3.0)
- simdjson (0.9.6-fix2)
- Sentry (7.4.8):
- Sentry/Core (= 7.4.8)
- Sentry/Core (7.4.8)
- simdjson (1.0.0)
- Starscream (4.0.4)
- SwiftyJSON (5.0.1)
- Swime (3.0.6)
@@ -455,7 +474,7 @@ PODS:
- UMCore
- UMTaskManagerInterface (6.2.0):
- UMCore
- WatermelonDB (0.23.0):
- WatermelonDB (0.24.0):
- React
- React-jsi
- XCDYouTubeKit (2.8.2)
@@ -472,7 +491,9 @@ DEPENDENCIES:
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- hermes-engine (~> 0.9.0)
- jail-monkey (from `../node_modules/jail-monkey`)
- libevent (~> 2.1.12)
- Permission-Camera (from `../node_modules/react-native-permissions/ios/Camera`)
- Permission-PhotoLibrary (from `../node_modules/react-native-permissions/ios/PhotoLibrary`)
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
@@ -486,6 +507,7 @@ DEPENDENCIES:
- React-Core/RCTWebSocket (from `../node_modules/react-native/`)
- React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
- React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
- React-hermes (from `../node_modules/react-native/ReactCommon/hermes`)
- React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
- React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
- React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
@@ -553,7 +575,9 @@ SPEC REPOS:
trunk:
- Alamofire
- fmt
- hermes-engine
- HMSegmentedControl
- libevent
- libwebp
- Rudder
- SDWebImage
@@ -607,6 +631,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/React/CoreModules"
React-cxxreact:
:path: "../node_modules/react-native/ReactCommon/cxxreact"
React-hermes:
:path: "../node_modules/react-native/ReactCommon/hermes"
React-jsi:
:path: "../node_modules/react-native/ReactCommon/jsi"
React-jsiexecutor:
@@ -746,8 +772,10 @@ SPEC CHECKSUMS:
FBReactNativeSpec: 74c869e2cffa2ffec685cd1bac6788c021da6005
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
glog: 5337263514dd6f09803962437687240c5dc39aa4
hermes-engine: bf7577d12ac6ccf53ab8b5af3c6ccf0dd8458c5c
HMSegmentedControl: 34c1f54d822d8308e7b24f5d901ec674dfa31352
jail-monkey: 07b83767601a373db876e939b8dbf3f5eb15f073
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
libwebp: e90b9c01d99205d03b6bb8f2c8c415e5a4ef66f0
Permission-Camera: 0db4fd6e1c556c1cf47f38b989a8084cea3ec3dd
Permission-PhotoLibrary: 9dcf80d1353d81b9f1e210c34291591236aaf2b6
@@ -760,21 +788,22 @@ SPEC CHECKSUMS:
React-Core: e134d3a5d7b2a1a731589be776e20dbb14868f27
React-CoreModules: 2f8588b2aa47e7fef27125c8eaaabda963b3ac62
React-cxxreact: 8f1382538cad0cc8b8eafca6d66268828e353bea
React-hermes: 503642bd7704c60dcd1385c2da9607eac5260077
React-jsi: 9fe1854d2c0486216acebd5db3c38b4ccb23ca0b
React-jsiexecutor: db2f6e22a534d466fc0e34e622df47d9d20bab2f
React-jsinspector: 8c0517dee5e8c70cd6c3066f20213ff7ce54f176
React-logger: bfddd3418dc1d45b77b822958f3e31422e2c179b
react-native-cameraroll: 2957f2bce63ae896a848fbe0d5352c1bd4d20866
react-native-cookies: cd92f3824ed1e32a20802e8185101e14bb5b76da
react-native-document-picker: bf12b9ca87790f9b723106ffde0eff239928e515
react-native-document-picker: f4cc4df2eff8c9015d862a59bdaef11a153f1292
react-native-emm: 7b22d6d2f7f68d218e5e2a6149084f0e6bbc4f5e
react-native-hw-keyboard-event: b517cefb8d5c659a38049c582de85ff43337dc53
react-native-netinfo: 92e6e4476eb8bf6fc2d7c0a6ca0a1406f663d73a
react-native-netinfo: 1c7676413ab265759c7b3da205efab163f5366ef
react-native-network-client: 30ab97e7e6c8d6f2d2b10cc1ebad0cbf9c894c6e
react-native-notifications: 97c14bf84c64bd6a6eb7bdcdb916036d93d33428
react-native-paste-input: 9e6e9d6f5aff6b0a51c25c0402ac2a75cdffbbcc
react-native-paste-input: 3c615aaaabbb9c8b5a02d202ce031a1d6ec80f33
react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057
react-native-video: 3f739d35afe0cc643572c01822d8f062c3c6aca3
react-native-video: a4c2635d0802f983594b7057e1bce8f442f0ad28
react-native-webview: db22ab831b8c5f7697957a67f7a7ac1cecfed18d
React-perflogger: fcac6090a80e3d967791b4c7f1b1a017f9d4a398
React-RCTActionSheet: caf5913d9f9e605f5467206cf9d1caa6d47d7ad6
@@ -796,7 +825,7 @@ SPEC CHECKSUMS:
RNCClipboard: 41d8d918092ae8e676f18adada19104fa3e68495
RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489
RNDateTimePicker: 7658208086d86d09e1627b5c34ba0cf237c60140
RNDeviceInfo: 55175b0bd852c1c5d70d76efc04ed77799cef638
RNDeviceInfo: 25a16a2a03049e88e800f3f41ca540e645b8a95a
RNDevMenu: fd325b5554b61fe7f48d9205a3877cf5ee88cd7c
RNFastImage: 1f2cab428712a4baaf78d6169eaec7f622556dd7
RNFileViewer: 83cc066ad795b1f986791d03b56fe0ee14b6a69f
@@ -804,19 +833,19 @@ SPEC CHECKSUMS:
RNKeychain: 4f63aada75ebafd26f4bc2c670199461eab85d94
RNLocalize: 74b82db20cc3895ccc25af992c644879bcec2815
RNPermissions: 4b54095940aea8c03fa3e6c92d4ac3647b31ed4e
RNReactNativeHapticFeedback: 653a8c126a0f5e88ce15ffe280b3ff37e1fbb285
RNReactNativeHapticFeedback: b83bfb4b537bdd78eb4f6ffe63c6884f7b049ead
RNReanimated: b04ef2a4f0cb61b062bbcf033f84a9e470f4f60b
RNRudderSdk: 7206ae0874a055693aa81f8cc226bc535e3ea7ba
RNScreens: 6e1ea5787989f92b0671049b808aef64fa1ef98c
RNSentry: 49abc89b0190b4c8afe0fa5d065f98e36cb53233
RNShare: 70356a1bb406bc46ae03196a5d3048c702bb71a7
RNSentry: 791f73292501ed1b2e95e62e9388b68fcc13261d
RNShare: edd621a71124961e29a7ba43a84bd1c6f9980d88
RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f
RNVectorIcons: 31cebfcf94e8cf8686eb5303ae0357da64d7a5a4
RNVectorIcons: 4143ba35feebab8fdbe6bc43d1e776b393d47ac8
Rudder: 941cdf1a5c26fccf1fa92e9aac1b6685ae1d19f9
SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d
SDWebImageWebPCoder: f93010f3f6c031e2f8fb3081ca4ee6966c539815
Sentry: 9a4e621430e2dae4477d791f2f7e905720b6efbf
simdjson: 85016870cd17207312b718ef6652eb6a1cd6a2b0
Sentry: df92b78ba4ab86cf2a47ff4cdc07758a5ce18f03
simdjson: c96317b3a50dff3468a42f586ab7ed22c6ab2fd9
Starscream: 5178aed56b316f13fa3bc55694e583d35dd414d9
SwiftyJSON: 2f33a42c6fbc52764d96f13368585094bfd8aa5e
Swime: d7b2c277503b6cea317774aedc2dce05613f8b0b
@@ -824,11 +853,11 @@ SPEC CHECKSUMS:
UMCore: ce3a4faa010239063b8343895b29a6d97b01069d
UMReactNativeAdapter: d03cefd0e4e4179ab8c490408589f1c8a6c8b785
UMTaskManagerInterface: 2be431101b73604e64fbfffcf759336f9d8fccbb
WatermelonDB: 577c61fceff16e9f9103b59d14aee4850c0307b6
WatermelonDB: e043b1a32ddc63864eb539b562e86ef80f8224cd
XCDYouTubeKit: 79baadb0560673a67c771eba45f83e353fd12c1f
Yoga: 2b4a01651f42a32f82e6cef3830a3ba48088237f
YoutubePlayer-in-WKWebView: cfbf46da51d7370662a695a8f351e5fa1d3e1008
PODFILE CHECKSUM: b7ae70eab69dbc195f8f145338e347c9afbeb102
PODFILE CHECKSUM: 7d223db07581157903686d5b376c1b697a056354
COCOAPODS: 1.10.2