[FIX] Logout from custom oauth (#2377)

* New field in table of users

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Saving when the user logged in with email and password

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Saving login method info

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Ask for the user to clear cookies

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Fix lint

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Removing loginMethod from redux and add I18n

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Using async/await instead of then/catch

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Fix lint

Signed-off-by: Ezequiel De Oliveira <ezequiel1de1oliveira@gmail.com>

* Pods

* Added dismissText on showConfirmationAlert

* Fix iOS

* Rename function

* I18n tweaks

Co-authored-by: Diego Mello <diegolmello@gmail.com>
This commit is contained in:
Ezequiel de Oliveira 2020-08-25 17:04:18 -03:00 committed by GitHub
parent 77ecd12d71
commit 15c12f8901
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 10010 additions and 9552 deletions

View File

@ -268,7 +268,7 @@ const MessageActions = React.memo(forwardRef(({
const handleDelete = (message) => { const handleDelete = (message) => {
showConfirmationAlert({ showConfirmationAlert({
message: I18n.t('You_will_not_be_able_to_recover_this_message'), message: I18n.t('You_will_not_be_able_to_recover_this_message'),
callToAction: I18n.t('Delete'), confirmationText: I18n.t('Delete'),
onPress: async() => { onPress: async() => {
try { try {
logEvent(events.ROOM_MSG_ACTION_DELETE); logEvent(events.ROOM_MSG_ACTION_DELETE);

View File

@ -131,6 +131,10 @@ export default {
Channels: 'Channels', Channels: 'Channels',
Chats: 'Chats', Chats: 'Chats',
Call_already_ended: 'Call already ended!', Call_already_ended: 'Call already ended!',
Clear_cookies_alert: 'Do you want to clear all cookies?',
Clear_cookies_desc: 'This action will clear all login cookies, allowing you to login into other accounts.',
Clear_cookies_yes: 'Yes, clear cookies',
Clear_cookies_no: 'No, keep cookies',
Click_to_join: 'Click to Join!', Click_to_join: 'Click to Join!',
Close: 'Close', Close: 'Close',
Close_emoji_selector: 'Close emoji selector', Close_emoji_selector: 'Close emoji selector',

View File

@ -135,6 +135,10 @@ export default {
Change_language_loading: 'Alterando idioma.', Change_language_loading: 'Alterando idioma.',
Call_already_ended: 'A chamada já terminou!', Call_already_ended: 'A chamada já terminou!',
Clear_cache_loading: 'Limpando cache.', Clear_cache_loading: 'Limpando cache.',
Clear_cookies_alert: 'Você quer limpar seus cookies?',
Clear_cookies_desc: 'Esta ação limpará todos os cookies de login permitindo que você faça login em outras contas.',
Clear_cookies_yes: 'Sim, limpar cookies',
Clear_cookies_no: 'Não, manter cookies',
Click_to_join: 'Clique para participar!', Click_to_join: 'Clique para participar!',
Close: 'Fechar', Close: 'Fechar',
Close_emoji_selector: 'Fechar seletor de emojis', Close_emoji_selector: 'Fechar seletor de emojis',

View File

@ -18,5 +18,7 @@ export default class User extends Model {
@field('statusText') statusText; @field('statusText') statusText;
@field('login_email_password') loginEmailPassword;
@json('roles', sanitizer) roles; @json('roles', sanitizer) roles;
} }

View File

@ -48,6 +48,17 @@ export default schemaMigrations({
] ]
}) })
] ]
},
{
toVersion: 7,
steps: [
addColumns({
table: 'users',
columns: [
{ name: 'login_email_password', type: 'boolean', isOptional: true }
]
})
]
} }
] ]
}); });

View File

@ -1,7 +1,7 @@
import { appSchema, tableSchema } from '@nozbe/watermelondb'; import { appSchema, tableSchema } from '@nozbe/watermelondb';
export default appSchema({ export default appSchema({
version: 6, version: 7,
tables: [ tables: [
tableSchema({ tableSchema({
name: 'users', name: 'users',
@ -12,7 +12,8 @@ export default appSchema({
{ name: 'language', type: 'string', isOptional: true }, { name: 'language', type: 'string', isOptional: true },
{ name: 'status', type: 'string', isOptional: true }, { name: 'status', type: 'string', isOptional: true },
{ name: 'statusText', type: 'string', isOptional: true }, { name: 'statusText', type: 'string', isOptional: true },
{ name: 'roles', type: 'string', isOptional: true } { name: 'roles', type: 'string', isOptional: true },
{ name: 'login_email_password', type: 'boolean', isOptional: true }
] ]
}), }),
tableSchema({ tableSchema({

View File

@ -348,10 +348,10 @@ const RocketChat = {
return this.post('users.forgotPassword', { email }, false); return this.post('users.forgotPassword', { email }, false);
}, },
loginTOTP(params) { loginTOTP(params, loginEmailPassword) {
return new Promise(async(resolve, reject) => { return new Promise(async(resolve, reject) => {
try { try {
const result = await this.login(params); const result = await this.login(params, loginEmailPassword);
return resolve(result); return resolve(result);
} catch (e) { } catch (e) {
if (e.data?.error && (e.data.error === 'totp-required' || e.data.error === 'totp-invalid')) { if (e.data?.error && (e.data.error === 'totp-required' || e.data.error === 'totp-invalid')) {
@ -390,7 +390,9 @@ const RocketChat = {
}; };
} }
return this.loginTOTP(params); const loginEmailPassword = true;
return this.loginTOTP(params, loginEmailPassword);
}, },
async loginOAuthOrSso(params) { async loginOAuthOrSso(params) {
@ -398,7 +400,7 @@ const RocketChat = {
reduxStore.dispatch(loginRequest({ resume: result.token })); reduxStore.dispatch(loginRequest({ resume: result.token }));
}, },
async login(params) { async login(params, loginEmailPassword) {
const sdk = this.shareSDK || this.sdk; const sdk = this.shareSDK || this.sdk;
// RC 0.64.0 // RC 0.64.0
await sdk.login(params); await sdk.login(params);
@ -414,7 +416,8 @@ const RocketChat = {
customFields: result.me.customFields, customFields: result.me.customFields,
statusLivechat: result.me.statusLivechat, statusLivechat: result.me.statusLivechat,
emails: result.me.emails, emails: result.me.emails,
roles: result.me.roles roles: result.me.roles,
loginEmailPassword
}; };
return user; return user;
}, },

View File

@ -122,11 +122,13 @@ const handleLoginSuccess = function* handleLoginSuccess({ user }) {
language: user.language, language: user.language,
status: user.status, status: user.status,
statusText: user.statusText, statusText: user.statusText,
roles: user.roles roles: user.roles,
loginEmailPassword: user.loginEmailPassword
}; };
yield serversDB.action(async() => { yield serversDB.action(async() => {
try { try {
const userRecord = await usersCollection.find(user.id); const userRecord = await usersCollection.find(user.id);
u.loginEmailPassword = userRecord?.loginEmailPassword;
await userRecord.update((record) => { await userRecord.update((record) => {
record._raw = sanitizedRaw({ id: user.id, ...record._raw }, usersCollection.schema); record._raw = sanitizedRaw({ id: user.id, ...record._raw }, usersCollection.schema);
Object.assign(record, u); Object.assign(record, u);

View File

@ -3,17 +3,20 @@ import I18n from '../i18n';
export const showErrorAlert = (message, title, onPress = () => {}) => Alert.alert(title, message, [{ text: 'OK', onPress }], { cancelable: true }); export const showErrorAlert = (message, title, onPress = () => {}) => Alert.alert(title, message, [{ text: 'OK', onPress }], { cancelable: true });
export const showConfirmationAlert = ({ message, callToAction, onPress }) => ( export const showConfirmationAlert = ({
title, message, confirmationText, dismissText = I18n.t('Cancel'), onPress, onCancel
}) => (
Alert.alert( Alert.alert(
I18n.t('Are_you_sure_question_mark'), title || I18n.t('Are_you_sure_question_mark'),
message, message,
[ [
{ {
text: I18n.t('Cancel'), text: dismissText,
onPress: onCancel,
style: 'cancel' style: 'cancel'
}, },
{ {
text: callToAction, text: confirmationText,
style: 'destructive', style: 'destructive',
onPress onPress
} }

View File

@ -246,7 +246,7 @@ class NewServerView extends React.Component {
handleRemove = () => { handleRemove = () => {
showConfirmationAlert({ showConfirmationAlert({
message: I18n.t('You_will_unset_a_certificate_for_this_server'), message: I18n.t('You_will_unset_a_certificate_for_this_server'),
callToAction: I18n.t('Remove'), confirmationText: I18n.t('Remove'),
onPress: this.setState({ certificate: null }) // We not need delete file from DocumentPicker because it is a temp file onPress: this.setState({ certificate: null }) // We not need delete file from DocumentPicker because it is a temp file
}); });
} }

View File

@ -471,7 +471,7 @@ class RoomActionsView extends React.Component {
const { room: { rid } } = this.state; const { room: { rid } } = this.state;
showConfirmationAlert({ showConfirmationAlert({
message: I18n.t('Would_you_like_to_return_the_inquiry'), message: I18n.t('Would_you_like_to_return_the_inquiry'),
callToAction: I18n.t('Yes'), confirmationText: I18n.t('Yes'),
onPress: async() => { onPress: async() => {
try { try {
await RocketChat.returnLivechat(rid); await RocketChat.returnLivechat(rid);

View File

@ -153,7 +153,7 @@ class RoomMembersView extends React.Component {
message: I18n.t(`The_user_${ userIsMuted ? 'will' : 'wont' }_be_able_to_type_in_roomName`, { message: I18n.t(`The_user_${ userIsMuted ? 'will' : 'wont' }_be_able_to_type_in_roomName`, {
roomName: RocketChat.getRoomTitle(room) roomName: RocketChat.getRoomTitle(room)
}), }),
callToAction: I18n.t(userIsMuted ? 'Unmute' : 'Mute'), confirmationText: I18n.t(userIsMuted ? 'Unmute' : 'Mute'),
onPress: () => this.handleMute(user) onPress: () => this.handleMute(user)
}); });
} }

View File

@ -170,7 +170,7 @@ class ServerDropdown extends Component {
remove = server => showConfirmationAlert({ remove = server => showConfirmationAlert({
message: I18n.t('This_will_remove_all_data_from_this_server'), message: I18n.t('This_will_remove_all_data_from_this_server'),
callToAction: I18n.t('Delete'), confirmationText: I18n.t('Delete'),
onPress: async() => { onPress: async() => {
this.close(); this.close();
try { try {

View File

@ -704,7 +704,7 @@ class RoomsListView extends React.Component {
if (user?.statusLivechat !== 'available') { if (user?.statusLivechat !== 'available') {
showConfirmationAlert({ showConfirmationAlert({
message: I18n.t('Omnichannel_enable_alert'), message: I18n.t('Omnichannel_enable_alert'),
callToAction: I18n.t('Yes'), confirmationText: I18n.t('Yes'),
onPress: async() => { onPress: async() => {
try { try {
await RocketChat.changeLivechatStatus(); await RocketChat.changeLivechatStatus();

View File

@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import AsyncStorage from '@react-native-community/async-storage'; import AsyncStorage from '@react-native-community/async-storage';
import FastImage from '@rocket.chat/react-native-fast-image'; import FastImage from '@rocket.chat/react-native-fast-image';
import CookieManager from '@react-native-community/cookies';
import { logout as logoutAction } from '../../actions/login'; import { logout as logoutAction } from '../../actions/login';
import { selectServerRequest as selectServerRequestAction } from '../../actions/server'; import { selectServerRequest as selectServerRequestAction } from '../../actions/server';
@ -39,7 +40,9 @@ import EventEmitter from '../../utils/events';
import { appStart as appStartAction, ROOT_LOADING } from '../../actions/app'; import { appStart as appStartAction, ROOT_LOADING } from '../../actions/app';
import { onReviewPress } from '../../utils/review'; import { onReviewPress } from '../../utils/review';
import SafeAreaView from '../../containers/SafeAreaView'; import SafeAreaView from '../../containers/SafeAreaView';
import database from '../../lib/database';
import { isFDroidBuild } from '../../constants/environment'; import { isFDroidBuild } from '../../constants/environment';
import { getUserSelector } from '../../selectors/login';
const SectionSeparator = React.memo(({ theme }) => ( const SectionSeparator = React.memo(({ theme }) => (
@ -69,25 +72,54 @@ class SettingsView extends React.Component {
static propTypes = { static propTypes = {
navigation: PropTypes.object, navigation: PropTypes.object,
server: PropTypes.object, server: PropTypes.object,
allowCrashReport: PropTypes.bool, allowCrashReport: PropTypes.bool,
toggleCrashReport: PropTypes.func, toggleCrashReport: PropTypes.func,
theme: PropTypes.string, theme: PropTypes.string,
isMasterDetail: PropTypes.bool, isMasterDetail: PropTypes.bool,
logout: PropTypes.func.isRequired, logout: PropTypes.func.isRequired,
selectServerRequest: PropTypes.func, selectServerRequest: PropTypes.func,
user: PropTypes.shape({
roles: PropTypes.array,
id: PropTypes.string
}),
appStart: PropTypes.func appStart: PropTypes.func
} }
checkCookiesAndLogout = async() => {
const { logout, user } = this.props;
const db = database.servers;
const usersCollection = db.collections.get('users');
try {
const userRecord = await usersCollection.find(user.id);
if (!userRecord.loginEmailPassword) {
showConfirmationAlert({
title: I18n.t('Clear_cookies_alert'),
message: I18n.t('Clear_cookies_desc'),
confirmationText: I18n.t('Clear_cookies_yes'),
dismissText: I18n.t('Clear_cookies_no'),
onPress: async() => {
await CookieManager.clearAll(true);
logout();
},
onCancel: () => {
logout();
}
});
} else {
logout();
}
} catch {
// Do nothing: user not found
}
}
handleLogout = () => { handleLogout = () => {
logEvent(events.SE_LOG_OUT); logEvent(events.SE_LOG_OUT);
showConfirmationAlert({ showConfirmationAlert({
message: I18n.t('You_will_be_logged_out_of_this_application'), message: I18n.t('You_will_be_logged_out_of_this_application'),
callToAction: I18n.t('Logout'), confirmationText: I18n.t('Logout'),
onPress: () => { onPress: this.checkCookiesAndLogout
const { logout } = this.props;
logout();
}
}); });
} }
@ -95,7 +127,7 @@ class SettingsView extends React.Component {
logEvent(events.SE_CLEAR_LOCAL_SERVER_CACHE); logEvent(events.SE_CLEAR_LOCAL_SERVER_CACHE);
showConfirmationAlert({ showConfirmationAlert({
message: I18n.t('This_will_clear_all_your_offline_data'), message: I18n.t('This_will_clear_all_your_offline_data'),
callToAction: I18n.t('Clear'), confirmationText: I18n.t('Clear'),
onPress: async() => { onPress: async() => {
const { const {
server: { server }, appStart, selectServerRequest server: { server }, appStart, selectServerRequest
@ -377,6 +409,7 @@ class SettingsView extends React.Component {
const mapStateToProps = state => ({ const mapStateToProps = state => ({
server: state.server, server: state.server,
user: getUserSelector(state),
allowCrashReport: state.crashReport.allowCrashReport, allowCrashReport: state.crashReport.allowCrashReport,
isMasterDetail: state.app.isMasterDetail isMasterDetail: state.app.isMasterDetail
}); });

View File

@ -370,6 +370,8 @@ PODS:
- React - React
- react-native-cameraroll (4.0.0): - react-native-cameraroll (4.0.0):
- React - React
- react-native-cookies (4.0.0):
- React
- react-native-document-picker (3.5.3): - react-native-document-picker (3.5.3):
- React - React
- react-native-jitsi-meet (2.1.1): - react-native-jitsi-meet (2.1.1):
@ -589,6 +591,7 @@ DEPENDENCIES:
- react-native-appearance (from `../node_modules/react-native-appearance`) - react-native-appearance (from `../node_modules/react-native-appearance`)
- react-native-background-timer (from `../node_modules/react-native-background-timer`) - react-native-background-timer (from `../node_modules/react-native-background-timer`)
- "react-native-cameraroll (from `../node_modules/@react-native-community/cameraroll`)" - "react-native-cameraroll (from `../node_modules/@react-native-community/cameraroll`)"
- "react-native-cookies (from `../node_modules/@react-native-community/cookies`)"
- react-native-document-picker (from `../node_modules/react-native-document-picker`) - react-native-document-picker (from `../node_modules/react-native-document-picker`)
- react-native-jitsi-meet (from `../node_modules/react-native-jitsi-meet`) - react-native-jitsi-meet (from `../node_modules/react-native-jitsi-meet`)
- react-native-mmkv-storage (from `../node_modules/react-native-mmkv-storage`) - react-native-mmkv-storage (from `../node_modules/react-native-mmkv-storage`)
@ -742,6 +745,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-background-timer" :path: "../node_modules/react-native-background-timer"
react-native-cameraroll: react-native-cameraroll:
:path: "../node_modules/@react-native-community/cameraroll" :path: "../node_modules/@react-native-community/cameraroll"
react-native-cookies:
:path: "../node_modules/@react-native-community/cookies"
react-native-document-picker: react-native-document-picker:
:path: "../node_modules/react-native-document-picker" :path: "../node_modules/react-native-document-picker"
react-native-jitsi-meet: react-native-jitsi-meet:
@ -911,6 +916,7 @@ SPEC CHECKSUMS:
react-native-appearance: 0f0e5fc2fcef70e03d48c8fe6b00b9158c2ba8aa react-native-appearance: 0f0e5fc2fcef70e03d48c8fe6b00b9158c2ba8aa
react-native-background-timer: 1f7d560647b40e6a60b01c452ba29c54bf581fc4 react-native-background-timer: 1f7d560647b40e6a60b01c452ba29c54bf581fc4
react-native-cameraroll: ae0a7c0cc8462508855707ff623b1e789b692865 react-native-cameraroll: ae0a7c0cc8462508855707ff623b1e789b692865
react-native-cookies: d79e5015a5d3a38e08f5cb39c4948532be7e9c2b
react-native-document-picker: 825552b827012282baf4b7cbf119d3b37a280c90 react-native-document-picker: 825552b827012282baf4b7cbf119d3b37a280c90
react-native-jitsi-meet: f89bcb2cfbd5b15403b9c40738036c4f1af45d05 react-native-jitsi-meet: f89bcb2cfbd5b15403b9c40738036c4f1af45d05
react-native-mmkv-storage: 48729fe90e850ef2fdc9d3714b7030c7c51d82b0 react-native-mmkv-storage: 48729fe90e850ef2fdc9d3714b7030c7c51d82b0

View File

@ -0,0 +1 @@
../../../../../node_modules/@react-native-community/cookies/ios/RNCookieManagerIOS/RNCookieManagerIOS.h

View File

@ -0,0 +1 @@
../../../../../node_modules/@react-native-community/cookies/ios/RNCookieManagerIOS/RNCookieManagerIOS.h

View File

@ -0,0 +1,25 @@
{
"name": "react-native-cookies",
"version": "4.0.0",
"summary": "Cookie Manager for React Native",
"homepage": "https://github.com/react-native-community/cookies#readme",
"license": "MIT",
"authors": {
"Jason Safaiyeh": "safaiyeh@protonmail.com"
},
"source": {
"git": "git@github.com:react-native-community/cookies.git",
"tag": "v4.0.0"
},
"requires_arc": true,
"platforms": {
"ios": "7.0"
},
"preserve_paths": "*.framework",
"source_files": "ios/**/*.{h,m}",
"dependencies": {
"React": [
]
}
}

View File

@ -370,6 +370,8 @@ PODS:
- React - React
- react-native-cameraroll (4.0.0): - react-native-cameraroll (4.0.0):
- React - React
- react-native-cookies (4.0.0):
- React
- react-native-document-picker (3.5.3): - react-native-document-picker (3.5.3):
- React - React
- react-native-jitsi-meet (2.1.1): - react-native-jitsi-meet (2.1.1):
@ -589,6 +591,7 @@ DEPENDENCIES:
- react-native-appearance (from `../node_modules/react-native-appearance`) - react-native-appearance (from `../node_modules/react-native-appearance`)
- react-native-background-timer (from `../node_modules/react-native-background-timer`) - react-native-background-timer (from `../node_modules/react-native-background-timer`)
- "react-native-cameraroll (from `../node_modules/@react-native-community/cameraroll`)" - "react-native-cameraroll (from `../node_modules/@react-native-community/cameraroll`)"
- "react-native-cookies (from `../node_modules/@react-native-community/cookies`)"
- react-native-document-picker (from `../node_modules/react-native-document-picker`) - react-native-document-picker (from `../node_modules/react-native-document-picker`)
- react-native-jitsi-meet (from `../node_modules/react-native-jitsi-meet`) - react-native-jitsi-meet (from `../node_modules/react-native-jitsi-meet`)
- react-native-mmkv-storage (from `../node_modules/react-native-mmkv-storage`) - react-native-mmkv-storage (from `../node_modules/react-native-mmkv-storage`)
@ -742,6 +745,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-background-timer" :path: "../node_modules/react-native-background-timer"
react-native-cameraroll: react-native-cameraroll:
:path: "../node_modules/@react-native-community/cameraroll" :path: "../node_modules/@react-native-community/cameraroll"
react-native-cookies:
:path: "../node_modules/@react-native-community/cookies"
react-native-document-picker: react-native-document-picker:
:path: "../node_modules/react-native-document-picker" :path: "../node_modules/react-native-document-picker"
react-native-jitsi-meet: react-native-jitsi-meet:
@ -911,6 +916,7 @@ SPEC CHECKSUMS:
react-native-appearance: 0f0e5fc2fcef70e03d48c8fe6b00b9158c2ba8aa react-native-appearance: 0f0e5fc2fcef70e03d48c8fe6b00b9158c2ba8aa
react-native-background-timer: 1f7d560647b40e6a60b01c452ba29c54bf581fc4 react-native-background-timer: 1f7d560647b40e6a60b01c452ba29c54bf581fc4
react-native-cameraroll: ae0a7c0cc8462508855707ff623b1e789b692865 react-native-cameraroll: ae0a7c0cc8462508855707ff623b1e789b692865
react-native-cookies: d79e5015a5d3a38e08f5cb39c4948532be7e9c2b
react-native-document-picker: 825552b827012282baf4b7cbf119d3b37a280c90 react-native-document-picker: 825552b827012282baf4b7cbf119d3b37a280c90
react-native-jitsi-meet: f89bcb2cfbd5b15403b9c40738036c4f1af45d05 react-native-jitsi-meet: f89bcb2cfbd5b15403b9c40738036c4f1af45d05
react-native-mmkv-storage: 48729fe90e850ef2fdc9d3714b7030c7c51d82b0 react-native-mmkv-storage: 48729fe90e850ef2fdc9d3714b7030c7c51d82b0

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BugsnagReactNative" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaLibEvent" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/EXAV" "${PODS_ROOT}/Headers/Public/EXAppleAuthentication" "${PODS_ROOT}/Headers/Public/EXConstants" "${PODS_ROOT}/Headers/Public/EXFileSystem" "${PODS_ROOT}/Headers/Public/EXHaptics" "${PODS_ROOT}/Headers/Public/EXImageLoader" "${PODS_ROOT}/Headers/Public/EXKeepAwake" "${PODS_ROOT}/Headers/Public/EXLocalAuthentication" "${PODS_ROOT}/Headers/Public/EXPermissions" "${PODS_ROOT}/Headers/Public/EXVideoThumbnails" "${PODS_ROOT}/Headers/Public/EXWebBrowser" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseCore" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnostics" "${PODS_ROOT}/Headers/Public/FirebaseCrashlytics" "${PODS_ROOT}/Headers/Public/FirebaseInstallations" "${PODS_ROOT}/Headers/Public/Flipper" "${PODS_ROOT}/Headers/Public/Flipper-DoubleConversion" "${PODS_ROOT}/Headers/Public/Flipper-Folly" "${PODS_ROOT}/Headers/Public/Flipper-Glog" "${PODS_ROOT}/Headers/Public/Flipper-PeerTalk" "${PODS_ROOT}/Headers/Public/Flipper-RSocket" "${PODS_ROOT}/Headers/Public/FlipperKit" "${PODS_ROOT}/Headers/Public/GoogleDataTransport" "${PODS_ROOT}/Headers/Public/GoogleDataTransportCCTSupport" "${PODS_ROOT}/Headers/Public/GoogleUtilities" "${PODS_ROOT}/Headers/Public/KeyCommands" "${PODS_ROOT}/Headers/Public/MMKV" "${PODS_ROOT}/Headers/Public/MMKVAppExtension" "${PODS_ROOT}/Headers/Public/MMKVCore" "${PODS_ROOT}/Headers/Public/OpenSSL-Universal" "${PODS_ROOT}/Headers/Public/PromisesObjC" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/RNBootSplash" "${PODS_ROOT}/Headers/Public/RNCAsyncStorage" "${PODS_ROOT}/Headers/Public/RNCMaskedView" "${PODS_ROOT}/Headers/Public/RNConfigReader" "${PODS_ROOT}/Headers/Public/RNDateTimePicker" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNFBAnalytics" "${PODS_ROOT}/Headers/Public/RNFBApp" "${PODS_ROOT}/Headers/Public/RNFBCrashlytics" "${PODS_ROOT}/Headers/Public/RNFastImage" "${PODS_ROOT}/Headers/Public/RNGestureHandler" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNLocalize" "${PODS_ROOT}/Headers/Public/RNReanimated" "${PODS_ROOT}/Headers/Public/RNRootView" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RNVectorIcons" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-callinvoker" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/ReactNativeART" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardInput" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardTrackingView" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SDWebImageWebPCoder" "${PODS_ROOT}/Headers/Public/TOCropViewController" "${PODS_ROOT}/Headers/Public/UMAppLoader" "${PODS_ROOT}/Headers/Public/UMBarCodeScannerInterface" "${PODS_ROOT}/Headers/Public/UMCameraInterface" "${PODS_ROOT}/Headers/Public/UMConstantsInterface" "${PODS_ROOT}/Headers/Public/UMCore" "${PODS_ROOT}/Headers/Public/UMFaceDetectorInterface" "${PODS_ROOT}/Headers/Public/UMFileSystemInterface" "${PODS_ROOT}/Headers/Public/UMFontInterface" "${PODS_ROOT}/Headers/Public/UMImageLoaderInterface" "${PODS_ROOT}/Headers/Public/UMPermissionsInterface" "${PODS_ROOT}/Headers/Public/UMReactNativeAdapter" "${PODS_ROOT}/Headers/Public/UMSensorsInterface" "${PODS_ROOT}/Headers/Public/UMTaskManagerInterface" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/YogaKit" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/libwebp" "${PODS_ROOT}/Headers/Public/nanopb" "${PODS_ROOT}/Headers/Public/react-native-appearance" "${PODS_ROOT}/Headers/Public/react-native-background-timer" "${PODS_ROOT}/Headers/Public/react-native-cameraroll" "${PODS_ROOT}/Headers/Public/react-native-document-picker" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public/react-native-mmkv-storage" "${PODS_ROOT}/Headers/Public/react-native-notifications" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-safe-area-context" "${PODS_ROOT}/Headers/Public/react-native-slider" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/rn-extensions-share" "${PODS_ROOT}/Headers/Public/rn-fetch-blob" HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BugsnagReactNative" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaLibEvent" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/EXAV" "${PODS_ROOT}/Headers/Public/EXAppleAuthentication" "${PODS_ROOT}/Headers/Public/EXConstants" "${PODS_ROOT}/Headers/Public/EXFileSystem" "${PODS_ROOT}/Headers/Public/EXHaptics" "${PODS_ROOT}/Headers/Public/EXImageLoader" "${PODS_ROOT}/Headers/Public/EXKeepAwake" "${PODS_ROOT}/Headers/Public/EXLocalAuthentication" "${PODS_ROOT}/Headers/Public/EXPermissions" "${PODS_ROOT}/Headers/Public/EXVideoThumbnails" "${PODS_ROOT}/Headers/Public/EXWebBrowser" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseCore" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnostics" "${PODS_ROOT}/Headers/Public/FirebaseCrashlytics" "${PODS_ROOT}/Headers/Public/FirebaseInstallations" "${PODS_ROOT}/Headers/Public/Flipper" "${PODS_ROOT}/Headers/Public/Flipper-DoubleConversion" "${PODS_ROOT}/Headers/Public/Flipper-Folly" "${PODS_ROOT}/Headers/Public/Flipper-Glog" "${PODS_ROOT}/Headers/Public/Flipper-PeerTalk" "${PODS_ROOT}/Headers/Public/Flipper-RSocket" "${PODS_ROOT}/Headers/Public/FlipperKit" "${PODS_ROOT}/Headers/Public/GoogleDataTransport" "${PODS_ROOT}/Headers/Public/GoogleDataTransportCCTSupport" "${PODS_ROOT}/Headers/Public/GoogleUtilities" "${PODS_ROOT}/Headers/Public/KeyCommands" "${PODS_ROOT}/Headers/Public/MMKV" "${PODS_ROOT}/Headers/Public/MMKVAppExtension" "${PODS_ROOT}/Headers/Public/MMKVCore" "${PODS_ROOT}/Headers/Public/OpenSSL-Universal" "${PODS_ROOT}/Headers/Public/PromisesObjC" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/RNBootSplash" "${PODS_ROOT}/Headers/Public/RNCAsyncStorage" "${PODS_ROOT}/Headers/Public/RNCMaskedView" "${PODS_ROOT}/Headers/Public/RNConfigReader" "${PODS_ROOT}/Headers/Public/RNDateTimePicker" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNFBAnalytics" "${PODS_ROOT}/Headers/Public/RNFBApp" "${PODS_ROOT}/Headers/Public/RNFBCrashlytics" "${PODS_ROOT}/Headers/Public/RNFastImage" "${PODS_ROOT}/Headers/Public/RNGestureHandler" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNLocalize" "${PODS_ROOT}/Headers/Public/RNReanimated" "${PODS_ROOT}/Headers/Public/RNRootView" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RNVectorIcons" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-callinvoker" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/ReactNativeART" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardInput" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardTrackingView" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SDWebImageWebPCoder" "${PODS_ROOT}/Headers/Public/TOCropViewController" "${PODS_ROOT}/Headers/Public/UMAppLoader" "${PODS_ROOT}/Headers/Public/UMBarCodeScannerInterface" "${PODS_ROOT}/Headers/Public/UMCameraInterface" "${PODS_ROOT}/Headers/Public/UMConstantsInterface" "${PODS_ROOT}/Headers/Public/UMCore" "${PODS_ROOT}/Headers/Public/UMFaceDetectorInterface" "${PODS_ROOT}/Headers/Public/UMFileSystemInterface" "${PODS_ROOT}/Headers/Public/UMFontInterface" "${PODS_ROOT}/Headers/Public/UMImageLoaderInterface" "${PODS_ROOT}/Headers/Public/UMPermissionsInterface" "${PODS_ROOT}/Headers/Public/UMReactNativeAdapter" "${PODS_ROOT}/Headers/Public/UMSensorsInterface" "${PODS_ROOT}/Headers/Public/UMTaskManagerInterface" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/YogaKit" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/libwebp" "${PODS_ROOT}/Headers/Public/nanopb" "${PODS_ROOT}/Headers/Public/react-native-appearance" "${PODS_ROOT}/Headers/Public/react-native-background-timer" "${PODS_ROOT}/Headers/Public/react-native-cameraroll" "${PODS_ROOT}/Headers/Public/react-native-cookies" "${PODS_ROOT}/Headers/Public/react-native-document-picker" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public/react-native-mmkv-storage" "${PODS_ROOT}/Headers/Public/react-native-notifications" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-safe-area-context" "${PODS_ROOT}/Headers/Public/react-native-slider" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/rn-extensions-share" "${PODS_ROOT}/Headers/Public/rn-fetch-blob"
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/MMKVAppExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MMKVCore" LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/MMKVAppExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MMKVCore"
OTHER_LDFLAGS = $(inherited) -ObjC -l"MMKVAppExtension" -l"MMKVCore" -l"c++" -l"z" -framework "CoreFoundation" -framework "UIKit" OTHER_LDFLAGS = $(inherited) -ObjC -l"MMKVAppExtension" -l"MMKVCore" -l"c++" -l"z" -framework "CoreFoundation" -framework "UIKit"
PODS_BUILD_DIR = ${BUILD_DIR} PODS_BUILD_DIR = ${BUILD_DIR}

View File

@ -1,5 +1,5 @@
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BugsnagReactNative" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaLibEvent" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/EXAV" "${PODS_ROOT}/Headers/Public/EXAppleAuthentication" "${PODS_ROOT}/Headers/Public/EXConstants" "${PODS_ROOT}/Headers/Public/EXFileSystem" "${PODS_ROOT}/Headers/Public/EXHaptics" "${PODS_ROOT}/Headers/Public/EXImageLoader" "${PODS_ROOT}/Headers/Public/EXKeepAwake" "${PODS_ROOT}/Headers/Public/EXLocalAuthentication" "${PODS_ROOT}/Headers/Public/EXPermissions" "${PODS_ROOT}/Headers/Public/EXVideoThumbnails" "${PODS_ROOT}/Headers/Public/EXWebBrowser" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseCore" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnostics" "${PODS_ROOT}/Headers/Public/FirebaseCrashlytics" "${PODS_ROOT}/Headers/Public/FirebaseInstallations" "${PODS_ROOT}/Headers/Public/Flipper" "${PODS_ROOT}/Headers/Public/Flipper-DoubleConversion" "${PODS_ROOT}/Headers/Public/Flipper-Folly" "${PODS_ROOT}/Headers/Public/Flipper-Glog" "${PODS_ROOT}/Headers/Public/Flipper-PeerTalk" "${PODS_ROOT}/Headers/Public/Flipper-RSocket" "${PODS_ROOT}/Headers/Public/FlipperKit" "${PODS_ROOT}/Headers/Public/GoogleDataTransport" "${PODS_ROOT}/Headers/Public/GoogleDataTransportCCTSupport" "${PODS_ROOT}/Headers/Public/GoogleUtilities" "${PODS_ROOT}/Headers/Public/KeyCommands" "${PODS_ROOT}/Headers/Public/MMKV" "${PODS_ROOT}/Headers/Public/MMKVAppExtension" "${PODS_ROOT}/Headers/Public/MMKVCore" "${PODS_ROOT}/Headers/Public/OpenSSL-Universal" "${PODS_ROOT}/Headers/Public/PromisesObjC" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/RNBootSplash" "${PODS_ROOT}/Headers/Public/RNCAsyncStorage" "${PODS_ROOT}/Headers/Public/RNCMaskedView" "${PODS_ROOT}/Headers/Public/RNConfigReader" "${PODS_ROOT}/Headers/Public/RNDateTimePicker" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNFBAnalytics" "${PODS_ROOT}/Headers/Public/RNFBApp" "${PODS_ROOT}/Headers/Public/RNFBCrashlytics" "${PODS_ROOT}/Headers/Public/RNFastImage" "${PODS_ROOT}/Headers/Public/RNGestureHandler" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNLocalize" "${PODS_ROOT}/Headers/Public/RNReanimated" "${PODS_ROOT}/Headers/Public/RNRootView" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RNVectorIcons" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-callinvoker" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/ReactNativeART" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardInput" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardTrackingView" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SDWebImageWebPCoder" "${PODS_ROOT}/Headers/Public/TOCropViewController" "${PODS_ROOT}/Headers/Public/UMAppLoader" "${PODS_ROOT}/Headers/Public/UMBarCodeScannerInterface" "${PODS_ROOT}/Headers/Public/UMCameraInterface" "${PODS_ROOT}/Headers/Public/UMConstantsInterface" "${PODS_ROOT}/Headers/Public/UMCore" "${PODS_ROOT}/Headers/Public/UMFaceDetectorInterface" "${PODS_ROOT}/Headers/Public/UMFileSystemInterface" "${PODS_ROOT}/Headers/Public/UMFontInterface" "${PODS_ROOT}/Headers/Public/UMImageLoaderInterface" "${PODS_ROOT}/Headers/Public/UMPermissionsInterface" "${PODS_ROOT}/Headers/Public/UMReactNativeAdapter" "${PODS_ROOT}/Headers/Public/UMSensorsInterface" "${PODS_ROOT}/Headers/Public/UMTaskManagerInterface" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/YogaKit" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/libwebp" "${PODS_ROOT}/Headers/Public/nanopb" "${PODS_ROOT}/Headers/Public/react-native-appearance" "${PODS_ROOT}/Headers/Public/react-native-background-timer" "${PODS_ROOT}/Headers/Public/react-native-cameraroll" "${PODS_ROOT}/Headers/Public/react-native-document-picker" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public/react-native-mmkv-storage" "${PODS_ROOT}/Headers/Public/react-native-notifications" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-safe-area-context" "${PODS_ROOT}/Headers/Public/react-native-slider" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/rn-extensions-share" "${PODS_ROOT}/Headers/Public/rn-fetch-blob" HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/BugsnagReactNative" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaLibEvent" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/EXAV" "${PODS_ROOT}/Headers/Public/EXAppleAuthentication" "${PODS_ROOT}/Headers/Public/EXConstants" "${PODS_ROOT}/Headers/Public/EXFileSystem" "${PODS_ROOT}/Headers/Public/EXHaptics" "${PODS_ROOT}/Headers/Public/EXImageLoader" "${PODS_ROOT}/Headers/Public/EXKeepAwake" "${PODS_ROOT}/Headers/Public/EXLocalAuthentication" "${PODS_ROOT}/Headers/Public/EXPermissions" "${PODS_ROOT}/Headers/Public/EXVideoThumbnails" "${PODS_ROOT}/Headers/Public/EXWebBrowser" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/FirebaseCore" "${PODS_ROOT}/Headers/Public/FirebaseCoreDiagnostics" "${PODS_ROOT}/Headers/Public/FirebaseCrashlytics" "${PODS_ROOT}/Headers/Public/FirebaseInstallations" "${PODS_ROOT}/Headers/Public/Flipper" "${PODS_ROOT}/Headers/Public/Flipper-DoubleConversion" "${PODS_ROOT}/Headers/Public/Flipper-Folly" "${PODS_ROOT}/Headers/Public/Flipper-Glog" "${PODS_ROOT}/Headers/Public/Flipper-PeerTalk" "${PODS_ROOT}/Headers/Public/Flipper-RSocket" "${PODS_ROOT}/Headers/Public/FlipperKit" "${PODS_ROOT}/Headers/Public/GoogleDataTransport" "${PODS_ROOT}/Headers/Public/GoogleDataTransportCCTSupport" "${PODS_ROOT}/Headers/Public/GoogleUtilities" "${PODS_ROOT}/Headers/Public/KeyCommands" "${PODS_ROOT}/Headers/Public/MMKV" "${PODS_ROOT}/Headers/Public/MMKVAppExtension" "${PODS_ROOT}/Headers/Public/MMKVCore" "${PODS_ROOT}/Headers/Public/OpenSSL-Universal" "${PODS_ROOT}/Headers/Public/PromisesObjC" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/RNBootSplash" "${PODS_ROOT}/Headers/Public/RNCAsyncStorage" "${PODS_ROOT}/Headers/Public/RNCMaskedView" "${PODS_ROOT}/Headers/Public/RNConfigReader" "${PODS_ROOT}/Headers/Public/RNDateTimePicker" "${PODS_ROOT}/Headers/Public/RNDeviceInfo" "${PODS_ROOT}/Headers/Public/RNFBAnalytics" "${PODS_ROOT}/Headers/Public/RNFBApp" "${PODS_ROOT}/Headers/Public/RNFBCrashlytics" "${PODS_ROOT}/Headers/Public/RNFastImage" "${PODS_ROOT}/Headers/Public/RNGestureHandler" "${PODS_ROOT}/Headers/Public/RNImageCropPicker" "${PODS_ROOT}/Headers/Public/RNLocalize" "${PODS_ROOT}/Headers/Public/RNReanimated" "${PODS_ROOT}/Headers/Public/RNRootView" "${PODS_ROOT}/Headers/Public/RNScreens" "${PODS_ROOT}/Headers/Public/RNVectorIcons" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-callinvoker" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/ReactNativeART" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardInput" "${PODS_ROOT}/Headers/Public/ReactNativeKeyboardTrackingView" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SDWebImageWebPCoder" "${PODS_ROOT}/Headers/Public/TOCropViewController" "${PODS_ROOT}/Headers/Public/UMAppLoader" "${PODS_ROOT}/Headers/Public/UMBarCodeScannerInterface" "${PODS_ROOT}/Headers/Public/UMCameraInterface" "${PODS_ROOT}/Headers/Public/UMConstantsInterface" "${PODS_ROOT}/Headers/Public/UMCore" "${PODS_ROOT}/Headers/Public/UMFaceDetectorInterface" "${PODS_ROOT}/Headers/Public/UMFileSystemInterface" "${PODS_ROOT}/Headers/Public/UMFontInterface" "${PODS_ROOT}/Headers/Public/UMImageLoaderInterface" "${PODS_ROOT}/Headers/Public/UMPermissionsInterface" "${PODS_ROOT}/Headers/Public/UMReactNativeAdapter" "${PODS_ROOT}/Headers/Public/UMSensorsInterface" "${PODS_ROOT}/Headers/Public/UMTaskManagerInterface" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/YogaKit" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/libwebp" "${PODS_ROOT}/Headers/Public/nanopb" "${PODS_ROOT}/Headers/Public/react-native-appearance" "${PODS_ROOT}/Headers/Public/react-native-background-timer" "${PODS_ROOT}/Headers/Public/react-native-cameraroll" "${PODS_ROOT}/Headers/Public/react-native-cookies" "${PODS_ROOT}/Headers/Public/react-native-document-picker" "${PODS_ROOT}/Headers/Public/react-native-jitsi-meet" "${PODS_ROOT}/Headers/Public/react-native-mmkv-storage" "${PODS_ROOT}/Headers/Public/react-native-notifications" "${PODS_ROOT}/Headers/Public/react-native-orientation-locker" "${PODS_ROOT}/Headers/Public/react-native-safe-area-context" "${PODS_ROOT}/Headers/Public/react-native-slider" "${PODS_ROOT}/Headers/Public/react-native-webview" "${PODS_ROOT}/Headers/Public/rn-extensions-share" "${PODS_ROOT}/Headers/Public/rn-fetch-blob"
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/MMKVAppExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MMKVCore" LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/MMKVAppExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MMKVCore"
OTHER_LDFLAGS = $(inherited) -ObjC -l"MMKVAppExtension" -l"MMKVCore" -l"c++" -l"z" -framework "CoreFoundation" -framework "UIKit" OTHER_LDFLAGS = $(inherited) -ObjC -l"MMKVAppExtension" -l"MMKVCore" -l"c++" -l"z" -framework "CoreFoundation" -framework "UIKit"
PODS_BUILD_DIR = ${BUILD_DIR} PODS_BUILD_DIR = ${BUILD_DIR}

View File

@ -4198,6 +4198,31 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. SOFTWARE.
## react-native-cookies
MIT License
Copyright (c) 2020 React Native Community
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
## react-native-document-picker ## react-native-document-picker
MIT License MIT License

View File

@ -4561,6 +4561,37 @@ SOFTWARE.
<key>FooterText</key> <key>FooterText</key>
<string>MIT License <string>MIT License
Copyright (c) 2020 React Native Community
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</string>
<key>License</key>
<string>MIT</string>
<key>Title</key>
<string>react-native-cookies</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>MIT License
Copyright (c) 2016 Elyx0 Copyright (c) 2016 Elyx0
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4198,6 +4198,31 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. SOFTWARE.
## react-native-cookies
MIT License
Copyright (c) 2020 React Native Community
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
## react-native-document-picker ## react-native-document-picker
MIT License MIT License

View File

@ -4561,6 +4561,37 @@ SOFTWARE.
<key>FooterText</key> <key>FooterText</key>
<string>MIT License <string>MIT License
Copyright (c) 2020 React Native Community
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</string>
<key>License</key>
<string>MIT</string>
<key>Title</key>
<string>react-native-cookies</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>MIT License
Copyright (c) 2016 Elyx0 Copyright (c) 2016 Elyx0
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_react_native_cookies : NSObject
@end
@implementation PodsDummy_react_native_cookies
@end

View File

@ -0,0 +1,12 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif

View File

@ -0,0 +1,12 @@
APPLICATION_EXTENSION_API_ONLY = YES
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/react-native-cookies
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/react-native-cookies" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-callinvoker" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/react-native-cookies"
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT}
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../node_modules/@react-native-community/cookies
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES

View File

@ -0,0 +1,12 @@
APPLICATION_EXTENSION_API_ONLY = YES
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/react-native-cookies
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/react-native-cookies" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DoubleConversion" "${PODS_ROOT}/Headers/Public/FBLazyVector" "${PODS_ROOT}/Headers/Public/FBReactNativeSpec" "${PODS_ROOT}/Headers/Public/RCTRequired" "${PODS_ROOT}/Headers/Public/RCTTypeSafety" "${PODS_ROOT}/Headers/Public/React-Core" "${PODS_ROOT}/Headers/Public/React-RCTText" "${PODS_ROOT}/Headers/Public/React-callinvoker" "${PODS_ROOT}/Headers/Public/React-cxxreact" "${PODS_ROOT}/Headers/Public/React-jsi" "${PODS_ROOT}/Headers/Public/React-jsiexecutor" "${PODS_ROOT}/Headers/Public/React-jsinspector" "${PODS_ROOT}/Headers/Public/ReactCommon" "${PODS_ROOT}/Headers/Public/Yoga" "${PODS_ROOT}/Headers/Public/glog" "${PODS_ROOT}/Headers/Public/react-native-cookies"
OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_ROOT}/Headers/Public/yoga/Yoga.modulemap"
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT}
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../node_modules/@react-native-community/cookies
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES

View File

@ -30,6 +30,7 @@
"@react-native-community/art": "^1.2.0", "@react-native-community/art": "^1.2.0",
"@react-native-community/async-storage": "1.11.0", "@react-native-community/async-storage": "1.11.0",
"@react-native-community/cameraroll": "4.0.0", "@react-native-community/cameraroll": "4.0.0",
"@react-native-community/cookies": "^4.0.0",
"@react-native-community/datetimepicker": "2.6.0", "@react-native-community/datetimepicker": "2.6.0",
"@react-native-community/hooks": "2.6.0", "@react-native-community/hooks": "2.6.0",
"@react-native-community/masked-view": "^0.1.10", "@react-native-community/masked-view": "^0.1.10",

View File

@ -2073,6 +2073,13 @@
sudo-prompt "^9.0.0" sudo-prompt "^9.0.0"
wcwidth "^1.0.1" wcwidth "^1.0.1"
"@react-native-community/cookies@^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@react-native-community/cookies/-/cookies-4.0.0.tgz#561f7788e706b9902e25eefb80a093fe8ec5cd93"
integrity sha512-6j5Qatc0lVvaUgnhCydbmWofrwDURXxYp8f0cnfpN1LEltsxbhQU26n1ItXY79ZBnvxkkW6lEkw55Egah6uUKQ==
dependencies:
invariant "^2.2.4"
"@react-native-community/datetimepicker@2.6.0": "@react-native-community/datetimepicker@2.6.0":
version "2.6.0" version "2.6.0"
resolved "https://registry.yarnpkg.com/@react-native-community/datetimepicker/-/datetimepicker-2.6.0.tgz#260715abc88dac2485f525f046bd33ac0e62a281" resolved "https://registry.yarnpkg.com/@react-native-community/datetimepicker/-/datetimepicker-2.6.0.tgz#260715abc88dac2485f525f046bd33ac0e62a281"