Compare commits
25 Commits
release/v3
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6ebc3e7e16 | ||
|
|
2dea12a114 | ||
|
|
b175ce068b | ||
|
|
48e8abbfe8 | ||
|
|
030a39d8de | ||
|
|
7f91796c26 | ||
|
|
676d9b5e08 | ||
|
|
4f09637996 | ||
|
|
60e53cd637 | ||
|
|
54ab29283b | ||
|
|
d1be233924 | ||
|
|
ec289edff6 | ||
|
|
b511cb3e7b | ||
|
|
2802bff906 | ||
|
|
d2035186f5 | ||
|
|
4c0ed7c2c1 | ||
|
|
372500494c | ||
|
|
510a178938 | ||
|
|
724e76f2df | ||
|
|
f0c28d06ae | ||
|
|
283e943502 | ||
|
|
1004bda73b | ||
|
|
8aaa9b6ff0 | ||
|
|
243029f2e5 | ||
|
|
0e6521cfc6 |
@ -1,7 +1,7 @@
|
||||
{
|
||||
"extends": "@react-native-community",
|
||||
"rules": {
|
||||
"comma-dangle": ["error", {
|
||||
"comma-dangle": ["error", "always-multiline", {
|
||||
"arrays": "never",
|
||||
"objects": "never",
|
||||
"imports": "never",
|
||||
|
||||
12
CHANGELOG.md
@ -22,6 +22,15 @@ in case of vulnerabilities.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [3.4.0] - 2020-04-08
|
||||
|
||||
### Added
|
||||
- Added `ephemeralWebSession` option to supports `ephemeralWebBrowserSession` on iOS 13 by [@avenner](https://github.com/avenner) ([#141](https://github.com/proyecto26/react-native-inappbrowser/pull/141)).
|
||||
- Add `@ReactModule` annotation by [@janicduplessis](https://github.com/janicduplessis) ([#94](https://github.com/proyecto26/react-native-inappbrowser/pull/94)).
|
||||
|
||||
### Fixed
|
||||
- Remove listener of `openAuth` when `closeAuth` is called.
|
||||
|
||||
## [3.3.4] - 2020-01-07
|
||||
|
||||
### Fixed
|
||||
@ -145,7 +154,8 @@ Missing tags for previous versions 🤷♂
|
||||
- Fix `EventBusException` on **Android** by [@Almouro](https://github.com/Almouro) ([9cf4cbb](https://github.com/proyecto26/react-native-inappbrowser/commit/9cf4cbb58d55c8b534dabac6791e6a2a5428253f)).
|
||||
|
||||
|
||||
[Unreleased]: https://github.com/proyecto26/react-native-inappbrowser/compare/v3.3.4...HEAD
|
||||
[Unreleased]: https://github.com/proyecto26/react-native-inappbrowser/compare/v3.4.0...HEAD
|
||||
[3.4.0]: https://github.com/proyecto26/react-native-inappbrowser/compare/v3.3.4...v3.4.0
|
||||
[3.3.4]: https://github.com/proyecto26/react-native-inappbrowser/compare/v3.3.3...v3.3.4
|
||||
[3.3.3]: https://github.com/proyecto26/react-native-inappbrowser/compare/v3.3.2...v3.3.3
|
||||
[3.3.2]: https://github.com/proyecto26/react-native-inappbrowser/compare/v3.3.1...v3.3.2
|
||||
|
||||
25
README.md
@ -144,11 +144,13 @@ Property | Description
|
||||
`modalTransitionStyle` (String) | The transition style to use when presenting the view controller. [`coverVertical`/`flipHorizontal`/`crossDissolve`/`partialCurl`]
|
||||
`modalEnabled` (Boolean) | Present the **SafariViewController** modally or as push instead. [`true`/`false`]
|
||||
`enableBarCollapsing` (Boolean) | Determines whether the browser's tool bars will collapse or not. [`true`/`false`]
|
||||
`ephemeralWebSession` (Boolean) | Prevent re-use cookies of previous session (openAuth only) [`true`/`false`]
|
||||
|
||||
### Android Options
|
||||
Property | Description
|
||||
-------------- | ------
|
||||
`showTitle` (Boolean) | Sets whether the title should be shown in the custom tab. [`true`/`false`]
|
||||
`hasBackButton` (Boolean) | Sets a back arrow instead of the default X icon to close the custom tab. [`true`/`false`]
|
||||
`toolbarColor` (String) | Sets the toolbar color. [`gray`/`#808080`]
|
||||
`secondaryToolbarColor` (String) | Sets the color of the secondary toolbar. [`white`/`#FFFFFF`]
|
||||
`enableUrlBarHiding` (Boolean) | Enables the url bar to hide as the user scrolls down on the page. [`true`/`false`]
|
||||
@ -175,7 +177,7 @@ import InAppBrowser from 'react-native-inappbrowser-reborn'
|
||||
preferredControlTintColor: 'white',
|
||||
readerMode: false,
|
||||
animated: true,
|
||||
modalPresentationStyle: 'overFullScreen',
|
||||
modalPresentationStyle: 'fullScreen',
|
||||
modalTransitionStyle: 'partialCurl',
|
||||
modalEnabled: true,
|
||||
enableBarCollapsing: false,
|
||||
@ -295,14 +297,16 @@ import { getDeepLink } from './utilities'
|
||||
if (await InAppBrowser.isAvailable()) {
|
||||
InAppBrowser.openAuth(url, deepLink, {
|
||||
// iOS Properties
|
||||
dismissButtonStyle: 'cancel',
|
||||
ephemeralWebSession: false,
|
||||
// Android Properties
|
||||
showTitle: false,
|
||||
enableUrlBarHiding: true,
|
||||
enableDefaultShare: true
|
||||
enableDefaultShare: false
|
||||
}).then((response) => {
|
||||
if (response.type === 'success' &&
|
||||
response.url) {
|
||||
if (
|
||||
response.type === 'success' &&
|
||||
response.url
|
||||
) {
|
||||
Linking.openURL(response.url)
|
||||
}
|
||||
})
|
||||
@ -319,7 +323,7 @@ import { getDeepLink } from './utilities'
|
||||
...
|
||||
async componentDidMount() {
|
||||
// Play Lottie Animation :)
|
||||
|
||||
|
||||
// Validate the stored access token (Maybe with a request)
|
||||
// Redirect the user to the Home page if the token is still valid
|
||||
// Otherwise redirect to the Login page
|
||||
@ -339,7 +343,7 @@ import { getDeepLink } from './utilities'
|
||||
// Show error and redirect the user to the Login page
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
async loadUserInfo() {
|
||||
const { navigation } = this.props
|
||||
const { state: { params } } = navigation
|
||||
@ -456,7 +460,12 @@ Support this project with your organization. Your logo will show up here with a
|
||||
## Supporting 🍻
|
||||
I believe in Unicorns 🦄
|
||||
Support [me](http://www.paypal.me/jdnichollsc/2), if you do too.
|
||||
[Professionally supported react-native-inappbrowser-reborn is coming soon](https://tidelift.com/subscription/pkg/npm-react-native-inappbrowser-reborn?utm_source=npm-react-native-inappbrowser-reborn&utm_medium=referral&utm_campaign=readme)
|
||||
|
||||
## Enterprise 💼
|
||||
|
||||
Available as part of the Tidelift Subscription.
|
||||
|
||||
The maintainers of InAppBrowser for React Native and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-react-native-inappbrowser-reborn?utm_source=npm-react-native-inappbrowser-reborn&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
|
||||
|
||||
## Security contact information 🚨
|
||||
To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure.
|
||||
|
||||
@ -6,10 +6,13 @@ import android.os.Bundle;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.provider.Browser;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import androidx.core.graphics.ColorUtils;
|
||||
|
||||
import com.facebook.react.bridge.Arguments;
|
||||
import com.facebook.react.bridge.Promise;
|
||||
@ -23,6 +26,7 @@ import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.List;
|
||||
|
||||
public class RNInAppBrowser {
|
||||
private final static String ERROR_CODE = "InAppBrowser";
|
||||
@ -38,8 +42,10 @@ public class RNInAppBrowser {
|
||||
private static final String KEY_ANIMATION_START_EXIT = "startExit";
|
||||
private static final String KEY_ANIMATION_END_ENTER = "endEnter";
|
||||
private static final String KEY_ANIMATION_END_EXIT = "endExit";
|
||||
private static final String HASBACKBUTTON = "hasBackButton";
|
||||
|
||||
private @Nullable Promise mOpenBrowserPromise;
|
||||
private Boolean isLightTheme;
|
||||
private Activity currentActivity;
|
||||
private static final Pattern animationIdentifierPattern = Pattern.compile("^.+:.+/");
|
||||
|
||||
@ -66,6 +72,7 @@ public class RNInAppBrowser {
|
||||
final String colorString = options.getString(KEY_TOOLBAR_COLOR);
|
||||
try {
|
||||
builder.setToolbarColor(Color.parseColor(colorString));
|
||||
isLightTheme = toolbarIsLight(colorString);
|
||||
} catch (IllegalArgumentException e) {
|
||||
throw new JSApplicationIllegalArgumentException(
|
||||
"Invalid toolbar color '" + colorString + "': " + e.getMessage());
|
||||
@ -92,6 +99,11 @@ public class RNInAppBrowser {
|
||||
final ReadableMap animations = options.getMap(KEY_ANIMATIONS);
|
||||
applyAnimation(context, builder, animations);
|
||||
}
|
||||
if (options.hasKey(HASBACKBUTTON) &&
|
||||
options.getBoolean(HASBACKBUTTON)) {
|
||||
builder.setCloseButtonIcon(BitmapFactory.decodeResource(
|
||||
context.getResources(), isLightTheme ? R.drawable.ic_arrow_back_black : R.drawable.ic_arrow_back_white));
|
||||
}
|
||||
|
||||
CustomTabsIntent customTabsIntent = builder.build();
|
||||
|
||||
@ -162,6 +174,12 @@ public class RNInAppBrowser {
|
||||
ChromeTabsManagerActivity.createDismissIntent(currentActivity));
|
||||
}
|
||||
|
||||
public void isAvailable(Context context, final Promise promise) {
|
||||
Intent serviceIntent = new Intent("android.support.customtabs.action.CustomTabsService");
|
||||
List<ResolveInfo> resolveInfos = context.getPackageManager().queryIntentServices(serviceIntent, 0);
|
||||
promise.resolve(!(resolveInfos == null || resolveInfos.isEmpty()));
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onEvent(ChromeTabsDismissedEvent event) {
|
||||
unRegisterEventBus();
|
||||
@ -218,4 +236,8 @@ public class RNInAppBrowser {
|
||||
EventBus.getDefault().unregister(this);
|
||||
}
|
||||
}
|
||||
|
||||
private Boolean toolbarIsLight(String themeColor) {
|
||||
return ColorUtils.calculateLuminance(Color.parseColor(themeColor)) > 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,8 +7,12 @@ import com.facebook.react.bridge.ReactApplicationContext;
|
||||
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
||||
import com.facebook.react.bridge.ReactMethod;
|
||||
import com.facebook.react.bridge.ReadableMap;
|
||||
import com.facebook.react.module.annotations.ReactModule;
|
||||
|
||||
@ReactModule(name = RNInAppBrowserModule.NAME)
|
||||
public class RNInAppBrowserModule extends ReactContextBaseJavaModule {
|
||||
public final static String NAME = "RNInAppBrowser";
|
||||
|
||||
private final RNInAppBrowser inAppBrowser;
|
||||
private final ReactApplicationContext reactContext;
|
||||
|
||||
@ -20,7 +24,7 @@ public class RNInAppBrowserModule extends ReactContextBaseJavaModule {
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "RNInAppBrowser";
|
||||
return NAME;
|
||||
}
|
||||
|
||||
@ReactMethod
|
||||
@ -33,4 +37,9 @@ public class RNInAppBrowserModule extends ReactContextBaseJavaModule {
|
||||
public void close() {
|
||||
inAppBrowser.close();
|
||||
}
|
||||
}
|
||||
|
||||
@ReactMethod
|
||||
public void isAvailable(final Promise promise) {
|
||||
inAppBrowser.isAvailable(this.reactContext, promise);
|
||||
}
|
||||
}
|
||||
|
||||
BIN
android/src/main/res/drawable-hdpi/ic_arrow_back_black.png
Normal file
|
After Width: | Height: | Size: 146 B |
BIN
android/src/main/res/drawable-hdpi/ic_arrow_back_white.png
Normal file
|
After Width: | Height: | Size: 146 B |
BIN
android/src/main/res/drawable-mdpi/ic_arrow_back_black.png
Normal file
|
After Width: | Height: | Size: 109 B |
BIN
android/src/main/res/drawable-mdpi/ic_arrow_back_white.png
Normal file
|
After Width: | Height: | Size: 111 B |
BIN
android/src/main/res/drawable-xhdpi/ic_arrow_back_black.png
Normal file
|
After Width: | Height: | Size: 156 B |
BIN
android/src/main/res/drawable-xhdpi/ic_arrow_back_white.png
Normal file
|
After Width: | Height: | Size: 153 B |
BIN
android/src/main/res/drawable-xxhdpi/ic_arrow_back_black.png
Normal file
|
After Width: | Height: | Size: 193 B |
BIN
android/src/main/res/drawable-xxhdpi/ic_arrow_back_white.png
Normal file
|
After Width: | Height: | Size: 195 B |
@ -1,17 +1,4 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
extends: '@react-native-community',
|
||||
rules: {
|
||||
"comma-dangle": ["error", {
|
||||
"arrays": "never",
|
||||
"objects": "never",
|
||||
"imports": "never",
|
||||
"exports": "never",
|
||||
"functions": "never"
|
||||
}],
|
||||
"prettier/prettier": ["error", {
|
||||
"endOfLine": "auto",
|
||||
"singleQuote": true
|
||||
}]
|
||||
}
|
||||
};
|
||||
|
||||
@ -5,14 +5,6 @@
|
||||
; Ignore "BUCK" generated dirs
|
||||
<PROJECT_ROOT>/\.buckd/
|
||||
|
||||
; Ignore unexpected extra "@providesModule"
|
||||
.*/node_modules/.*/node_modules/fbjs/.*
|
||||
|
||||
; Ignore duplicate module providers
|
||||
; For RN Apps installed via npm, "Libraries" folder is inside
|
||||
; "node_modules/react-native" but in the source repo it is in the root
|
||||
node_modules/react-native/Libraries/react-native/React.js
|
||||
|
||||
; Ignore polyfills
|
||||
node_modules/react-native/Libraries/polyfills/.*
|
||||
|
||||
@ -21,7 +13,7 @@ node_modules/react-native/Libraries/polyfills/.*
|
||||
node_modules/warning/.*
|
||||
|
||||
; Flow doesn't support platforms
|
||||
.*/Libraries/Utilities/HMRLoadingView.js
|
||||
.*/Libraries/Utilities/LoadingView.js
|
||||
|
||||
[untyped]
|
||||
.*/node_modules/@react-native-community/cli/.*/.*
|
||||
@ -29,7 +21,7 @@ node_modules/warning/.*
|
||||
[include]
|
||||
|
||||
[libs]
|
||||
node_modules/react-native/Libraries/react-native/react-native-interface.js
|
||||
node_modules/react-native/interface.js
|
||||
node_modules/react-native/flow/
|
||||
|
||||
[options]
|
||||
@ -42,27 +34,10 @@ module.file_ext=.js
|
||||
module.file_ext=.json
|
||||
module.file_ext=.ios.js
|
||||
|
||||
module.system=haste
|
||||
module.system.haste.use_name_reducers=true
|
||||
# get basename
|
||||
module.system.haste.name_reducers='^.*/\([a-zA-Z0-9$_.-]+\.js\(\.flow\)?\)$' -> '\1'
|
||||
# strip .js or .js.flow suffix
|
||||
module.system.haste.name_reducers='^\(.*\)\.js\(\.flow\)?$' -> '\1'
|
||||
# strip .ios suffix
|
||||
module.system.haste.name_reducers='^\(.*\)\.ios$' -> '\1'
|
||||
module.system.haste.name_reducers='^\(.*\)\.android$' -> '\1'
|
||||
module.system.haste.name_reducers='^\(.*\)\.native$' -> '\1'
|
||||
module.system.haste.paths.blacklist=.*/__tests__/.*
|
||||
module.system.haste.paths.blacklist=.*/__mocks__/.*
|
||||
module.system.haste.paths.whitelist=<PROJECT_ROOT>/node_modules/react-native/Libraries/.*
|
||||
module.system.haste.paths.whitelist=<PROJECT_ROOT>/node_modules/react-native/RNTester/.*
|
||||
module.system.haste.paths.whitelist=<PROJECT_ROOT>/node_modules/react-native/IntegrationTests/.*
|
||||
module.system.haste.paths.blacklist=<PROJECT_ROOT>/node_modules/react-native/Libraries/react-native/react-native-implementation.js
|
||||
module.system.haste.paths.blacklist=<PROJECT_ROOT>/node_modules/react-native/Libraries/Animated/src/polyfills/.*
|
||||
|
||||
munge_underscores=true
|
||||
|
||||
module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub'
|
||||
module.name_mapper='^react-native/\(.*\)$' -> '<PROJECT_ROOT>/node_modules/react-native/\1'
|
||||
module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/Image/RelativeImageStub'
|
||||
|
||||
suppress_type=$FlowIssue
|
||||
suppress_type=$FlowFixMe
|
||||
@ -96,4 +71,4 @@ untyped-import
|
||||
untyped-type-import
|
||||
|
||||
[version]
|
||||
^0.98.0
|
||||
^0.113.0
|
||||
|
||||
2
example/.gitignore
vendored
@ -20,7 +20,6 @@ DerivedData
|
||||
*.hmap
|
||||
*.ipa
|
||||
*.xcuserstate
|
||||
project.xcworkspace
|
||||
|
||||
# Android/IntelliJ
|
||||
#
|
||||
@ -40,6 +39,7 @@ yarn-error.log
|
||||
buck-out/
|
||||
\.buckd/
|
||||
*.keystore
|
||||
!debug.keystore
|
||||
|
||||
# fastlane
|
||||
#
|
||||
|
||||
6
example/.prettierrc.js
Normal file
@ -0,0 +1,6 @@
|
||||
module.exports = {
|
||||
bracketSpacing: false,
|
||||
jsxBracketSameLine: true,
|
||||
singleQuote: true,
|
||||
trailingComma: 'all',
|
||||
};
|
||||
@ -3,10 +3,10 @@
|
||||
* https://github.com/facebook/react-native
|
||||
*
|
||||
* @format
|
||||
* @flow
|
||||
* @flow strict-local
|
||||
*/
|
||||
|
||||
import React, { Component } from 'react';
|
||||
import React, {Component} from 'react';
|
||||
import {
|
||||
Platform,
|
||||
StyleSheet,
|
||||
@ -16,7 +16,7 @@ import {
|
||||
Alert,
|
||||
TextInput,
|
||||
StatusBar,
|
||||
Linking
|
||||
Linking,
|
||||
} from 'react-native';
|
||||
import InAppBrowser from 'react-native-inappbrowser-reborn';
|
||||
|
||||
@ -24,7 +24,7 @@ const instructions = Platform.select({
|
||||
ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
|
||||
android:
|
||||
'Double tap R on your keyboard to reload,\n' +
|
||||
'Shake or press menu button for dev menu'
|
||||
'Shake or press menu button for dev menu',
|
||||
});
|
||||
|
||||
export default class App extends Component {
|
||||
@ -33,16 +33,16 @@ export default class App extends Component {
|
||||
|
||||
this.state = {
|
||||
url: 'https://www.google.com',
|
||||
statusBarStyle: 'dark-content'
|
||||
statusBarStyle: 'dark-content',
|
||||
};
|
||||
}
|
||||
|
||||
sleep(timeout) {
|
||||
return new Promise(resolve => setTimeout(resolve, timeout));
|
||||
return new Promise((resolve) => setTimeout(resolve, timeout));
|
||||
}
|
||||
|
||||
async openLink() {
|
||||
const { url, statusBarStyle } = this.state;
|
||||
const {url, statusBarStyle} = this.state;
|
||||
try {
|
||||
if (await InAppBrowser.isAvailable()) {
|
||||
// A delay to change the StatusBar when the browser is opened
|
||||
@ -73,11 +73,11 @@ export default class App extends Component {
|
||||
startEnter: 'slide_in_right',
|
||||
startExit: 'slide_out_left',
|
||||
endEnter: 'slide_in_left',
|
||||
endExit: 'slide_out_right'
|
||||
endExit: 'slide_out_right',
|
||||
},
|
||||
headers: {
|
||||
'my-custom-header': 'my custom header value'
|
||||
}
|
||||
'my-custom-header': 'my custom header value',
|
||||
},
|
||||
});
|
||||
// A delay to show an alert when the browser is closed
|
||||
await this.sleep(800);
|
||||
@ -107,13 +107,13 @@ export default class App extends Component {
|
||||
try {
|
||||
if (await InAppBrowser.isAvailable()) {
|
||||
const result = await InAppBrowser.openAuth(url, redirectUrl, {
|
||||
showTitle: true,
|
||||
toolbarColor: '#6200EE',
|
||||
secondaryToolbarColor: 'black',
|
||||
// iOS Properties
|
||||
ephemeralWebSession: false,
|
||||
// Android Properties
|
||||
showTitle: false,
|
||||
enableUrlBarHiding: true,
|
||||
enableDefaultShare: true
|
||||
enableDefaultShare: false,
|
||||
});
|
||||
await this.sleep(800);
|
||||
Alert.alert('Response', JSON.stringify(result));
|
||||
} else {
|
||||
Alert.alert('InAppBrowser is not supported :/');
|
||||
@ -124,7 +124,7 @@ export default class App extends Component {
|
||||
}
|
||||
|
||||
render() {
|
||||
const { statusBarStyle } = this.state;
|
||||
const {statusBarStyle} = this.state;
|
||||
return (
|
||||
<View style={styles.container}>
|
||||
<StatusBar barStyle={statusBarStyle} />
|
||||
@ -134,7 +134,7 @@ export default class App extends Component {
|
||||
<Text style={styles.instructions}>Type the url</Text>
|
||||
<TextInput
|
||||
style={styles.urlInput}
|
||||
onChangeText={text => this.setState({ url: text })}
|
||||
onChangeText={(text) => this.setState({url: text})}
|
||||
value={this.state.url}
|
||||
/>
|
||||
<View style={styles.openButton}>
|
||||
@ -158,26 +158,26 @@ const styles = StyleSheet.create({
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
backgroundColor: '#F5FCFF',
|
||||
padding: 30
|
||||
padding: 30,
|
||||
},
|
||||
welcome: {
|
||||
fontSize: 20,
|
||||
textAlign: 'center',
|
||||
margin: 10
|
||||
margin: 10,
|
||||
},
|
||||
instructions: {
|
||||
textAlign: 'center',
|
||||
color: '#333333',
|
||||
marginBottom: 5
|
||||
marginBottom: 5,
|
||||
},
|
||||
urlInput: {
|
||||
height: 40,
|
||||
width: '100%',
|
||||
borderColor: 'gray',
|
||||
borderWidth: 1
|
||||
borderWidth: 1,
|
||||
},
|
||||
openButton: {
|
||||
paddingTop: Platform.OS === 'ios' ? 0 : 20,
|
||||
paddingBottom: Platform.OS === 'ios' ? 0 : 20
|
||||
}
|
||||
paddingBottom: Platform.OS === 'ios' ? 0 : 20,
|
||||
},
|
||||
});
|
||||
|
||||
@ -15,7 +15,9 @@ import com.android.build.OutputFile
|
||||
* // the name of the generated asset file containing your JS bundle
|
||||
* bundleAssetName: "index.android.bundle",
|
||||
*
|
||||
* // the entry file for bundle generation
|
||||
* // the entry file for bundle generation. If none specified and
|
||||
* // "index.android.js" exists, it will be used. Otherwise "index.js" is
|
||||
* // default. Can be overridden with ENTRY_FILE environment variable.
|
||||
* entryFile: "index.android.js",
|
||||
*
|
||||
* // https://facebook.github.io/react-native/docs/performance#enable-the-ram-format
|
||||
@ -76,7 +78,7 @@ import com.android.build.OutputFile
|
||||
*/
|
||||
|
||||
project.ext.react = [
|
||||
entryFile: "index.js"
|
||||
enableHermes: false, // clean and rebuild if changing
|
||||
]
|
||||
|
||||
apply from: "../../node_modules/react-native/react.gradle"
|
||||
@ -97,13 +99,26 @@ def enableSeparateBuildPerCPUArchitecture = false
|
||||
def enableProguardInReleaseBuilds = false
|
||||
|
||||
/**
|
||||
* Use international variant JavaScriptCore
|
||||
* International variant includes ICU i18n library and necessary data allowing to use
|
||||
* e.g. Date.toLocaleString and String.localeCompare that give correct results
|
||||
* when using with locales other than en-US.
|
||||
* Note that this variant is about 6MiB larger per architecture than default.
|
||||
* The preferred build flavor of JavaScriptCore.
|
||||
*
|
||||
* For example, to use the international variant, you can use:
|
||||
* `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
|
||||
*
|
||||
* The international variant includes ICU i18n library and necessary data
|
||||
* allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
|
||||
* give correct results when using with locales other than en-US. Note that
|
||||
* this variant is about 6MiB larger per architecture than default.
|
||||
*/
|
||||
def useIntlJsc = false
|
||||
def jscFlavor = 'org.webkit:android-jsc:+'
|
||||
|
||||
/**
|
||||
* Whether to enable the Hermes VM.
|
||||
*
|
||||
* This should be set on project.ext.react and mirrored here. If it is not set
|
||||
* on project.ext.react, JavaScript will not be compiled to Hermes Bytecode
|
||||
* and the benefits of using Hermes will therefore be sharply reduced.
|
||||
*/
|
||||
def enableHermes = project.ext.react.get("enableHermes", false);
|
||||
|
||||
android {
|
||||
compileSdkVersion rootProject.ext.compileSdkVersion
|
||||
@ -148,6 +163,14 @@ android {
|
||||
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
|
||||
}
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
pickFirst "lib/armeabi-v7a/libc++_shared.so"
|
||||
pickFirst "lib/arm64-v8a/libc++_shared.so"
|
||||
pickFirst "lib/x86/libc++_shared.so"
|
||||
pickFirst "lib/x86_64/libc++_shared.so"
|
||||
}
|
||||
|
||||
// applicationVariants are e.g. debug, release
|
||||
applicationVariants.all { variant ->
|
||||
variant.outputs.each { output ->
|
||||
@ -159,19 +182,36 @@ android {
|
||||
output.versionCodeOverride =
|
||||
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||
//noinspection GradleDynamicVersion
|
||||
implementation "com.facebook.react:react-native:+" // From node_modules
|
||||
|
||||
// JSC from node_modules
|
||||
if (useIntlJsc) {
|
||||
implementation 'org.webkit:android-jsc-intl:+'
|
||||
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
|
||||
|
||||
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
|
||||
exclude group:'com.facebook.fbjni'
|
||||
}
|
||||
|
||||
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
|
||||
exclude group:'com.facebook.flipper'
|
||||
}
|
||||
|
||||
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
|
||||
exclude group:'com.facebook.flipper'
|
||||
}
|
||||
|
||||
if (enableHermes) {
|
||||
def hermesPath = "../../node_modules/hermes-engine/android/";
|
||||
debugImplementation files(hermesPath + "hermes-debug.aar")
|
||||
releaseImplementation files(hermesPath + "hermes-release.aar")
|
||||
} else {
|
||||
implementation 'org.webkit:android-jsc:+'
|
||||
implementation jscFlavor
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BIN
example/android/app/debug.keystore
Normal file
@ -0,0 +1,72 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
|
||||
* directory of this source tree.
|
||||
*/
|
||||
package com.example;
|
||||
|
||||
import android.content.Context;
|
||||
import com.facebook.flipper.android.AndroidFlipperClient;
|
||||
import com.facebook.flipper.android.utils.FlipperUtils;
|
||||
import com.facebook.flipper.core.FlipperClient;
|
||||
import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin;
|
||||
import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin;
|
||||
import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin;
|
||||
import com.facebook.flipper.plugins.inspector.DescriptorMapping;
|
||||
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;
|
||||
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;
|
||||
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
|
||||
import com.facebook.flipper.plugins.react.ReactFlipperPlugin;
|
||||
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
|
||||
import com.facebook.react.ReactInstanceManager;
|
||||
import com.facebook.react.bridge.ReactContext;
|
||||
import com.facebook.react.modules.network.NetworkingModule;
|
||||
import okhttp3.OkHttpClient;
|
||||
|
||||
public class ReactNativeFlipper {
|
||||
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
|
||||
if (FlipperUtils.shouldEnableFlipper(context)) {
|
||||
final FlipperClient client = AndroidFlipperClient.getInstance(context);
|
||||
|
||||
client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));
|
||||
client.addPlugin(new ReactFlipperPlugin());
|
||||
client.addPlugin(new DatabasesFlipperPlugin(context));
|
||||
client.addPlugin(new SharedPreferencesFlipperPlugin(context));
|
||||
client.addPlugin(CrashReporterPlugin.getInstance());
|
||||
|
||||
NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
|
||||
NetworkingModule.setCustomClientBuilder(
|
||||
new NetworkingModule.CustomClientBuilder() {
|
||||
@Override
|
||||
public void apply(OkHttpClient.Builder builder) {
|
||||
builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
|
||||
}
|
||||
});
|
||||
client.addPlugin(networkFlipperPlugin);
|
||||
client.start();
|
||||
|
||||
// Fresco Plugin needs to ensure that ImagePipelineFactory is initialized
|
||||
// Hence we run if after all native modules have been initialized
|
||||
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
|
||||
if (reactContext == null) {
|
||||
reactInstanceManager.addReactInstanceEventListener(
|
||||
new ReactInstanceManager.ReactInstanceEventListener() {
|
||||
@Override
|
||||
public void onReactContextInitialized(ReactContext reactContext) {
|
||||
reactInstanceManager.removeReactInstanceEventListener(this);
|
||||
reactContext.runOnNativeModulesQueueThread(
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
client.addPlugin(new FrescoFlipperPlugin());
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
client.addPlugin(new FrescoFlipperPlugin());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -14,7 +14,8 @@
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:label="@string/app_name"
|
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
|
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
|
||||
android:launchMode="singleTask"
|
||||
android:windowSoftInputMode="adjustResize">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
@ -4,12 +4,12 @@ import com.facebook.react.ReactActivity;
|
||||
|
||||
public class MainActivity extends ReactActivity {
|
||||
|
||||
/**
|
||||
* Returns the name of the main component registered from JavaScript.
|
||||
* This is used to schedule rendering of the component.
|
||||
*/
|
||||
@Override
|
||||
protected String getMainComponentName() {
|
||||
return "example";
|
||||
}
|
||||
/**
|
||||
* Returns the name of the main component registered from JavaScript. This is used to schedule
|
||||
* rendering of the component.
|
||||
*/
|
||||
@Override
|
||||
protected String getMainComponentName() {
|
||||
return "example";
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,37 +1,39 @@
|
||||
package com.example;
|
||||
|
||||
import android.app.Application;
|
||||
|
||||
import android.content.Context;
|
||||
import com.facebook.react.PackageList;
|
||||
import com.facebook.react.ReactApplication;
|
||||
import com.facebook.react.ReactInstanceManager;
|
||||
import com.facebook.react.ReactNativeHost;
|
||||
import com.facebook.react.ReactPackage;
|
||||
import com.facebook.soloader.SoLoader;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.List;
|
||||
|
||||
public class MainApplication extends Application implements ReactApplication {
|
||||
|
||||
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
|
||||
@Override
|
||||
public boolean getUseDeveloperSupport() {
|
||||
return BuildConfig.DEBUG;
|
||||
}
|
||||
private final ReactNativeHost mReactNativeHost =
|
||||
new ReactNativeHost(this) {
|
||||
@Override
|
||||
public boolean getUseDeveloperSupport() {
|
||||
return BuildConfig.DEBUG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<ReactPackage> getPackages() {
|
||||
@SuppressWarnings("UnnecessaryLocalVariable")
|
||||
List<ReactPackage> packages = new PackageList(this).getPackages();
|
||||
// Packages that cannot be autolinked yet can be added manually here, for example:
|
||||
// packages.add(new MyReactNativePackage());
|
||||
return packages;
|
||||
}
|
||||
@Override
|
||||
protected List<ReactPackage> getPackages() {
|
||||
@SuppressWarnings("UnnecessaryLocalVariable")
|
||||
List<ReactPackage> packages = new PackageList(this).getPackages();
|
||||
// Packages that cannot be autolinked yet can be added manually here, for example:
|
||||
// packages.add(new MyReactNativePackage());
|
||||
return packages;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getJSMainModuleName() {
|
||||
return "index";
|
||||
}
|
||||
};
|
||||
@Override
|
||||
protected String getJSMainModuleName() {
|
||||
return "index";
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public ReactNativeHost getReactNativeHost() {
|
||||
@ -42,5 +44,37 @@ public class MainApplication extends Application implements ReactApplication {
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
SoLoader.init(this, /* native exopackage */ false);
|
||||
initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads Flipper in React Native templates. Call this in the onCreate method with something like
|
||||
* initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
|
||||
*
|
||||
* @param context
|
||||
* @param reactInstanceManager
|
||||
*/
|
||||
private static void initializeFlipper(
|
||||
Context context, ReactInstanceManager reactInstanceManager) {
|
||||
if (BuildConfig.DEBUG) {
|
||||
try {
|
||||
/*
|
||||
We use reflection here to pick up the class that initializes Flipper,
|
||||
since Flipper library is not available in release mode
|
||||
*/
|
||||
Class<?> aClass = Class.forName("com.example.ReactNativeFlipper");
|
||||
aClass
|
||||
.getMethod("initializeFlipper", Context.class, ReactInstanceManager.class)
|
||||
.invoke(null, context, reactInstanceManager);
|
||||
} catch (ClassNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (NoSuchMethodException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
} catch (InvocationTargetException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,16 +6,13 @@ buildscript {
|
||||
minSdkVersion = 16
|
||||
compileSdkVersion = 28
|
||||
targetSdkVersion = 28
|
||||
androidXVersion = "1.+" // Default AndroidX dependency
|
||||
androidXAnnotation = "1.1.0"
|
||||
androidXBrowser = "1.0.0"
|
||||
}
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath("com.android.tools.build:gradle:3.4.1")
|
||||
classpath("com.android.tools.build:gradle:3.5.2")
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
@ -36,5 +33,6 @@ allprojects {
|
||||
|
||||
google()
|
||||
jcenter()
|
||||
maven { url 'https://www.jitpack.io' }
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,5 +17,12 @@
|
||||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||
# org.gradle.parallel=true
|
||||
|
||||
# AndroidX package structure to make it clearer which packages are bundled with the
|
||||
# Android operating system, and which are packaged with your app's APK
|
||||
# https://developer.android.com/topic/libraries/support-library/androidx-rn
|
||||
android.useAndroidX=true
|
||||
# Automatically convert third-party libraries to use AndroidX
|
||||
android.enableJetifier=true
|
||||
|
||||
# Version of flipper SDK to use with React Native
|
||||
FLIPPER_VERSION=0.33.1
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
6
example/android/gradlew
vendored
@ -7,7 +7,7 @@
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@ -125,8 +125,8 @@ if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin ; then
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
2
example/android/gradlew.bat
vendored
@ -5,7 +5,7 @@
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem http://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
||||
@ -1,12 +1,36 @@
|
||||
platform :ios, '9.0'
|
||||
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
|
||||
|
||||
def add_flipper_pods!
|
||||
version = '~> 0.33.1'
|
||||
pod 'FlipperKit', version, :configuration => 'Debug'
|
||||
pod 'FlipperKit/FlipperKitLayoutPlugin', version, :configuration => 'Debug'
|
||||
pod 'FlipperKit/SKIOSNetworkPlugin', version, :configuration => 'Debug'
|
||||
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', version, :configuration => 'Debug'
|
||||
pod 'FlipperKit/FlipperKitReactPlugin', version, :configuration => 'Debug'
|
||||
end
|
||||
|
||||
# Post Install processing for Flipper
|
||||
def flipper_post_install(installer)
|
||||
installer.pods_project.targets.each do |target|
|
||||
if target.name == 'YogaKit'
|
||||
target.build_configurations.each do |config|
|
||||
config.build_settings['SWIFT_VERSION'] = '4.1'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
target 'example' do
|
||||
# Pods for example
|
||||
pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
|
||||
pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
|
||||
pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
|
||||
pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
|
||||
pod 'React', :path => '../node_modules/react-native/'
|
||||
pod 'React-Core', :path => '../node_modules/react-native/React'
|
||||
pod 'React-DevSupport', :path => '../node_modules/react-native/React'
|
||||
pod 'React-fishhook', :path => '../node_modules/react-native/Libraries/fishhook'
|
||||
pod 'React-Core', :path => '../node_modules/react-native/'
|
||||
pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
|
||||
pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
|
||||
pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
|
||||
pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
|
||||
pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
|
||||
@ -16,24 +40,35 @@ target 'example' do
|
||||
pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
|
||||
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
|
||||
pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
|
||||
pod 'React-RCTWebSocket', :path => '../node_modules/react-native/Libraries/WebSocket'
|
||||
pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'
|
||||
|
||||
pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
|
||||
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
|
||||
pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
|
||||
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
|
||||
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
|
||||
pod 'ReactCommon/callinvoker', :path => "../node_modules/react-native/ReactCommon"
|
||||
pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
|
||||
pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga', :modular_headers => true
|
||||
|
||||
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
|
||||
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
|
||||
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
|
||||
|
||||
target 'exampleTests' do
|
||||
inherit! :search_paths
|
||||
inherit! :complete
|
||||
# Pods for testing
|
||||
end
|
||||
|
||||
use_native_modules!
|
||||
|
||||
# Enables Flipper.
|
||||
#
|
||||
# Note that if you have use_frameworks! enabled, Flipper will not work and
|
||||
# you should disable these next few lines.
|
||||
add_flipper_pods!
|
||||
post_install do |installer|
|
||||
flipper_post_install(installer)
|
||||
end
|
||||
end
|
||||
|
||||
target 'example-tvOS' do
|
||||
@ -43,5 +78,4 @@ target 'example-tvOS' do
|
||||
inherit! :search_paths
|
||||
# Pods for testing
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@ -1,6 +1,62 @@
|
||||
PODS:
|
||||
- boost-for-react-native (1.63.0)
|
||||
- CocoaAsyncSocket (7.6.4)
|
||||
- CocoaLibEvent (1.0.0)
|
||||
- DoubleConversion (1.1.6)
|
||||
- FBLazyVector (0.62.1)
|
||||
- FBReactNativeSpec (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- RCTRequired (= 0.62.1)
|
||||
- RCTTypeSafety (= 0.62.1)
|
||||
- React-Core (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- ReactCommon/turbomodule/core (= 0.62.1)
|
||||
- Flipper (0.33.1):
|
||||
- Flipper-Folly (~> 2.1)
|
||||
- Flipper-RSocket (~> 1.0)
|
||||
- Flipper-DoubleConversion (1.1.7)
|
||||
- Flipper-Folly (2.2.0):
|
||||
- boost-for-react-native
|
||||
- CocoaLibEvent (~> 1.0)
|
||||
- Flipper-DoubleConversion
|
||||
- Flipper-Glog
|
||||
- OpenSSL-Universal (= 1.0.2.19)
|
||||
- Flipper-Glog (0.3.6)
|
||||
- Flipper-PeerTalk (0.0.4)
|
||||
- Flipper-RSocket (1.1.0):
|
||||
- Flipper-Folly (~> 2.2)
|
||||
- FlipperKit (0.33.1):
|
||||
- FlipperKit/Core (= 0.33.1)
|
||||
- FlipperKit/Core (0.33.1):
|
||||
- Flipper (~> 0.33.1)
|
||||
- FlipperKit/CppBridge
|
||||
- FlipperKit/FBCxxFollyDynamicConvert
|
||||
- FlipperKit/FBDefines
|
||||
- FlipperKit/FKPortForwarding
|
||||
- FlipperKit/CppBridge (0.33.1):
|
||||
- Flipper (~> 0.33.1)
|
||||
- FlipperKit/FBCxxFollyDynamicConvert (0.33.1):
|
||||
- Flipper-Folly (~> 2.1)
|
||||
- FlipperKit/FBDefines (0.33.1)
|
||||
- FlipperKit/FKPortForwarding (0.33.1):
|
||||
- CocoaAsyncSocket (~> 7.6)
|
||||
- Flipper-PeerTalk (~> 0.0.4)
|
||||
- FlipperKit/FlipperKitHighlightOverlay (0.33.1)
|
||||
- FlipperKit/FlipperKitLayoutPlugin (0.33.1):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/FlipperKitHighlightOverlay
|
||||
- FlipperKit/FlipperKitLayoutTextSearchable
|
||||
- YogaKit (~> 1.18)
|
||||
- FlipperKit/FlipperKitLayoutTextSearchable (0.33.1)
|
||||
- FlipperKit/FlipperKitNetworkPlugin (0.33.1):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/FlipperKitReactPlugin (0.33.1):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/FlipperKitUserDefaultsPlugin (0.33.1):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/SKIOSNetworkPlugin (0.33.1):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/FlipperKitNetworkPlugin
|
||||
- Folly (2018.10.22.00):
|
||||
- boost-for-react-native
|
||||
- DoubleConversion
|
||||
@ -11,89 +67,256 @@ PODS:
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- glog (0.3.5)
|
||||
- React (0.60.0):
|
||||
- React-Core (= 0.60.0)
|
||||
- React-DevSupport (= 0.60.0)
|
||||
- React-RCTActionSheet (= 0.60.0)
|
||||
- React-RCTAnimation (= 0.60.0)
|
||||
- React-RCTBlob (= 0.60.0)
|
||||
- React-RCTImage (= 0.60.0)
|
||||
- React-RCTLinking (= 0.60.0)
|
||||
- React-RCTNetwork (= 0.60.0)
|
||||
- React-RCTSettings (= 0.60.0)
|
||||
- React-RCTText (= 0.60.0)
|
||||
- React-RCTVibration (= 0.60.0)
|
||||
- React-RCTWebSocket (= 0.60.0)
|
||||
- React-Core (0.60.0):
|
||||
- OpenSSL-Universal (1.0.2.19):
|
||||
- OpenSSL-Universal/Static (= 1.0.2.19)
|
||||
- OpenSSL-Universal/Static (1.0.2.19)
|
||||
- RCTRequired (0.62.1)
|
||||
- RCTTypeSafety (0.62.1):
|
||||
- FBLazyVector (= 0.62.1)
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-cxxreact (= 0.60.0)
|
||||
- React-jsiexecutor (= 0.60.0)
|
||||
- yoga (= 0.60.0.React)
|
||||
- React-cxxreact (0.60.0):
|
||||
- RCTRequired (= 0.62.1)
|
||||
- React-Core (= 0.62.1)
|
||||
- React (0.62.1):
|
||||
- React-Core (= 0.62.1)
|
||||
- React-Core/DevSupport (= 0.62.1)
|
||||
- React-Core/RCTWebSocket (= 0.62.1)
|
||||
- React-RCTActionSheet (= 0.62.1)
|
||||
- React-RCTAnimation (= 0.62.1)
|
||||
- React-RCTBlob (= 0.62.1)
|
||||
- React-RCTImage (= 0.62.1)
|
||||
- React-RCTLinking (= 0.62.1)
|
||||
- React-RCTNetwork (= 0.62.1)
|
||||
- React-RCTSettings (= 0.62.1)
|
||||
- React-RCTText (= 0.62.1)
|
||||
- React-RCTVibration (= 0.62.1)
|
||||
- React-Core (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default (= 0.62.1)
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- Yoga
|
||||
- React-Core/CoreModulesHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- Yoga
|
||||
- React-Core/Default (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- Yoga
|
||||
- React-Core/DevSupport (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default (= 0.62.1)
|
||||
- React-Core/RCTWebSocket (= 0.62.1)
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- React-jsinspector (= 0.62.1)
|
||||
- Yoga
|
||||
- React-Core/RCTActionSheetHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- Yoga
|
||||
- React-Core/RCTAnimationHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- Yoga
|
||||
- React-Core/RCTBlobHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- Yoga
|
||||
- React-Core/RCTImageHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- Yoga
|
||||
- React-Core/RCTLinkingHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- Yoga
|
||||
- React-Core/RCTNetworkHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- Yoga
|
||||
- React-Core/RCTSettingsHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- Yoga
|
||||
- React-Core/RCTTextHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- Yoga
|
||||
- React-Core/RCTVibrationHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- Yoga
|
||||
- React-Core/RCTWebSocket (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default (= 0.62.1)
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- Yoga
|
||||
- React-CoreModules (0.62.1):
|
||||
- FBReactNativeSpec (= 0.62.1)
|
||||
- Folly (= 2018.10.22.00)
|
||||
- RCTTypeSafety (= 0.62.1)
|
||||
- React-Core/CoreModulesHeaders (= 0.62.1)
|
||||
- React-RCTImage (= 0.62.1)
|
||||
- ReactCommon/turbomodule/core (= 0.62.1)
|
||||
- React-cxxreact (0.62.1):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-jsinspector (= 0.60.0)
|
||||
- React-DevSupport (0.60.0):
|
||||
- React-Core (= 0.60.0)
|
||||
- React-RCTWebSocket (= 0.60.0)
|
||||
- React-fishhook (0.60.0)
|
||||
- React-jsi (0.60.0):
|
||||
- React-jsinspector (= 0.62.1)
|
||||
- React-jsi (0.62.1):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-jsi/Default (= 0.60.0)
|
||||
- React-jsi/Default (0.60.0):
|
||||
- React-jsi/Default (= 0.62.1)
|
||||
- React-jsi/Default (0.62.1):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-jsiexecutor (0.60.0):
|
||||
- React-jsiexecutor (0.62.1):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-cxxreact (= 0.60.0)
|
||||
- React-jsi (= 0.60.0)
|
||||
- React-jsinspector (0.60.0)
|
||||
- React-RCTActionSheet (0.60.0):
|
||||
- React-Core (= 0.60.0)
|
||||
- React-RCTAnimation (0.60.0):
|
||||
- React-Core (= 0.60.0)
|
||||
- React-RCTBlob (0.60.0):
|
||||
- React-Core (= 0.60.0)
|
||||
- React-RCTNetwork (= 0.60.0)
|
||||
- React-RCTWebSocket (= 0.60.0)
|
||||
- React-RCTImage (0.60.0):
|
||||
- React-Core (= 0.60.0)
|
||||
- React-RCTNetwork (= 0.60.0)
|
||||
- React-RCTLinking (0.60.0):
|
||||
- React-Core (= 0.60.0)
|
||||
- React-RCTNetwork (0.60.0):
|
||||
- React-Core (= 0.60.0)
|
||||
- React-RCTSettings (0.60.0):
|
||||
- React-Core (= 0.60.0)
|
||||
- React-RCTText (0.60.0):
|
||||
- React-Core (= 0.60.0)
|
||||
- React-RCTVibration (0.60.0):
|
||||
- React-Core (= 0.60.0)
|
||||
- React-RCTWebSocket (0.60.0):
|
||||
- React-Core (= 0.60.0)
|
||||
- React-fishhook (= 0.60.0)
|
||||
- RNInAppBrowser (3.3.3):
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsinspector (0.62.1)
|
||||
- React-RCTActionSheet (0.62.1):
|
||||
- React-Core/RCTActionSheetHeaders (= 0.62.1)
|
||||
- React-RCTAnimation (0.62.1):
|
||||
- FBReactNativeSpec (= 0.62.1)
|
||||
- Folly (= 2018.10.22.00)
|
||||
- RCTTypeSafety (= 0.62.1)
|
||||
- React-Core/RCTAnimationHeaders (= 0.62.1)
|
||||
- ReactCommon/turbomodule/core (= 0.62.1)
|
||||
- React-RCTBlob (0.62.1):
|
||||
- FBReactNativeSpec (= 0.62.1)
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/RCTBlobHeaders (= 0.62.1)
|
||||
- React-Core/RCTWebSocket (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-RCTNetwork (= 0.62.1)
|
||||
- ReactCommon/turbomodule/core (= 0.62.1)
|
||||
- React-RCTImage (0.62.1):
|
||||
- FBReactNativeSpec (= 0.62.1)
|
||||
- Folly (= 2018.10.22.00)
|
||||
- RCTTypeSafety (= 0.62.1)
|
||||
- React-Core/RCTImageHeaders (= 0.62.1)
|
||||
- React-RCTNetwork (= 0.62.1)
|
||||
- ReactCommon/turbomodule/core (= 0.62.1)
|
||||
- React-RCTLinking (0.62.1):
|
||||
- FBReactNativeSpec (= 0.62.1)
|
||||
- React-Core/RCTLinkingHeaders (= 0.62.1)
|
||||
- ReactCommon/turbomodule/core (= 0.62.1)
|
||||
- React-RCTNetwork (0.62.1):
|
||||
- FBReactNativeSpec (= 0.62.1)
|
||||
- Folly (= 2018.10.22.00)
|
||||
- RCTTypeSafety (= 0.62.1)
|
||||
- React-Core/RCTNetworkHeaders (= 0.62.1)
|
||||
- ReactCommon/turbomodule/core (= 0.62.1)
|
||||
- React-RCTSettings (0.62.1):
|
||||
- FBReactNativeSpec (= 0.62.1)
|
||||
- Folly (= 2018.10.22.00)
|
||||
- RCTTypeSafety (= 0.62.1)
|
||||
- React-Core/RCTSettingsHeaders (= 0.62.1)
|
||||
- ReactCommon/turbomodule/core (= 0.62.1)
|
||||
- React-RCTText (0.62.1):
|
||||
- React-Core/RCTTextHeaders (= 0.62.1)
|
||||
- React-RCTVibration (0.62.1):
|
||||
- FBReactNativeSpec (= 0.62.1)
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/RCTVibrationHeaders (= 0.62.1)
|
||||
- ReactCommon/turbomodule/core (= 0.62.1)
|
||||
- ReactCommon/callinvoker (0.62.1):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- ReactCommon/turbomodule/core (0.62.1):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core (= 0.62.1)
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- ReactCommon/callinvoker (= 0.62.1)
|
||||
- RNInAppBrowser (3.4.0):
|
||||
- React
|
||||
- yoga (0.60.0.React)
|
||||
- Yoga (1.14.0)
|
||||
- YogaKit (1.18.1):
|
||||
- Yoga (~> 1.14)
|
||||
|
||||
DEPENDENCIES:
|
||||
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
||||
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
|
||||
- FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`)
|
||||
- FlipperKit (~> 0.33.1)
|
||||
- FlipperKit/FlipperKitLayoutPlugin (~> 0.33.1)
|
||||
- FlipperKit/FlipperKitReactPlugin (~> 0.33.1)
|
||||
- FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.33.1)
|
||||
- FlipperKit/SKIOSNetworkPlugin (~> 0.33.1)
|
||||
- Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
|
||||
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
||||
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
|
||||
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
|
||||
- React (from `../node_modules/react-native/`)
|
||||
- React-Core (from `../node_modules/react-native/React`)
|
||||
- React-Core (from `../node_modules/react-native/`)
|
||||
- React-Core/DevSupport (from `../node_modules/react-native/`)
|
||||
- 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-DevSupport (from `../node_modules/react-native/React`)
|
||||
- React-fishhook (from `../node_modules/react-native/Libraries/fishhook`)
|
||||
- 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`)
|
||||
@ -106,31 +329,49 @@ DEPENDENCIES:
|
||||
- React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
|
||||
- React-RCTText (from `../node_modules/react-native/Libraries/Text`)
|
||||
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
|
||||
- React-RCTWebSocket (from `../node_modules/react-native/Libraries/WebSocket`)
|
||||
- ReactCommon/callinvoker (from `../node_modules/react-native/ReactCommon`)
|
||||
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
|
||||
- RNInAppBrowser (from `../node_modules/react-native-inappbrowser-reborn`)
|
||||
- yoga (from `../node_modules/react-native/ReactCommon/yoga`)
|
||||
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
|
||||
|
||||
SPEC REPOS:
|
||||
https://github.com/CocoaPods/Specs.git:
|
||||
https://github.com/cocoapods/specs.git:
|
||||
- boost-for-react-native
|
||||
- CocoaAsyncSocket
|
||||
- CocoaLibEvent
|
||||
- Flipper
|
||||
- Flipper-DoubleConversion
|
||||
- Flipper-Folly
|
||||
- Flipper-Glog
|
||||
- Flipper-PeerTalk
|
||||
- Flipper-RSocket
|
||||
- FlipperKit
|
||||
- OpenSSL-Universal
|
||||
- YogaKit
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
DoubleConversion:
|
||||
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
|
||||
FBLazyVector:
|
||||
:path: "../node_modules/react-native/Libraries/FBLazyVector"
|
||||
FBReactNativeSpec:
|
||||
:path: "../node_modules/react-native/Libraries/FBReactNativeSpec"
|
||||
Folly:
|
||||
:podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec"
|
||||
glog:
|
||||
:podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
|
||||
RCTRequired:
|
||||
:path: "../node_modules/react-native/Libraries/RCTRequired"
|
||||
RCTTypeSafety:
|
||||
:path: "../node_modules/react-native/Libraries/TypeSafety"
|
||||
React:
|
||||
:path: "../node_modules/react-native/"
|
||||
React-Core:
|
||||
:path: "../node_modules/react-native/React"
|
||||
:path: "../node_modules/react-native/"
|
||||
React-CoreModules:
|
||||
:path: "../node_modules/react-native/React/CoreModules"
|
||||
React-cxxreact:
|
||||
:path: "../node_modules/react-native/ReactCommon/cxxreact"
|
||||
React-DevSupport:
|
||||
:path: "../node_modules/react-native/React"
|
||||
React-fishhook:
|
||||
:path: "../node_modules/react-native/Libraries/fishhook"
|
||||
React-jsi:
|
||||
:path: "../node_modules/react-native/ReactCommon/jsi"
|
||||
React-jsiexecutor:
|
||||
@ -155,39 +396,53 @@ EXTERNAL SOURCES:
|
||||
:path: "../node_modules/react-native/Libraries/Text"
|
||||
React-RCTVibration:
|
||||
:path: "../node_modules/react-native/Libraries/Vibration"
|
||||
React-RCTWebSocket:
|
||||
:path: "../node_modules/react-native/Libraries/WebSocket"
|
||||
ReactCommon:
|
||||
:path: "../node_modules/react-native/ReactCommon"
|
||||
RNInAppBrowser:
|
||||
:path: "../node_modules/react-native-inappbrowser-reborn"
|
||||
yoga:
|
||||
Yoga:
|
||||
:path: "../node_modules/react-native/ReactCommon/yoga"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
|
||||
CocoaAsyncSocket: 694058e7c0ed05a9e217d1b3c7ded962f4180845
|
||||
CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f
|
||||
DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
|
||||
FBLazyVector: 95ee3e58937a6052f86b0e32f142388c22fa22c5
|
||||
FBReactNativeSpec: 26dd6459299e48cd64eb397c45635e466dba9f45
|
||||
Flipper: 6c1f484f9a88d30ab3e272800d53688439e50f69
|
||||
Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41
|
||||
Flipper-Folly: c12092ea368353b58e992843a990a3225d4533c3
|
||||
Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6
|
||||
Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
|
||||
Flipper-RSocket: 64e7431a55835eb953b0bf984ef3b90ae9fdddd7
|
||||
FlipperKit: 6dc9b8f4ef60d9e5ded7f0264db299c91f18832e
|
||||
Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
|
||||
glog: 1f3da668190260b06b429bb211bfbee5cd790c28
|
||||
React: 4b3c068e793e96672dcd186a2b572fac43e4b031
|
||||
React-Core: 3dc86b22920597f813c62a96db3165950b64826b
|
||||
React-cxxreact: 0dacb291e59b81e7c3f22a2118bee853ba8a60d2
|
||||
React-DevSupport: 4eb4135386acd10c2586cc9c759bf96b4dac035e
|
||||
React-fishhook: 86ca737527bb9d860efbb943c11c729a5b69aa3d
|
||||
React-jsi: 8e128c4d0d8febc2977ef617d1c09bb54326069c
|
||||
React-jsiexecutor: 7a3554f703a58963ec80b860144ea0f0e9b910e1
|
||||
React-jsinspector: d4ed52225912efe0019bb7f1a225aec20f23049a
|
||||
React-RCTActionSheet: b27ff3cf3a68f917c46d2b94abf938b625b96570
|
||||
React-RCTAnimation: 9e4708e5bd65fca8285ce7c0aa076f3f4fa5c2f8
|
||||
React-RCTBlob: 6eafcc3a24f33785692a7be24918ade607bc8719
|
||||
React-RCTImage: 46b965d7225b428ea11580ead08a4318aef1d6be
|
||||
React-RCTLinking: d65b9f56cf0b8e171575a86764df7bb019ac28d6
|
||||
React-RCTNetwork: 783ee2f430740e58f724e46adc79fe7feff64202
|
||||
React-RCTSettings: aa28315aadfbfaf94206d865673ae509f1e97c07
|
||||
React-RCTText: 685fca2e13b024271048e7e247ef24476f28a41e
|
||||
React-RCTVibration: 4ee1cf208ab17a50fafb1c16ffe28fe594a64e4f
|
||||
React-RCTWebSocket: fca087d583724aa0e5fef7d911f0f2a28d0f2736
|
||||
RNInAppBrowser: 0800f17fd7ed9fc503eb68e427befebb41ee719b
|
||||
yoga: 616fde658be980aa60a2158835170f3f9c2d04b4
|
||||
OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355
|
||||
RCTRequired: e291538a455f5ad1afc2139a4288990be0cadd46
|
||||
RCTTypeSafety: 8b6237185765dd9a03a3647807e08864105b1f95
|
||||
React: 7b33e15fab929c47ac9c3c94c409258b13cfe452
|
||||
React-Core: 9a164d53492e2d8a84e7acf87988253dff09cf93
|
||||
React-CoreModules: 9aba468d44532cbc301e1323a62b3d796c69c26d
|
||||
React-cxxreact: 1eed6bc2a4f8e25910994b5dfca1acf1878b25c7
|
||||
React-jsi: 600d8e42510c3254fd2abd702f4b9d3f598d8f52
|
||||
React-jsiexecutor: e9698dee4fd43ceb44832baf15d5745f455b0157
|
||||
React-jsinspector: f74a62727e5604119abd4a1eda52c0a12144bcd5
|
||||
React-RCTActionSheet: af8f28dd82fec89b8fe29637b8c779829e016a88
|
||||
React-RCTAnimation: 0d21fff7c20fb8ee41de5f2ebb63221127febd96
|
||||
React-RCTBlob: 9496bd93130b22069bfbc5d35e98653dae7c35c6
|
||||
React-RCTImage: a220d154ab3b92bc8a3d040651a21a047c5876b7
|
||||
React-RCTLinking: 07b694640ae4a43e25c0e3e54713345f9ef1a706
|
||||
React-RCTNetwork: 043479410782020c2081498b5766db136aea6fe9
|
||||
React-RCTSettings: 826bed85c8887cec143f561a27bb3044f28fbde4
|
||||
React-RCTText: 239e040f401505001327a109f9188a4e6dad1bd2
|
||||
React-RCTVibration: 072c3b427dd29e730c2ee5bfc509cf5054741a50
|
||||
ReactCommon: 3585806280c51d5c2c0d3aa5a99014c3badb629d
|
||||
RNInAppBrowser: c1a0dad2734458d79bcb6c8f4297ba8658a1da9f
|
||||
Yoga: 50fb6eb13d2152e7363293ff603385db380815b1
|
||||
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
|
||||
|
||||
PODFILE CHECKSUM: e6321daab2a139195c1bcaad4b674c568140b44a
|
||||
PODFILE CHECKSUM: a52de829a37f999f30e05cdcfceda802cd83620c
|
||||
|
||||
COCOAPODS: 1.8.0
|
||||
COCOAPODS: 1.7.5
|
||||
|
||||
@ -8,18 +8,18 @@
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
00E356F31AD99517003FC87E /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; };
|
||||
0EB9BAF7F795376C27199991 /* libPods-example-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7355F698DC982C14D10732E6 /* libPods-example-tvOSTests.a */; };
|
||||
13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
|
||||
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; };
|
||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
||||
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
||||
17CE312FE34A14259426923C /* libPods-exampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F6FD16DCBD4CCDE45189C5F /* libPods-exampleTests.a */; };
|
||||
2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
|
||||
2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
||||
2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
||||
2DCD954D1E0B4F2C00145EB5 /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; };
|
||||
7DDBC4C3A101FCB96D3C2F63 /* libPods-example-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22E138ED60A890F0679259DD /* libPods-example-tvOS.a */; };
|
||||
86C2A96807F124389903DAB8 /* libPods-example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EFA27625BE97B0228F4CF6E /* libPods-example.a */; };
|
||||
96E771CB6D0F7AA1AC122A19 /* libPods-example-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AA1FA33F69A4B07B2B079C1 /* libPods-example-tvOSTests.a */; };
|
||||
7D62270117F48E841AE2BF81 /* libPods-example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A098E3B870ADDE33AA51CBB /* libPods-example.a */; };
|
||||
B12A999FF5682F7D97E1DE9F /* libPods-example-exampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 87D842F0CBD262B91ACFA442 /* libPods-example-exampleTests.a */; };
|
||||
C1E62C9C18215100A31DB417 /* libPods-example-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D64AC2E20BEE20BA27282C87 /* libPods-example-tvOS.a */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@ -51,22 +51,22 @@
|
||||
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = example/Images.xcassets; sourceTree = "<group>"; };
|
||||
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = example/Info.plist; sourceTree = "<group>"; };
|
||||
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = example/main.m; sourceTree = "<group>"; };
|
||||
14B4ED99DBDBDB0B895B78F4 /* Pods-example-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOS.release.xcconfig"; path = "Target Support Files/Pods-example-tvOS/Pods-example-tvOS.release.xcconfig"; sourceTree = "<group>"; };
|
||||
22E138ED60A890F0679259DD /* libPods-example-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
2AA1FA33F69A4B07B2B079C1 /* libPods-example-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
2AE904E0D3B9FCB60F5E7058 /* Pods-example-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-example-tvOS/Pods-example-tvOS.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
1EC78F5E6EED51C2FA4F7EF7 /* Pods-example-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-example-tvOS/Pods-example-tvOS.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "example-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "example-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4CB4FD962E67204C3BC05AA4 /* Pods-exampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-exampleTests.debug.xcconfig"; path = "Target Support Files/Pods-exampleTests/Pods-exampleTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
4EFA27625BE97B0228F4CF6E /* libPods-example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
704A0276314575E55873D5A1 /* Pods-example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.release.xcconfig"; path = "Target Support Files/Pods-example/Pods-example.release.xcconfig"; sourceTree = "<group>"; };
|
||||
7F6FD16DCBD4CCDE45189C5F /* libPods-exampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-exampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
CCCE650503E6765A6EC2738E /* Pods-example-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-example-tvOSTests/Pods-example-tvOSTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
D0C291082240FB899337A194 /* Pods-example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.debug.xcconfig"; path = "Target Support Files/Pods-example/Pods-example.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
E34BACC614E4363D9B32A351 /* Pods-example-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-example-tvOSTests/Pods-example-tvOSTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
32241824BD6ACEC7DE2BC988 /* Pods-example-exampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-exampleTests.debug.xcconfig"; path = "Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
43A149F197D9197271FDAD1B /* Pods-example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.debug.xcconfig"; path = "Target Support Files/Pods-example/Pods-example.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
5A098E3B870ADDE33AA51CBB /* libPods-example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
6F57D5D308BE757D0FC307C7 /* Pods-example-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-example-tvOSTests/Pods-example-tvOSTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
7355F698DC982C14D10732E6 /* libPods-example-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
831E0409B3F75141484866A8 /* Pods-example-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOS.release.xcconfig"; path = "Target Support Files/Pods-example-tvOS/Pods-example-tvOS.release.xcconfig"; sourceTree = "<group>"; };
|
||||
84C2A7E39E9D94741383CC4E /* Pods-example-exampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-exampleTests.release.xcconfig"; path = "Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
87D842F0CBD262B91ACFA442 /* libPods-example-exampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-exampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
A4F11FB608D69BB5302A8A59 /* Pods-example-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-example-tvOSTests/Pods-example-tvOSTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
AEF31AAA2F328E01EEBA1164 /* Pods-example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.release.xcconfig"; path = "Target Support Files/Pods-example/Pods-example.release.xcconfig"; sourceTree = "<group>"; };
|
||||
D64AC2E20BEE20BA27282C87 /* libPods-example-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
||||
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
|
||||
FDC73B3C33CC809B3AC40476 /* Pods-exampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-exampleTests.release.xcconfig"; path = "Target Support Files/Pods-exampleTests/Pods-exampleTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@ -74,7 +74,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
17CE312FE34A14259426923C /* libPods-exampleTests.a in Frameworks */,
|
||||
B12A999FF5682F7D97E1DE9F /* libPods-example-exampleTests.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -82,7 +82,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
86C2A96807F124389903DAB8 /* libPods-example.a in Frameworks */,
|
||||
7D62270117F48E841AE2BF81 /* libPods-example.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -90,7 +90,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
7DDBC4C3A101FCB96D3C2F63 /* libPods-example-tvOS.a in Frameworks */,
|
||||
C1E62C9C18215100A31DB417 /* libPods-example-tvOS.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -98,7 +98,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
96E771CB6D0F7AA1AC122A19 /* libPods-example-tvOSTests.a in Frameworks */,
|
||||
0EB9BAF7F795376C27199991 /* libPods-example-tvOSTests.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -122,6 +122,22 @@
|
||||
name = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
12E4A23155E0C60C4AED3BF2 /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
43A149F197D9197271FDAD1B /* Pods-example.debug.xcconfig */,
|
||||
AEF31AAA2F328E01EEBA1164 /* Pods-example.release.xcconfig */,
|
||||
32241824BD6ACEC7DE2BC988 /* Pods-example-exampleTests.debug.xcconfig */,
|
||||
84C2A7E39E9D94741383CC4E /* Pods-example-exampleTests.release.xcconfig */,
|
||||
1EC78F5E6EED51C2FA4F7EF7 /* Pods-example-tvOS.debug.xcconfig */,
|
||||
831E0409B3F75141484866A8 /* Pods-example-tvOS.release.xcconfig */,
|
||||
6F57D5D308BE757D0FC307C7 /* Pods-example-tvOSTests.debug.xcconfig */,
|
||||
A4F11FB608D69BB5302A8A59 /* Pods-example-tvOSTests.release.xcconfig */,
|
||||
);
|
||||
name = Pods;
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
13B07FAE1A68108700A75B9A /* example */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -141,29 +157,14 @@
|
||||
children = (
|
||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
|
||||
ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
|
||||
4EFA27625BE97B0228F4CF6E /* libPods-example.a */,
|
||||
22E138ED60A890F0679259DD /* libPods-example-tvOS.a */,
|
||||
2AA1FA33F69A4B07B2B079C1 /* libPods-example-tvOSTests.a */,
|
||||
7F6FD16DCBD4CCDE45189C5F /* libPods-exampleTests.a */,
|
||||
5A098E3B870ADDE33AA51CBB /* libPods-example.a */,
|
||||
87D842F0CBD262B91ACFA442 /* libPods-example-exampleTests.a */,
|
||||
D64AC2E20BEE20BA27282C87 /* libPods-example-tvOS.a */,
|
||||
7355F698DC982C14D10732E6 /* libPods-example-tvOSTests.a */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
369A97B1D93E2DAAC5078E2F /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D0C291082240FB899337A194 /* Pods-example.debug.xcconfig */,
|
||||
704A0276314575E55873D5A1 /* Pods-example.release.xcconfig */,
|
||||
2AE904E0D3B9FCB60F5E7058 /* Pods-example-tvOS.debug.xcconfig */,
|
||||
14B4ED99DBDBDB0B895B78F4 /* Pods-example-tvOS.release.xcconfig */,
|
||||
E34BACC614E4363D9B32A351 /* Pods-example-tvOSTests.debug.xcconfig */,
|
||||
CCCE650503E6765A6EC2738E /* Pods-example-tvOSTests.release.xcconfig */,
|
||||
4CB4FD962E67204C3BC05AA4 /* Pods-exampleTests.debug.xcconfig */,
|
||||
FDC73B3C33CC809B3AC40476 /* Pods-exampleTests.release.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
832341AE1AAA6A7D00B99B32 /* Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -179,7 +180,7 @@
|
||||
00E356EF1AD99517003FC87E /* exampleTests */,
|
||||
83CBBA001A601CBA00E9B192 /* Products */,
|
||||
2D16E6871FA4F8E400B85C8A /* Frameworks */,
|
||||
369A97B1D93E2DAAC5078E2F /* Pods */,
|
||||
12E4A23155E0C60C4AED3BF2 /* Pods */,
|
||||
);
|
||||
indentWidth = 2;
|
||||
sourceTree = "<group>";
|
||||
@ -204,7 +205,7 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */;
|
||||
buildPhases = (
|
||||
7A2D19DA610EF7E695070128 /* [CP] Check Pods Manifest.lock */,
|
||||
8678D1065BD88CEE07E817C7 /* [CP] Check Pods Manifest.lock */,
|
||||
00E356EA1AD99517003FC87E /* Sources */,
|
||||
00E356EB1AD99517003FC87E /* Frameworks */,
|
||||
00E356EC1AD99517003FC87E /* Resources */,
|
||||
@ -223,7 +224,7 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */;
|
||||
buildPhases = (
|
||||
48E18988509FF3AEABC9910E /* [CP] Check Pods Manifest.lock */,
|
||||
18CE8903A213E901AAE9A4D2 /* [CP] Check Pods Manifest.lock */,
|
||||
FD10A7F022414F080027D42C /* Start Packager */,
|
||||
13B07F871A680F5B00A75B9A /* Sources */,
|
||||
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
||||
@ -243,7 +244,7 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOS" */;
|
||||
buildPhases = (
|
||||
12637EBEFF9EF9FB34002A28 /* [CP] Check Pods Manifest.lock */,
|
||||
4A4007CEC10EBD779E56638E /* [CP] Check Pods Manifest.lock */,
|
||||
FD10A7F122414F3F0027D42C /* Start Packager */,
|
||||
2D02E4771E0B4A5D006451C7 /* Sources */,
|
||||
2D02E4781E0B4A5D006451C7 /* Frameworks */,
|
||||
@ -263,7 +264,7 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOSTests" */;
|
||||
buildPhases = (
|
||||
D7B42D60DEC2ED28C7256293 /* [CP] Check Pods Manifest.lock */,
|
||||
A8A48758899F2E64ED25F093 /* [CP] Check Pods Manifest.lock */,
|
||||
2D02E48C1E0B4A5D006451C7 /* Sources */,
|
||||
2D02E48D1E0B4A5D006451C7 /* Frameworks */,
|
||||
2D02E48E1E0B4A5D006451C7 /* Resources */,
|
||||
@ -284,15 +285,14 @@
|
||||
83CBB9F71A601CBA00E9B192 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0940;
|
||||
ORGANIZATIONNAME = Facebook;
|
||||
LastUpgradeCheck = 1130;
|
||||
TargetAttributes = {
|
||||
00E356ED1AD99517003FC87E = {
|
||||
CreatedOnToolsVersion = 6.2;
|
||||
TestTargetID = 13B07F861A680F5B00A75B9A;
|
||||
};
|
||||
13B07F861A680F5B00A75B9A = {
|
||||
DevelopmentTeam = N8PGQE7K5F;
|
||||
LastSwiftMigration = 1120;
|
||||
};
|
||||
2D02E47A1E0B4A5D006451C7 = {
|
||||
CreatedOnToolsVersion = 8.2.1;
|
||||
@ -307,10 +307,9 @@
|
||||
};
|
||||
buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "example" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
English,
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
@ -376,43 +375,7 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
|
||||
};
|
||||
12637EBEFF9EF9FB34002A28 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-example-tvOS-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Bundle React Native Code And Images";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
|
||||
};
|
||||
48E18988509FF3AEABC9910E /* [CP] Check Pods Manifest.lock */ = {
|
||||
18CE8903A213E901AAE9A4D2 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@ -434,7 +397,21 @@
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
7A2D19DA610EF7E695070128 /* [CP] Check Pods Manifest.lock */ = {
|
||||
2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Bundle React Native Code And Images";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
|
||||
};
|
||||
4A4007CEC10EBD779E56638E /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@ -449,14 +426,36 @@
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-exampleTests-checkManifestLockResult.txt",
|
||||
"$(DERIVED_FILE_DIR)/Pods-example-tvOS-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
D7B42D60DEC2ED28C7256293 /* [CP] Check Pods Manifest.lock */ = {
|
||||
8678D1065BD88CEE07E817C7 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-example-exampleTests-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
A8A48758899F2E64ED25F093 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@ -583,7 +582,7 @@
|
||||
/* Begin XCBuildConfiguration section */
|
||||
00E356F61AD99517003FC87E /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 4CB4FD962E67204C3BC05AA4 /* Pods-exampleTests.debug.xcconfig */;
|
||||
baseConfigurationReference = 32241824BD6ACEC7DE2BC988 /* Pods-example-exampleTests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
@ -606,7 +605,7 @@
|
||||
};
|
||||
00E356F71AD99517003FC87E /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FDC73B3C33CC809B3AC40476 /* Pods-exampleTests.release.xcconfig */;
|
||||
baseConfigurationReference = 84C2A7E39E9D94741383CC4E /* Pods-example-exampleTests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
@ -626,12 +625,16 @@
|
||||
};
|
||||
13B07F941A680F5B00A75B9A /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = D0C291082240FB899337A194 /* Pods-example.debug.xcconfig */;
|
||||
baseConfigurationReference = 43A149F197D9197271FDAD1B /* Pods-example.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEAD_CODE_STRIPPING = NO;
|
||||
DEVELOPMENT_TEAM = N8PGQE7K5F;
|
||||
ENABLE_BITCODE = NO;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"$(inherited)",
|
||||
"FB_SONARKIT_ENABLED=1",
|
||||
);
|
||||
INFOPLIST_FILE = example/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
OTHER_LDFLAGS = (
|
||||
@ -641,17 +644,19 @@
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = example;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 5.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
13B07F951A680F5B00A75B9A /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 704A0276314575E55873D5A1 /* Pods-example.release.xcconfig */;
|
||||
baseConfigurationReference = AEF31AAA2F328E01EEBA1164 /* Pods-example.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEVELOPMENT_TEAM = N8PGQE7K5F;
|
||||
INFOPLIST_FILE = example/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
OTHER_LDFLAGS = (
|
||||
@ -661,13 +666,14 @@
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = example;
|
||||
SWIFT_VERSION = 5.0;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
2D02E4971E0B4A5E006451C7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 2AE904E0D3B9FCB60F5E7058 /* Pods-example-tvOS.debug.xcconfig */;
|
||||
baseConfigurationReference = 1EC78F5E6EED51C2FA4F7EF7 /* Pods-example-tvOS.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
@ -685,7 +691,7 @@
|
||||
"-ObjC",
|
||||
"-lc++",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOS";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.example-tvOS";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = appletvos;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
@ -695,7 +701,7 @@
|
||||
};
|
||||
2D02E4981E0B4A5E006451C7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 14B4ED99DBDBDB0B895B78F4 /* Pods-example-tvOS.release.xcconfig */;
|
||||
baseConfigurationReference = 831E0409B3F75141484866A8 /* Pods-example-tvOS.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
@ -713,7 +719,7 @@
|
||||
"-ObjC",
|
||||
"-lc++",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOS";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.example-tvOS";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = appletvos;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
@ -723,7 +729,7 @@
|
||||
};
|
||||
2D02E4991E0B4A5E006451C7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = E34BACC614E4363D9B32A351 /* Pods-example-tvOSTests.debug.xcconfig */;
|
||||
baseConfigurationReference = 6F57D5D308BE757D0FC307C7 /* Pods-example-tvOSTests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
@ -740,7 +746,7 @@
|
||||
"-ObjC",
|
||||
"-lc++",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOSTests";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.example-tvOSTests";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = appletvos;
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example-tvOS.app/example-tvOS";
|
||||
@ -750,7 +756,7 @@
|
||||
};
|
||||
2D02E49A1E0B4A5E006451C7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = CCCE650503E6765A6EC2738E /* Pods-example-tvOSTests.release.xcconfig */;
|
||||
baseConfigurationReference = A4F11FB608D69BB5302A8A59 /* Pods-example-tvOSTests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
@ -767,7 +773,7 @@
|
||||
"-ObjC",
|
||||
"-lc++",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOSTests";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.example-tvOSTests";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = appletvos;
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example-tvOS.app/example-tvOS";
|
||||
@ -779,6 +785,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@ -822,6 +829,12 @@
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
|
||||
"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"",
|
||||
"\"$(inherited)\"",
|
||||
);
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
@ -832,6 +845,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
@ -868,6 +882,12 @@
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
|
||||
"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"",
|
||||
"\"$(inherited)\"",
|
||||
);
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
|
||||
@ -1,25 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0940"
|
||||
LastUpgradeVersion = "1130"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "NO"
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "2D2A28121D9B038B00D4039D"
|
||||
BuildableName = "libReact.a"
|
||||
BlueprintName = "React-tvOS"
|
||||
ReferencedContainer = "container:../node_modules/react-native/React/React.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
@ -34,20 +20,6 @@
|
||||
ReferencedContainer = "container:example.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "NO"
|
||||
buildForArchiving = "NO"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "2D02E48F1E0B4A5D006451C7"
|
||||
BuildableName = "example-tvOSTests.xctest"
|
||||
BlueprintName = "example-tvOSTests"
|
||||
ReferencedContainer = "container:example.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
@ -67,17 +39,6 @@
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7"
|
||||
BuildableName = "example-tvOS.app"
|
||||
BlueprintName = "example-tvOS"
|
||||
ReferencedContainer = "container:example.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
@ -99,8 +60,6 @@
|
||||
ReferencedContainer = "container:example.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
|
||||
@ -1,25 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0940"
|
||||
LastUpgradeVersion = "1130"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "NO"
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "83CBBA2D1A601D0E00E9B192"
|
||||
BuildableName = "libReact.a"
|
||||
BlueprintName = "React"
|
||||
ReferencedContainer = "container:../node_modules/react-native/React/React.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
@ -34,20 +20,6 @@
|
||||
ReferencedContainer = "container:example.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "NO"
|
||||
buildForArchiving = "NO"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "00E356ED1AD99517003FC87E"
|
||||
BuildableName = "exampleTests.xctest"
|
||||
BlueprintName = "exampleTests"
|
||||
ReferencedContainer = "container:example.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
@ -67,17 +39,6 @@
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
|
||||
BuildableName = "example.app"
|
||||
BlueprintName = "example"
|
||||
ReferencedContainer = "container:example.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
@ -99,8 +60,6 @@
|
||||
ReferencedContainer = "container:example.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@ -1,10 +1,3 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#import <React/RCTBridgeDelegate.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
@ -1,20 +1,36 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#import "AppDelegate.h"
|
||||
|
||||
#import <React/RCTBridge.h>
|
||||
#import <React/RCTBundleURLProvider.h>
|
||||
#import <React/RCTRootView.h>
|
||||
|
||||
#if DEBUG
|
||||
#import <FlipperKit/FlipperClient.h>
|
||||
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
|
||||
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
|
||||
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
|
||||
#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
|
||||
#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h>
|
||||
|
||||
static void InitializeFlipper(UIApplication *application) {
|
||||
FlipperClient *client = [FlipperClient sharedClient];
|
||||
SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults];
|
||||
[client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]];
|
||||
[client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]];
|
||||
[client addPlugin:[FlipperKitReactPlugin new]];
|
||||
[client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]];
|
||||
[client start];
|
||||
}
|
||||
#endif
|
||||
|
||||
@implementation AppDelegate
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
||||
{
|
||||
#if DEBUG
|
||||
InitializeFlipper(application);
|
||||
#endif
|
||||
|
||||
RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
|
||||
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
|
||||
moduleName:@"example"
|
||||
|
||||
@ -1,12 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7702" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7701"/>
|
||||
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
@ -28,7 +25,7 @@
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
|
||||
<constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
|
||||
|
||||
@ -1,10 +1,3 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "AppDelegate.h"
|
||||
|
||||
@ -1,10 +1,3 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
@ -12,7 +5,7 @@
|
||||
#import <React/RCTRootView.h>
|
||||
|
||||
#define TIMEOUT_SECONDS 600
|
||||
#define TEXT_TO_LOOK_FOR @"Welcome to React Native!"
|
||||
#define TEXT_TO_LOOK_FOR @"Welcome to React"
|
||||
|
||||
@interface exampleTests : XCTestCase
|
||||
|
||||
@ -40,11 +33,13 @@
|
||||
BOOL foundElement = NO;
|
||||
|
||||
__block NSString *redboxError = nil;
|
||||
#ifdef DEBUG
|
||||
RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) {
|
||||
if (level >= RCTLogLevelError) {
|
||||
redboxError = message;
|
||||
}
|
||||
});
|
||||
#endif
|
||||
|
||||
while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) {
|
||||
[[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
|
||||
@ -58,7 +53,9 @@
|
||||
}];
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
RCTSetLogFunction(RCTDefaultLogFunction);
|
||||
#endif
|
||||
|
||||
XCTAssertNil(redboxError, @"RedBox error: %@", redboxError);
|
||||
XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS);
|
||||
|
||||
@ -3,30 +3,30 @@
|
||||
"version": "0.0.1",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"android": "react-native run-android",
|
||||
"ios": "react-native run-ios",
|
||||
"start": "react-native start",
|
||||
"test": "jest",
|
||||
"lint": "eslint App.js",
|
||||
"ios": "react-native run-ios",
|
||||
"android": "npx react-native run-android",
|
||||
"lint": "eslint .",
|
||||
"bundle": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res",
|
||||
"clean": "rm -rf $TMPDIR/react-* && watchman watch-del-all && npm cache clean --force",
|
||||
"clean:android": "cd android && ./gradlew clean && cd ..",
|
||||
"clean:ios": "cd ios && pod cache clean --all;rm -rf ~/Library/Caches/CocoaPods; rm -rf Pods; rm -rf ~/Library/Developer/Xcode/DerivedData/*; pod deintegrate; pod setup; pod install;"
|
||||
},
|
||||
"dependencies": {
|
||||
"react": "16.8.6",
|
||||
"react-native": "0.60.0",
|
||||
"react": "16.11.0",
|
||||
"react-native": "0.62.1",
|
||||
"react-native-inappbrowser-reborn": "file:.."
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.5.0",
|
||||
"@babel/runtime": "^7.5.1",
|
||||
"@react-native-community/eslint-config": "^0.0.5",
|
||||
"babel-jest": "^24.8.0",
|
||||
"eslint": "^6.0.1",
|
||||
"jest": "^24.8.0",
|
||||
"metro-react-native-babel-preset": "^0.55.0",
|
||||
"react-test-renderer": "16.8.6"
|
||||
"@babel/core": "^7.9.0",
|
||||
"@babel/runtime": "^7.9.2",
|
||||
"@react-native-community/eslint-config": "^1.0.0",
|
||||
"babel-jest": "^25.2.6",
|
||||
"eslint": "^6.8.0",
|
||||
"jest": "^25.2.7",
|
||||
"metro-react-native-babel-preset": "^0.59.0",
|
||||
"react-test-renderer": "16.11.0"
|
||||
},
|
||||
"jest": {
|
||||
"preset": "react-native"
|
||||
|
||||
4572
example/yarn.lock
3
index.d.ts
vendored
@ -35,7 +35,8 @@ declare module 'react-native-inappbrowser-reborn' {
|
||||
| 'crossDissolve'
|
||||
| 'partialCurl',
|
||||
modalEnabled?: boolean,
|
||||
enableBarCollapsing?: boolean
|
||||
enableBarCollapsing?: boolean,
|
||||
ephemeralWebSession?: boolean
|
||||
}
|
||||
|
||||
type InAppBrowserAndroidOptions = {
|
||||
|
||||
66
index.js
@ -1,4 +1,10 @@
|
||||
// @flow
|
||||
/**
|
||||
* InAppBrowser for React Native
|
||||
* https://github.com/proyecto26/react-native-inappbrowser
|
||||
*
|
||||
* @format
|
||||
* @flow strict-local
|
||||
*/
|
||||
|
||||
import invariant from 'invariant';
|
||||
import {
|
||||
@ -7,22 +13,22 @@ import {
|
||||
Platform,
|
||||
processColor,
|
||||
AppState,
|
||||
AppStateStatus
|
||||
AppStateStatus,
|
||||
} from 'react-native';
|
||||
|
||||
const { RNInAppBrowser } = NativeModules;
|
||||
|
||||
type RedirectEvent = {
|
||||
url: 'string'
|
||||
url: 'string',
|
||||
};
|
||||
|
||||
type BrowserResult = {
|
||||
type: 'cancel' | 'dismiss'
|
||||
type: 'cancel' | 'dismiss',
|
||||
};
|
||||
|
||||
type RedirectResult = {
|
||||
type: 'success',
|
||||
url: string
|
||||
url: string,
|
||||
};
|
||||
|
||||
type InAppBrowseriOSOptions = {
|
||||
@ -48,7 +54,8 @@ type InAppBrowseriOSOptions = {
|
||||
| 'crossDissolve'
|
||||
| 'partialCurl',
|
||||
modalEnabled?: boolean,
|
||||
enableBarCollapsing?: boolean
|
||||
enableBarCollapsing?: boolean,
|
||||
ephemeralWebSession?: boolean,
|
||||
};
|
||||
|
||||
type InAppBrowserAndroidOptions = {
|
||||
@ -62,9 +69,9 @@ type InAppBrowserAndroidOptions = {
|
||||
startEnter: string,
|
||||
startExit: string,
|
||||
endEnter: string,
|
||||
endExit: string
|
||||
endExit: string,
|
||||
},
|
||||
headers?: { [key: string]: string }
|
||||
headers?: { [key: string]: string },
|
||||
};
|
||||
|
||||
type InAppBrowserOptions = InAppBrowserAndroidOptions | InAppBrowseriOSOptions;
|
||||
@ -87,7 +94,7 @@ async function open(
|
||||
processColor(options.preferredBarTintColor),
|
||||
preferredControlTintColor:
|
||||
options.preferredControlTintColor &&
|
||||
processColor(options.preferredControlTintColor)
|
||||
processColor(options.preferredControlTintColor),
|
||||
};
|
||||
return RNInAppBrowser.open(inAppBrowserOptions);
|
||||
}
|
||||
@ -103,18 +110,27 @@ async function openAuth(
|
||||
redirectUrl: string,
|
||||
options: InAppBrowserOptions = {}
|
||||
): Promise<AuthSessionResult> {
|
||||
const inAppBrowserOptions = {
|
||||
...options,
|
||||
ephemeralWebSession:
|
||||
options.ephemeralWebSession !== undefined
|
||||
? options.ephemeralWebSession
|
||||
: false,
|
||||
};
|
||||
|
||||
if (_authSessionIsNativelySupported()) {
|
||||
return RNInAppBrowser.openAuth(url, redirectUrl);
|
||||
return RNInAppBrowser.openAuth(url, redirectUrl, inAppBrowserOptions);
|
||||
} else {
|
||||
return _openAuthSessionPolyfillAsync(url, redirectUrl, options);
|
||||
return _openAuthSessionPolyfillAsync(url, redirectUrl, inAppBrowserOptions);
|
||||
}
|
||||
}
|
||||
|
||||
function closeAuth(): void {
|
||||
closeAuthSessionPolyfillAsync();
|
||||
if (_authSessionIsNativelySupported()) {
|
||||
RNInAppBrowser.closeAuth();
|
||||
} else {
|
||||
RNInAppBrowser.close();
|
||||
close();
|
||||
}
|
||||
}
|
||||
|
||||
@ -130,6 +146,13 @@ function _authSessionIsNativelySupported() {
|
||||
|
||||
let _redirectHandler: ?(event: RedirectEvent) => void;
|
||||
|
||||
function closeAuthSessionPolyfillAsync(): void {
|
||||
if (_redirectHandler) {
|
||||
Linking.removeEventListener('url', _redirectHandler);
|
||||
_redirectHandler = null;
|
||||
}
|
||||
}
|
||||
|
||||
async function _openAuthSessionPolyfillAsync(
|
||||
startUrl: string,
|
||||
returnUrl: string,
|
||||
@ -143,20 +166,19 @@ async function _openAuthSessionPolyfillAsync(
|
||||
try {
|
||||
response = await Promise.race([
|
||||
_waitForRedirectAsync(returnUrl),
|
||||
open(startUrl, options).then(function(result) {
|
||||
open(startUrl, options).then(function (result) {
|
||||
return _checkResultAndReturnUrl(returnUrl, result);
|
||||
})
|
||||
}),
|
||||
]);
|
||||
} finally {
|
||||
closeAuthSessionPolyfillAsync();
|
||||
close();
|
||||
Linking.removeEventListener('url', _redirectHandler);
|
||||
_redirectHandler = null;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
function _waitForRedirectAsync(returnUrl: string): Promise<RedirectResult> {
|
||||
return new Promise(resolve => {
|
||||
return new Promise(function (resolve) {
|
||||
_redirectHandler = (event: RedirectEvent) => {
|
||||
if (event.url && event.url.startsWith(returnUrl)) {
|
||||
resolve({ url: event.url, type: 'success' });
|
||||
@ -171,7 +193,7 @@ function _waitForRedirectAsync(returnUrl: string): Promise<RedirectResult> {
|
||||
* Detect Android Activity `OnResume` event once
|
||||
*/
|
||||
function AppStateActiveOnce(): Promise<void> {
|
||||
return new Promise(function(resolve) {
|
||||
return new Promise(function (resolve) {
|
||||
function _handleAppStateChange(nextAppState: AppStateStatus) {
|
||||
if (nextAppState === 'active') {
|
||||
AppState.removeEventListener('change', _handleAppStateChange);
|
||||
@ -202,11 +224,7 @@ async function _checkResultAndReturnUrl(
|
||||
}
|
||||
|
||||
async function isAvailable(): Promise<boolean> {
|
||||
if (Platform.OS === 'android') {
|
||||
return Promise.resolve(true);
|
||||
} else {
|
||||
return RNInAppBrowser.isAvailable();
|
||||
}
|
||||
return RNInAppBrowser.isAvailable();
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -214,5 +232,5 @@ export default {
|
||||
openAuth,
|
||||
close,
|
||||
closeAuth,
|
||||
isAvailable
|
||||
isAvailable,
|
||||
};
|
||||
|
||||
@ -59,6 +59,7 @@ RCT_EXPORT_MODULE();
|
||||
|
||||
RCT_EXPORT_METHOD(openAuth:(NSString *)authURL
|
||||
redirectURL:(NSString *)redirectURL
|
||||
options:(NSDictionary *)options
|
||||
resolver:(RCTPromiseResolveBlock)resolve
|
||||
rejecter:(RCTPromiseRejectBlock)reject)
|
||||
{
|
||||
@ -66,6 +67,8 @@ RCT_EXPORT_METHOD(openAuth:(NSString *)authURL
|
||||
return;
|
||||
}
|
||||
|
||||
BOOL ephemeralWebSession = [options[@"ephemeralWebSession"] boolValue];
|
||||
|
||||
if (@available(iOS 11, *)) {
|
||||
NSURL *url = [[NSURL alloc] initWithString: authURL];
|
||||
__weak typeof(self) weakSelf = self;
|
||||
@ -103,6 +106,10 @@ RCT_EXPORT_METHOD(openAuth:(NSString *)authURL
|
||||
#pragma clang diagnostic ignored "-Wpartial-availability"
|
||||
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_13_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0
|
||||
if (@available(iOS 13.0, *)) {
|
||||
if (ephemeralWebSession) {
|
||||
//Prevent re-use cookie from last auth session
|
||||
webAuthSession.prefersEphemeralWebBrowserSession = true;
|
||||
}
|
||||
webAuthSession.presentationContextProvider = self;
|
||||
}
|
||||
#endif
|
||||
@ -279,9 +286,11 @@ RCT_EXPORT_METHOD(isAvailable:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromi
|
||||
*/
|
||||
- (void)safariViewControllerDidFinish:(SFSafariViewController *)controller
|
||||
{
|
||||
redirectResolve(@{
|
||||
@"type": @"cancel",
|
||||
});
|
||||
if (redirectResolve) {
|
||||
redirectResolve(@{
|
||||
@"type": @"cancel",
|
||||
});
|
||||
}
|
||||
[self flowDidFinish];
|
||||
if (!animated) {
|
||||
[self dismissWithoutAnimation:controller];
|
||||
|
||||
11
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "react-native-inappbrowser-reborn",
|
||||
"version": "3.3.4",
|
||||
"version": "3.4.0",
|
||||
"description": "InAppBrowser for React Native",
|
||||
"main": "index.js",
|
||||
"files": [
|
||||
@ -52,11 +52,12 @@
|
||||
"opencollective-postinstall": "^2.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@react-native-community/eslint-config": "0.0.5",
|
||||
"@react-native-community/eslint-config": "1.0.0",
|
||||
"babel-core": "^6.26.3",
|
||||
"eslint": "^6.6.0",
|
||||
"flow-bin": "^0.98.0",
|
||||
"react-native": ">=0.56"
|
||||
"eslint": "^6.8.0",
|
||||
"flow-bin": "^0.122.0",
|
||||
"react": "16.11.0",
|
||||
"react-native": "0.62.1"
|
||||
},
|
||||
"collective": {
|
||||
"type": "opencollective",
|
||||
|
||||