Compare commits
29 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
412704c854 | ||
|
|
7a3392de64 | ||
|
|
fa2d8e1763 | ||
|
|
06af3ec1d9 | ||
|
|
8925be3fbe | ||
|
|
fc4c157efb | ||
|
|
4d196bab90 | ||
|
|
9510899671 | ||
|
|
85911ad6c5 | ||
|
|
9bd02c60e4 | ||
|
|
da874e21d4 | ||
|
|
8efb8c35fe | ||
|
|
8fb42c8bf4 | ||
|
|
2d3f3bc117 | ||
|
|
a8f4e47146 | ||
|
|
6bbfb63429 | ||
|
|
e875d2e643 | ||
|
|
8534d8b721 | ||
|
|
fe2378f941 | ||
|
|
44e73896f8 | ||
|
|
a8d1d3df9f | ||
|
|
2892b39090 | ||
|
|
ff64125781 | ||
|
|
cee58efb08 | ||
|
|
6c6e908463 | ||
|
|
974a966cdf | ||
|
|
bb2b1fceb9 | ||
|
|
9df5d270f6 | ||
|
|
79bb1a7fa1 |
37
.flowconfig
37
.flowconfig
@ -31,39 +31,25 @@ 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/
|
||||
|
||||
[declarations]
|
||||
<PROJECT_ROOT>/node_modules
|
||||
|
||||
[options]
|
||||
emoji=true
|
||||
|
||||
esproposal.optional_chaining=enable
|
||||
esproposal.nullish_coalescing=enable
|
||||
exact_by_default=true
|
||||
|
||||
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='^react-native$' -> '<PROJECT_ROOT>/node_modules/react-native/index.js'
|
||||
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\)$' -> 'RelativeImageStub'
|
||||
|
||||
suppress_type=$FlowIssue
|
||||
@ -71,9 +57,7 @@ suppress_type=$FlowFixMe
|
||||
suppress_type=$FlowFixMeProps
|
||||
suppress_type=$FlowFixMeState
|
||||
|
||||
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)
|
||||
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)?:? #[0-9]+
|
||||
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError
|
||||
experimental.abstract_locations=true
|
||||
|
||||
[lints]
|
||||
sketchy-null-number=warn
|
||||
@ -83,19 +67,16 @@ untyped-type-import=warn
|
||||
nonstrict-import=warn
|
||||
deprecated-type=warn
|
||||
unsafe-getters-setters=warn
|
||||
inexact-spread=warn
|
||||
unnecessary-invariant=warn
|
||||
signature-verification-failure=warn
|
||||
deprecated-utility=error
|
||||
|
||||
[strict]
|
||||
deprecated-type
|
||||
nonstrict-import
|
||||
sketchy-null
|
||||
unclear-type
|
||||
unsafe-getters-setters
|
||||
untyped-import
|
||||
untyped-type-import
|
||||
|
||||
[version]
|
||||
^0.98.0
|
||||
^0.135.0
|
||||
@ -1 +1,4 @@
|
||||
.github/
|
||||
.vscode/
|
||||
example/
|
||||
img/
|
||||
|
||||
37
CHANGELOG.md
37
CHANGELOG.md
@ -22,14 +22,35 @@ in case of vulnerabilities.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [3.5.1] - 2020-10-16
|
||||
|
||||
### Fixed
|
||||
|
||||
- Removed `files` option from **package.json** to use `.npmignore` instead.
|
||||
- Added `hasBackButton` to **index.d.ts** for typescript by [@sharifhh](https://github.com/sharifhh) ([#200](https://github.com/proyecto26/react-native-inappbrowser/pull/200)).
|
||||
|
||||
## [3.5.0] - 2020-10-16
|
||||
|
||||
### Added
|
||||
- Added `hasBackButton` option to sets a back arrow instead of the default X icon to close the custom tab by [@aitorct](https://github.com/aitorct) ([#109](https://github.com/proyecto26/react-native-inappbrowser/pull/109)).
|
||||
- Added default browser configuration for custom tab if any by [@thuongtv-vn](https://github.com/thuongtv-vn) ([#177](https://github.com/proyecto26/react-native-inappbrowser/pull/177)).
|
||||
- Added `browserPackage` option to use a Package name of a browser to be used to handle Custom Tabs.
|
||||
- Added `showInRecents` option to determine whether browsed website should be shown as separate entry in Android recents/multitasking view.
|
||||
|
||||
### Fixed
|
||||
- Android `isAvailable` method checks **Custom Tab** support by [@aitorct](https://github.com/aitorct) ([#108](https://github.com/proyecto26/react-native-inappbrowser/pull/108)).
|
||||
- Added a null check for `redirectResolve` in `safariViewControllerDidFinish` by [@ssuchanowski](https://github.com/ssuchanowski) ([#160](https://github.com/proyecto26/react-native-inappbrowser/pull/160)).
|
||||
- Fixed **README** updating `modalPresentationStyle` to **fullscreen** by [@Thomazella](https://github.com/Thomazella) ([#161](https://github.com/proyecto26/react-native-inappbrowser/pull/161)).
|
||||
- Fixed `AppStateActiveOnce` event listener by [@logangouget](https://github.com/logangouget) ([#179](https://github.com/proyecto26/react-native-inappbrowser/pull/179)).
|
||||
|
||||
## [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)).
|
||||
- Added `@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.
|
||||
- Removed listener of `openAuth` when `closeAuth` is called.
|
||||
|
||||
## [3.3.4] - 2020-01-07
|
||||
|
||||
@ -39,7 +60,7 @@ in case of vulnerabilities.
|
||||
## [3.3.3] - 2019-11-25
|
||||
|
||||
### Fixed
|
||||
- Remove build warnings with **iOS** 13 using [Pragmas](https://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-via-pragmas).
|
||||
- Removed build warnings with **iOS** 13 using [Pragmas](https://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-via-pragmas).
|
||||
|
||||
## [3.3.2] - 2019-11-15
|
||||
|
||||
@ -91,7 +112,7 @@ in case of vulnerabilities.
|
||||
- Activating Open Collective ([#80](https://github.com/proyecto26/react-native-inappbrowser/pull/80)) and Create **CONTRIBUTING.md** to see how to contribute.
|
||||
- Added `animated`, `modalPresentationStyle` and `modalTransitionStyle` properties for iOS options ([86f7238](https://github.com/proyecto26/react-native-inappbrowser/commit/86f7238d8eb856b28fae9981ca7bb42b12c43e18)).
|
||||
- Present the **SafariViewController** modally or as push instead using the `modalEnabled` property ([4a0d57c](https://github.com/proyecto26/react-native-inappbrowser/commit/4a0d57c73eccaaf45a212853c50aa41520b550c8)).
|
||||
- Add workaround to dismiss **SafariViewController** without animation.
|
||||
- Added workaround to dismiss **SafariViewController** without animation.
|
||||
|
||||
### Removed
|
||||
- **com.facebook.infer.annotation** dependency is not required anymore to build for **Android** ([dcbfaef](https://github.com/proyecto26/react-native-inappbrowser/commit/dcbfaef49fa04fdabc281cd2c61124a11c6a7d29#diff-7ae5a9093507568eabbf35c3b0665732)).
|
||||
@ -115,7 +136,7 @@ in case of vulnerabilities.
|
||||
- README now contains the different options to open the browser.
|
||||
|
||||
### Fixed
|
||||
- Add `customTabsIntent.startAnimationBundle` when the `ChromeTabsManagerActivity` intent is created to fix **Android** animations by [@miktolon](https://github.com/miktolon) ([3f0cb35](https://github.com/proyecto26/react-native-inappbrowser/commit/3f0cb356733832a4578ebf1cb45377aa0d8d2806)).
|
||||
- Added `customTabsIntent.startAnimationBundle` when the `ChromeTabsManagerActivity` intent is created to fix **Android** animations by [@miktolon](https://github.com/miktolon) ([3f0cb35](https://github.com/proyecto26/react-native-inappbrowser/commit/3f0cb356733832a4578ebf1cb45377aa0d8d2806)).
|
||||
|
||||
### Changed
|
||||
- Using **Android** `AssertionError` instead of use `Assertion` lib of Facebook by [@SnaiNeR](https://github.com/SnaiNeR) ([e9a54d3](https://github.com/proyecto26/react-native-inappbrowser/commit/e9a54d3fe759380f992aa1ed7fbcf5d1299a7d73)).
|
||||
@ -146,7 +167,7 @@ Missing tags for previous versions 🤷♂
|
||||
- Include **supportLibVersion** definition to avoid collisions by [@maestor](https://github.com/maestor) ([332ceef](https://github.com/proyecto26/react-native-inappbrowser/commit/332ceefeba4e729237412954b8b941654263bfbd)).
|
||||
- Fix the repository URL for podspec file by [@adammcarth](https://github.com/adammcarth) ([7e4038c](https://github.com/proyecto26/react-native-inappbrowser/commit/7e4038c19a7e1a44ab01e9dcd762709ab854eb85)).
|
||||
- Provide example how to restore old status bar style by [@MrLoh](https://github.com/MrLoh) ([8cb9e75](https://github.com/proyecto26/react-native-inappbrowser/commit/8cb9e7535a3edb0d9919eab7813bf5f136f455ff)).
|
||||
- Add `com.facebook.infer.annotation` dependecy to fix build error by [Artem Emelyanov](mailto:snainer@gmail.com) ([80ff313](https://github.com/proyecto26/react-native-inappbrowser/commit/80ff313c36911d4d82d2885ad8424d7f0f72de29)).
|
||||
- Added `com.facebook.infer.annotation` dependecy to fix build error by [Artem Emelyanov](mailto:snainer@gmail.com) ([80ff313](https://github.com/proyecto26/react-native-inappbrowser/commit/80ff313c36911d4d82d2885ad8424d7f0f72de29)).
|
||||
- Clear `mOpenBrowserPromise` after sending a cancel by [@rbscott](https://github.com/rbscott) ([d9cc2a3](https://github.com/proyecto26/react-native-inappbrowser/commit/d9cc2a3183f84790deb22bf01f4f7658d67bc8ca)).
|
||||
- Fix README to import native package in `MainApplication` instead of `MainActivity` by [@mammad2c](https://github.com/mammad2c) ([ce3f5a9](https://github.com/proyecto26/react-native-inappbrowser/commit/ce3f5a93812a1a2dd7293092bb4a2972f4943268)).
|
||||
- Update the `isAvailable` method to return a boolean instead by [@kikketer](https://github.com/kikketer) ([1d75810](https://github.com/proyecto26/react-native-inappbrowser/commit/1d75810881cc6fd5a6913fbef986f897d366cdb9)).
|
||||
@ -154,7 +175,9 @@ 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.4.0...HEAD
|
||||
[Unreleased]: https://github.com/proyecto26/react-native-inappbrowser/compare/v3.5.1...HEAD
|
||||
[3.5.1]: https://github.com/proyecto26/react-native-inappbrowser/compare/v3.5.0...v3.5.1
|
||||
[3.5.0]: https://github.com/proyecto26/react-native-inappbrowser/compare/v3.4.0...v3.5.0
|
||||
[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
|
||||
|
||||
21
README.md
21
README.md
@ -26,12 +26,21 @@
|
||||
</p>
|
||||
|
||||
<h1 align="center">InAppBrowser for React Native</h1>
|
||||
<h3 align="center">Provides access to the system's web browser and supports handling redirects</h3>
|
||||
<h4 align="center"><a href="https://developer.chrome.com/multidevice/android/customtabs#whatarethey">Chrome Custom Tabs</a> for Android & <a href="https://developer.apple.com/documentation/safariservices">SafariServices</a>/<a href="https://developer.apple.com/documentation/authenticationservices">AuthenticationServices</a> for iOS.</h4>
|
||||
|
||||
<p align="center">
|
||||
<img width="400px" src="img/inappbrowser.png">
|
||||
<img width="400px" src="https://github.com/proyecto26/react-native-inappbrowser/blob/main/img/inappbrowser.png?raw=true">
|
||||
</p>
|
||||
|
||||
## Demo
|
||||
|
||||
Do you want to see this package in action? Check these awesome projects, yay! 🎉
|
||||
- [MyApp](https://github.com/proyecto26/MyApp) - A template to create awesome Apps easily ⚡️
|
||||
- [OLIO](https://olioex.com) - Share more. Waste less.
|
||||
|
||||
Let us know about your awesome project [here](https://github.com/proyecto26/react-native-inappbrowser/issues/164)! ❤️
|
||||
|
||||
## Getting started
|
||||
|
||||
`$ npm install react-native-inappbrowser-reborn --save`
|
||||
@ -150,7 +159,6 @@ Property | Description
|
||||
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`]
|
||||
@ -158,12 +166,15 @@ Property | Description
|
||||
`animations` (Object) | Sets the start and exit animations. [`{ startEnter, startExit, endEnter, endExit }`]
|
||||
`headers` (Object) | The data are key/value pairs, they will be sent in the HTTP request headers for the provided url. [`{ 'Authorization': 'Bearer ...' }`]
|
||||
`forceCloseOnRedirection` (Boolean) | Open Custom Tab in a new task to avoid issues redirecting back to app scheme. [`true`/`false`]
|
||||
`hasBackButton` (Boolean) | Sets a back arrow instead of the default `X` icon to close the custom tab. [`true`/`false`]
|
||||
`browserPackage` (String) | Package name of a browser to be used to handle Custom Tabs.
|
||||
`showInRecents` (Boolean) | Determining whether browsed website should be shown as separate entry in Android recents/multitasking view. [`true`/`false`]
|
||||
|
||||
### Demo
|
||||
|
||||
```javascript
|
||||
import { Linking } from 'react-native'
|
||||
import InAppBrowser from 'react-native-inappbrowser-reborn'
|
||||
import { InAppBrowser } from 'react-native-inappbrowser-reborn'
|
||||
|
||||
...
|
||||
async openLink() {
|
||||
@ -178,7 +189,7 @@ import InAppBrowser from 'react-native-inappbrowser-reborn'
|
||||
readerMode: false,
|
||||
animated: true,
|
||||
modalPresentationStyle: 'fullScreen',
|
||||
modalTransitionStyle: 'partialCurl',
|
||||
modalTransitionStyle: 'coverVertical',
|
||||
modalEnabled: true,
|
||||
enableBarCollapsing: false,
|
||||
// Android Properties
|
||||
@ -287,7 +298,7 @@ const Main = createStackNavigator(
|
||||
- LoginComponent
|
||||
```javascript
|
||||
import { Linking } from 'react-native'
|
||||
import InAppBrowser from 'react-native-inappbrowser-reborn'
|
||||
import { InAppBrowser } from 'react-native-inappbrowser-reborn'
|
||||
import { getDeepLink } from './utilities'
|
||||
...
|
||||
async onLogin() {
|
||||
|
||||
@ -19,7 +19,7 @@ Pod::Spec.new do |s|
|
||||
s.source_files = 'ios/**/*.{h,m}'
|
||||
s.exclude_files = 'android/**/*'
|
||||
|
||||
s.dependency "React"
|
||||
s.dependency "React-Core"
|
||||
#s.dependency "others"
|
||||
|
||||
end
|
||||
|
||||
@ -38,6 +38,10 @@ android {
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
|
||||
@ -3,6 +3,7 @@ package com.proyecto26.inappbrowser;
|
||||
import android.R.anim;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@ -11,6 +12,7 @@ import android.graphics.Color;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.provider.Browser;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.browser.customtabs.CustomTabsClient;
|
||||
import androidx.browser.customtabs.CustomTabsIntent;
|
||||
import androidx.core.graphics.ColorUtils;
|
||||
|
||||
@ -25,6 +27,7 @@ import com.facebook.react.bridge.JSApplicationIllegalArgumentException;
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.List;
|
||||
|
||||
@ -42,7 +45,15 @@ 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 static final String KEY_HAS_BACK_BUTTON = "hasBackButton";
|
||||
private static final String KEY_BROWSER_PACKAGE = "browserPackage";
|
||||
private static final String KEY_SHOW_IN_RECENTS = "showInRecents";
|
||||
|
||||
private static final String ACTION_CUSTOM_TABS_CONNECTION = "android.support.customtabs.action.CustomTabsService";
|
||||
private static final String CHROME_PACKAGE_STABLE = "com.android.chrome";
|
||||
private static final String CHROME_PACKAGE_BETA = "com.chrome.beta";
|
||||
private static final String CHROME_PACKAGE_DEV = "com.chrome.dev";
|
||||
private static final String LOCAL_PACKAGE = "com.google.android.apps.chrome";
|
||||
|
||||
private @Nullable Promise mOpenBrowserPromise;
|
||||
private Boolean isLightTheme;
|
||||
@ -87,10 +98,6 @@ public class RNInAppBrowser {
|
||||
"Invalid secondary toolbar color '" + colorString + "': " + e.getMessage());
|
||||
}
|
||||
}
|
||||
if (options.hasKey(KEY_ENABLE_URL_BAR_HIDING) &&
|
||||
options.getBoolean(KEY_ENABLE_URL_BAR_HIDING)) {
|
||||
builder.enableUrlBarHiding();
|
||||
}
|
||||
if (options.hasKey(KEY_DEFAULT_SHARE_MENU_ITEM) &&
|
||||
options.getBoolean(KEY_DEFAULT_SHARE_MENU_ITEM)) {
|
||||
builder.addDefaultShareMenuItem();
|
||||
@ -99,13 +106,16 @@ public class RNInAppBrowser {
|
||||
final ReadableMap animations = options.getMap(KEY_ANIMATIONS);
|
||||
applyAnimation(context, builder, animations);
|
||||
}
|
||||
if (options.hasKey(HASBACKBUTTON) &&
|
||||
options.getBoolean(HASBACKBUTTON)) {
|
||||
if (options.hasKey(KEY_HAS_BACK_BUTTON) &&
|
||||
options.getBoolean(KEY_HAS_BACK_BUTTON)) {
|
||||
builder.setCloseButtonIcon(BitmapFactory.decodeResource(
|
||||
context.getResources(), isLightTheme ? R.drawable.ic_arrow_back_black : R.drawable.ic_arrow_back_white));
|
||||
context.getResources(),
|
||||
isLightTheme ? R.drawable.ic_arrow_back_black : R.drawable.ic_arrow_back_white
|
||||
));
|
||||
}
|
||||
|
||||
CustomTabsIntent customTabsIntent = builder.build();
|
||||
Intent intent = customTabsIntent.intent;
|
||||
|
||||
if (options.hasKey(KEY_HEADERS)) {
|
||||
ReadableMap readableMap = options.getMap(KEY_HEADERS);
|
||||
@ -125,19 +135,38 @@ public class RNInAppBrowser {
|
||||
break;
|
||||
}
|
||||
}
|
||||
customTabsIntent.intent.putExtra(Browser.EXTRA_HEADERS, headers);
|
||||
intent.putExtra(Browser.EXTRA_HEADERS, headers);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (options.hasKey(KEY_FORCE_CLOSE_ON_REDIRECTION) &&
|
||||
options.getBoolean(KEY_FORCE_CLOSE_ON_REDIRECTION)) {
|
||||
customTabsIntent.intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
|
||||
customTabsIntent.intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
customTabsIntent.intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
}
|
||||
if (!options.hasKey(KEY_SHOW_IN_RECENTS) ||
|
||||
!options.getBoolean(KEY_SHOW_IN_RECENTS)) {
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
|
||||
}
|
||||
|
||||
Intent intent = customTabsIntent.intent;
|
||||
intent.putExtra(CustomTabsIntent.EXTRA_ENABLE_URLBAR_HIDING, (
|
||||
options.hasKey(KEY_ENABLE_URL_BAR_HIDING) &&
|
||||
options.getBoolean(KEY_ENABLE_URL_BAR_HIDING)));
|
||||
try {
|
||||
if (options.hasKey(KEY_BROWSER_PACKAGE)) {
|
||||
final String packageName = options.getString(KEY_BROWSER_PACKAGE);
|
||||
if (!TextUtils.isEmpty(packageName)) {
|
||||
intent.setPackage(packageName);
|
||||
}
|
||||
} else {
|
||||
final String packageName = getDefaultBrowser(currentActivity);
|
||||
intent.setPackage(packageName);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
intent.setData(Uri.parse(url));
|
||||
if (options.hasKey(KEY_SHOW_PAGE_TITLE)) {
|
||||
builder.setShowTitle(options.getBoolean(KEY_SHOW_PAGE_TITLE));
|
||||
@ -149,7 +178,8 @@ public class RNInAppBrowser {
|
||||
registerEventBus();
|
||||
|
||||
currentActivity.startActivity(
|
||||
ChromeTabsManagerActivity.createStartIntent(currentActivity, intent), customTabsIntent.startAnimationBundle);
|
||||
ChromeTabsManagerActivity.createStartIntent(currentActivity, intent),
|
||||
customTabsIntent.startAnimationBundle);
|
||||
}
|
||||
|
||||
public void close() {
|
||||
@ -175,8 +205,7 @@ public class RNInAppBrowser {
|
||||
}
|
||||
|
||||
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);
|
||||
List<ResolveInfo> resolveInfos = getPreferredPackages(context);
|
||||
promise.resolve(!(resolveInfos == null || resolveInfos.isEmpty()));
|
||||
}
|
||||
|
||||
@ -240,4 +269,20 @@ public class RNInAppBrowser {
|
||||
private Boolean toolbarIsLight(String themeColor) {
|
||||
return ColorUtils.calculateLuminance(Color.parseColor(themeColor)) > 0.5;
|
||||
}
|
||||
|
||||
private List<ResolveInfo> getPreferredPackages(Context context) {
|
||||
Intent serviceIntent = new Intent(ACTION_CUSTOM_TABS_CONNECTION);
|
||||
List<ResolveInfo> resolveInfos = context.getPackageManager().queryIntentServices(serviceIntent, 0);
|
||||
return resolveInfos;
|
||||
}
|
||||
|
||||
private String getDefaultBrowser(Context context) {
|
||||
List<ResolveInfo> resolveInfos = getPreferredPackages(context);
|
||||
String packageName = CustomTabsClient.getPackageName(context,
|
||||
Arrays.asList(CHROME_PACKAGE_STABLE, CHROME_PACKAGE_BETA, CHROME_PACKAGE_DEV, LOCAL_PACKAGE));
|
||||
if(packageName == null && resolveInfos != null && resolveInfos.size() > 0){
|
||||
packageName = resolveInfos.get(0).serviceInfo.packageName;
|
||||
}
|
||||
return packageName;
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@ import {
|
||||
StatusBar,
|
||||
Linking,
|
||||
} from 'react-native';
|
||||
import InAppBrowser from 'react-native-inappbrowser-reborn';
|
||||
import { InAppBrowser } from 'react-native-inappbrowser-reborn';
|
||||
|
||||
const instructions = Platform.select({
|
||||
ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
|
||||
@ -27,7 +27,12 @@ const instructions = Platform.select({
|
||||
'Shake or press menu button for dev menu',
|
||||
});
|
||||
|
||||
export default class App extends Component {
|
||||
type ComponentState = {
|
||||
url: string,
|
||||
statusBarStyle: string
|
||||
}
|
||||
|
||||
export default class App extends Component<ComponentState> {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
@ -37,7 +42,7 @@ export default class App extends Component {
|
||||
};
|
||||
}
|
||||
|
||||
sleep(timeout) {
|
||||
sleep(timeout: number) {
|
||||
return new Promise((resolve) => setTimeout(resolve, timeout));
|
||||
}
|
||||
|
||||
@ -54,12 +59,12 @@ export default class App extends Component {
|
||||
dismissButtonStyle: 'cancel',
|
||||
preferredBarTintColor: '#453AA4',
|
||||
preferredControlTintColor: 'white',
|
||||
readerMode: false,
|
||||
readerMode: true,
|
||||
animated,
|
||||
modalPresentationStyle: 'fullScreen',
|
||||
modalTransitionStyle: 'partialCurl',
|
||||
modalTransitionStyle: 'flipHorizontal',
|
||||
modalEnabled: true,
|
||||
enableBarCollapsing: false,
|
||||
enableBarCollapsing: true,
|
||||
// Android Properties
|
||||
showTitle: true,
|
||||
toolbarColor: '#6200EE',
|
||||
@ -78,6 +83,9 @@ export default class App extends Component {
|
||||
headers: {
|
||||
'my-custom-header': 'my custom header value',
|
||||
},
|
||||
hasBackButton: true,
|
||||
browserPackage: null,
|
||||
showInRecents: false
|
||||
});
|
||||
// A delay to show an alert when the browser is closed
|
||||
await this.sleep(800);
|
||||
@ -86,6 +94,7 @@ export default class App extends Component {
|
||||
Linking.openURL(url);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
Alert.alert(error.message);
|
||||
} finally {
|
||||
// Restore the previous StatusBar of the App
|
||||
@ -119,6 +128,7 @@ export default class App extends Component {
|
||||
Alert.alert('InAppBrowser is not supported :/');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
Alert.alert('Something’s wrong with the app :(');
|
||||
}
|
||||
}
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="my-demo" android:host="demo" android:pathPrefix="" />
|
||||
<data android:scheme="my-demo" android:host="demo" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
|
||||
|
||||
@ -2,17 +2,17 @@
|
||||
|
||||
buildscript {
|
||||
ext {
|
||||
buildToolsVersion = "28.0.3"
|
||||
buildToolsVersion = "29.0.2"
|
||||
minSdkVersion = 16
|
||||
compileSdkVersion = 28
|
||||
targetSdkVersion = 28
|
||||
compileSdkVersion = 29
|
||||
targetSdkVersion = 29
|
||||
}
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath("com.android.tools.build:gradle:3.5.2")
|
||||
classpath("com.android.tools.build:gradle:3.5.3")
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
||||
@ -25,4 +25,4 @@ android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
|
||||
# Version of flipper SDK to use with React Native
|
||||
FLIPPER_VERSION=0.33.1
|
||||
FLIPPER_VERSION=0.54.0
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-all.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
31
example/android/gradlew
vendored
31
example/android/gradlew
vendored
@ -154,19 +154,19 @@ if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
i=`expr $i + 1`
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
0) set -- ;;
|
||||
1) set -- "$args0" ;;
|
||||
2) set -- "$args0" "$args1" ;;
|
||||
3) set -- "$args0" "$args1" "$args2" ;;
|
||||
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
@ -175,14 +175,9 @@ save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=$(save "$@")
|
||||
APP_ARGS=`save "$@"`
|
||||
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
|
||||
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
||||
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
||||
cd "$(dirname "$0")"
|
||||
fi
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
exec "$JAVACMD" "$@"
|
||||
5
example/android/gradlew.bat
vendored
5
example/android/gradlew.bat
vendored
@ -29,6 +29,9 @@ if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@ -97,4 +100,4 @@ exit /b 1
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
:omega
|
||||
@ -1,71 +1,23 @@
|
||||
platform :ios, '9.0'
|
||||
require_relative '../node_modules/react-native/scripts/react_native_pods'
|
||||
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
|
||||
platform :ios, '10.0'
|
||||
|
||||
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/'
|
||||
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'
|
||||
pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
|
||||
pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
|
||||
pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
|
||||
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-Core/RCTWebSocket', :path => '../node_modules/react-native/'
|
||||
config = use_native_modules!
|
||||
|
||||
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 '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'
|
||||
use_react_native!(:path => config["reactNativePath"])
|
||||
|
||||
target 'exampleTests' do
|
||||
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!
|
||||
use_flipper!
|
||||
post_install do |installer|
|
||||
flipper_post_install(installer)
|
||||
end
|
||||
|
||||
@ -3,17 +3,17 @@ PODS:
|
||||
- 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)
|
||||
- FBLazyVector (0.63.3)
|
||||
- FBReactNativeSpec (0.63.3):
|
||||
- Folly (= 2020.01.13.00)
|
||||
- RCTRequired (= 0.63.3)
|
||||
- RCTTypeSafety (= 0.63.3)
|
||||
- React-Core (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- ReactCommon/turbomodule/core (= 0.63.3)
|
||||
- Flipper (0.54.0):
|
||||
- Flipper-Folly (~> 2.2)
|
||||
- Flipper-RSocket (~> 1.1)
|
||||
- Flipper-DoubleConversion (1.1.7)
|
||||
- Flipper-Folly (2.2.0):
|
||||
- boost-for-react-native
|
||||
@ -25,44 +25,44 @@ PODS:
|
||||
- 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 (0.54.0):
|
||||
- FlipperKit/Core (= 0.54.0)
|
||||
- FlipperKit/Core (0.54.0):
|
||||
- Flipper (~> 0.54.0)
|
||||
- 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):
|
||||
- FlipperKit/CppBridge (0.54.0):
|
||||
- Flipper (~> 0.54.0)
|
||||
- FlipperKit/FBCxxFollyDynamicConvert (0.54.0):
|
||||
- Flipper-Folly (~> 2.2)
|
||||
- FlipperKit/FBDefines (0.54.0)
|
||||
- FlipperKit/FKPortForwarding (0.54.0):
|
||||
- CocoaAsyncSocket (~> 7.6)
|
||||
- Flipper-PeerTalk (~> 0.0.4)
|
||||
- FlipperKit/FlipperKitHighlightOverlay (0.33.1)
|
||||
- FlipperKit/FlipperKitLayoutPlugin (0.33.1):
|
||||
- FlipperKit/FlipperKitHighlightOverlay (0.54.0)
|
||||
- FlipperKit/FlipperKitLayoutPlugin (0.54.0):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/FlipperKitHighlightOverlay
|
||||
- FlipperKit/FlipperKitLayoutTextSearchable
|
||||
- YogaKit (~> 1.18)
|
||||
- FlipperKit/FlipperKitLayoutTextSearchable (0.33.1)
|
||||
- FlipperKit/FlipperKitNetworkPlugin (0.33.1):
|
||||
- FlipperKit/FlipperKitLayoutTextSearchable (0.54.0)
|
||||
- FlipperKit/FlipperKitNetworkPlugin (0.54.0):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/FlipperKitReactPlugin (0.33.1):
|
||||
- FlipperKit/FlipperKitReactPlugin (0.54.0):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/FlipperKitUserDefaultsPlugin (0.33.1):
|
||||
- FlipperKit/FlipperKitUserDefaultsPlugin (0.54.0):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/SKIOSNetworkPlugin (0.33.1):
|
||||
- FlipperKit/SKIOSNetworkPlugin (0.54.0):
|
||||
- FlipperKit/Core
|
||||
- FlipperKit/FlipperKitNetworkPlugin
|
||||
- Folly (2018.10.22.00):
|
||||
- Folly (2020.01.13.00):
|
||||
- boost-for-react-native
|
||||
- DoubleConversion
|
||||
- Folly/Default (= 2018.10.22.00)
|
||||
- Folly/Default (= 2020.01.13.00)
|
||||
- glog
|
||||
- Folly/Default (2018.10.22.00):
|
||||
- Folly/Default (2020.01.13.00):
|
||||
- boost-for-react-native
|
||||
- DoubleConversion
|
||||
- glog
|
||||
@ -70,230 +70,234 @@ PODS:
|
||||
- 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)
|
||||
- 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)
|
||||
- RCTRequired (0.63.3)
|
||||
- RCTTypeSafety (0.63.3):
|
||||
- FBLazyVector (= 0.63.3)
|
||||
- Folly (= 2020.01.13.00)
|
||||
- RCTRequired (= 0.63.3)
|
||||
- React-Core (= 0.63.3)
|
||||
- React (0.63.3):
|
||||
- React-Core (= 0.63.3)
|
||||
- React-Core/DevSupport (= 0.63.3)
|
||||
- React-Core/RCTWebSocket (= 0.63.3)
|
||||
- React-RCTActionSheet (= 0.63.3)
|
||||
- React-RCTAnimation (= 0.63.3)
|
||||
- React-RCTBlob (= 0.63.3)
|
||||
- React-RCTImage (= 0.63.3)
|
||||
- React-RCTLinking (= 0.63.3)
|
||||
- React-RCTNetwork (= 0.63.3)
|
||||
- React-RCTSettings (= 0.63.3)
|
||||
- React-RCTText (= 0.63.3)
|
||||
- React-RCTVibration (= 0.63.3)
|
||||
- React-callinvoker (0.63.3)
|
||||
- React-Core (0.63.3):
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-Core/Default (= 0.62.1)
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- React-Core/Default (= 0.63.3)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsiexecutor (= 0.63.3)
|
||||
- Yoga
|
||||
- React-Core/CoreModulesHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/CoreModulesHeaders (0.63.3):
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsiexecutor (= 0.63.3)
|
||||
- Yoga
|
||||
- React-Core/Default (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/Default (0.63.3):
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsiexecutor (= 0.63.3)
|
||||
- Yoga
|
||||
- React-Core/DevSupport (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/DevSupport (0.63.3):
|
||||
- Folly (= 2020.01.13.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)
|
||||
- React-Core/Default (= 0.63.3)
|
||||
- React-Core/RCTWebSocket (= 0.63.3)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsiexecutor (= 0.63.3)
|
||||
- React-jsinspector (= 0.63.3)
|
||||
- Yoga
|
||||
- React-Core/RCTActionSheetHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/RCTActionSheetHeaders (0.63.3):
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsiexecutor (= 0.63.3)
|
||||
- Yoga
|
||||
- React-Core/RCTAnimationHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/RCTAnimationHeaders (0.63.3):
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsiexecutor (= 0.63.3)
|
||||
- Yoga
|
||||
- React-Core/RCTBlobHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/RCTBlobHeaders (0.63.3):
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsiexecutor (= 0.63.3)
|
||||
- Yoga
|
||||
- React-Core/RCTImageHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/RCTImageHeaders (0.63.3):
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsiexecutor (= 0.63.3)
|
||||
- Yoga
|
||||
- React-Core/RCTLinkingHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/RCTLinkingHeaders (0.63.3):
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsiexecutor (= 0.63.3)
|
||||
- Yoga
|
||||
- React-Core/RCTNetworkHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/RCTNetworkHeaders (0.63.3):
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsiexecutor (= 0.63.3)
|
||||
- Yoga
|
||||
- React-Core/RCTSettingsHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/RCTSettingsHeaders (0.63.3):
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsiexecutor (= 0.63.3)
|
||||
- Yoga
|
||||
- React-Core/RCTTextHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/RCTTextHeaders (0.63.3):
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsiexecutor (= 0.63.3)
|
||||
- Yoga
|
||||
- React-Core/RCTVibrationHeaders (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/RCTVibrationHeaders (0.63.3):
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsiexecutor (= 0.63.3)
|
||||
- Yoga
|
||||
- React-Core/RCTWebSocket (0.62.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- React-Core/RCTWebSocket (0.63.3):
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-Core/Default (= 0.62.1)
|
||||
- React-cxxreact (= 0.62.1)
|
||||
- React-jsi (= 0.62.1)
|
||||
- React-jsiexecutor (= 0.62.1)
|
||||
- React-Core/Default (= 0.63.3)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsiexecutor (= 0.63.3)
|
||||
- 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):
|
||||
- React-CoreModules (0.63.3):
|
||||
- FBReactNativeSpec (= 0.63.3)
|
||||
- Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 0.63.3)
|
||||
- React-Core/CoreModulesHeaders (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-RCTImage (= 0.63.3)
|
||||
- ReactCommon/turbomodule/core (= 0.63.3)
|
||||
- React-cxxreact (0.63.3):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-jsinspector (= 0.62.1)
|
||||
- React-jsi (0.62.1):
|
||||
- React-callinvoker (= 0.63.3)
|
||||
- React-jsinspector (= 0.63.3)
|
||||
- React-jsi (0.63.3):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-jsi/Default (= 0.62.1)
|
||||
- React-jsi/Default (0.62.1):
|
||||
- React-jsi/Default (= 0.63.3)
|
||||
- React-jsi/Default (0.63.3):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- React-jsiexecutor (0.62.1):
|
||||
- React-jsiexecutor (0.63.3):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- Folly (= 2020.01.13.00)
|
||||
- glog
|
||||
- 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):
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-jsinspector (0.63.3)
|
||||
- React-RCTActionSheet (0.63.3):
|
||||
- React-Core/RCTActionSheetHeaders (= 0.63.3)
|
||||
- React-RCTAnimation (0.63.3):
|
||||
- FBReactNativeSpec (= 0.63.3)
|
||||
- Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 0.63.3)
|
||||
- React-Core/RCTAnimationHeaders (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- ReactCommon/turbomodule/core (= 0.63.3)
|
||||
- React-RCTBlob (0.63.3):
|
||||
- FBReactNativeSpec (= 0.63.3)
|
||||
- Folly (= 2020.01.13.00)
|
||||
- React-Core/RCTBlobHeaders (= 0.63.3)
|
||||
- React-Core/RCTWebSocket (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-RCTNetwork (= 0.63.3)
|
||||
- ReactCommon/turbomodule/core (= 0.63.3)
|
||||
- React-RCTImage (0.63.3):
|
||||
- FBReactNativeSpec (= 0.63.3)
|
||||
- Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 0.63.3)
|
||||
- React-Core/RCTImageHeaders (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- React-RCTNetwork (= 0.63.3)
|
||||
- ReactCommon/turbomodule/core (= 0.63.3)
|
||||
- React-RCTLinking (0.63.3):
|
||||
- FBReactNativeSpec (= 0.63.3)
|
||||
- React-Core/RCTLinkingHeaders (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- ReactCommon/turbomodule/core (= 0.63.3)
|
||||
- React-RCTNetwork (0.63.3):
|
||||
- FBReactNativeSpec (= 0.63.3)
|
||||
- Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 0.63.3)
|
||||
- React-Core/RCTNetworkHeaders (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- ReactCommon/turbomodule/core (= 0.63.3)
|
||||
- React-RCTSettings (0.63.3):
|
||||
- FBReactNativeSpec (= 0.63.3)
|
||||
- Folly (= 2020.01.13.00)
|
||||
- RCTTypeSafety (= 0.63.3)
|
||||
- React-Core/RCTSettingsHeaders (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- ReactCommon/turbomodule/core (= 0.63.3)
|
||||
- React-RCTText (0.63.3):
|
||||
- React-Core/RCTTextHeaders (= 0.63.3)
|
||||
- React-RCTVibration (0.63.3):
|
||||
- FBReactNativeSpec (= 0.63.3)
|
||||
- Folly (= 2020.01.13.00)
|
||||
- React-Core/RCTVibrationHeaders (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- ReactCommon/turbomodule/core (= 0.63.3)
|
||||
- ReactCommon/turbomodule/core (0.63.3):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- Folly (= 2020.01.13.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)
|
||||
- React-callinvoker (= 0.63.3)
|
||||
- React-Core (= 0.63.3)
|
||||
- React-cxxreact (= 0.63.3)
|
||||
- React-jsi (= 0.63.3)
|
||||
- RNInAppBrowser (3.4.0):
|
||||
- React
|
||||
- React-Core
|
||||
- Yoga (1.14.0)
|
||||
- YogaKit (1.18.1):
|
||||
- Yoga (~> 1.14)
|
||||
@ -302,16 +306,31 @@ 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)
|
||||
- Flipper (~> 0.54.0)
|
||||
- Flipper-DoubleConversion (= 1.1.7)
|
||||
- Flipper-Folly (~> 2.2)
|
||||
- Flipper-Glog (= 0.3.6)
|
||||
- Flipper-PeerTalk (~> 0.0.4)
|
||||
- Flipper-RSocket (~> 1.1)
|
||||
- FlipperKit (~> 0.54.0)
|
||||
- FlipperKit/Core (~> 0.54.0)
|
||||
- FlipperKit/CppBridge (~> 0.54.0)
|
||||
- FlipperKit/FBCxxFollyDynamicConvert (~> 0.54.0)
|
||||
- FlipperKit/FBDefines (~> 0.54.0)
|
||||
- FlipperKit/FKPortForwarding (~> 0.54.0)
|
||||
- FlipperKit/FlipperKitHighlightOverlay (~> 0.54.0)
|
||||
- FlipperKit/FlipperKitLayoutPlugin (~> 0.54.0)
|
||||
- FlipperKit/FlipperKitLayoutTextSearchable (~> 0.54.0)
|
||||
- FlipperKit/FlipperKitNetworkPlugin (~> 0.54.0)
|
||||
- FlipperKit/FlipperKitReactPlugin (~> 0.54.0)
|
||||
- FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.54.0)
|
||||
- FlipperKit/SKIOSNetworkPlugin (~> 0.54.0)
|
||||
- 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-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
|
||||
- React-Core (from `../node_modules/react-native/`)
|
||||
- React-Core/DevSupport (from `../node_modules/react-native/`)
|
||||
- React-Core/RCTWebSocket (from `../node_modules/react-native/`)
|
||||
@ -329,7 +348,6 @@ 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`)
|
||||
- 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`)
|
||||
@ -366,6 +384,8 @@ EXTERNAL SOURCES:
|
||||
:path: "../node_modules/react-native/Libraries/TypeSafety"
|
||||
React:
|
||||
:path: "../node_modules/react-native/"
|
||||
React-callinvoker:
|
||||
:path: "../node_modules/react-native/ReactCommon/callinvoker"
|
||||
React-Core:
|
||||
:path: "../node_modules/react-native/"
|
||||
React-CoreModules:
|
||||
@ -407,42 +427,43 @@ SPEC CHECKSUMS:
|
||||
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
|
||||
CocoaAsyncSocket: 694058e7c0ed05a9e217d1b3c7ded962f4180845
|
||||
CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f
|
||||
DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
|
||||
FBLazyVector: 95ee3e58937a6052f86b0e32f142388c22fa22c5
|
||||
FBReactNativeSpec: 26dd6459299e48cd64eb397c45635e466dba9f45
|
||||
Flipper: 6c1f484f9a88d30ab3e272800d53688439e50f69
|
||||
DoubleConversion: cde416483dac037923206447da6e1454df403714
|
||||
FBLazyVector: 878b59e31113e289e275165efbe4b54fa614d43d
|
||||
FBReactNativeSpec: 7da9338acfb98d4ef9e5536805a0704572d33c2f
|
||||
Flipper: be611d4b742d8c87fbae2ca5f44603a02539e365
|
||||
Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41
|
||||
Flipper-Folly: c12092ea368353b58e992843a990a3225d4533c3
|
||||
Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6
|
||||
Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
|
||||
Flipper-RSocket: 64e7431a55835eb953b0bf984ef3b90ae9fdddd7
|
||||
FlipperKit: 6dc9b8f4ef60d9e5ded7f0264db299c91f18832e
|
||||
Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
|
||||
glog: 1f3da668190260b06b429bb211bfbee5cd790c28
|
||||
FlipperKit: ab353d41aea8aae2ea6daaf813e67496642f3d7d
|
||||
Folly: b73c3869541e86821df3c387eb0af5f65addfab4
|
||||
glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3
|
||||
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
|
||||
RCTRequired: 48884c74035a0b5b76dbb7a998bd93bcfc5f2047
|
||||
RCTTypeSafety: edf4b618033c2f1c5b7bc3d90d8e085ed95ba2ab
|
||||
React: f36e90f3ceb976546e97df3403e37d226f79d0e3
|
||||
React-callinvoker: 18874f621eb96625df7a24a7dc8d6e07391affcd
|
||||
React-Core: ac3d816b8e3493970153f4aaf0cff18af0bb95e6
|
||||
React-CoreModules: 4016d3a4e518bcfc4f5a51252b5a05692ca6f0e1
|
||||
React-cxxreact: ffc9129013b87cb36cf3f30a86695a3c397b0f99
|
||||
React-jsi: df07aa95b39c5be3e41199921509bfa929ed2b9d
|
||||
React-jsiexecutor: b56c03e61c0dd5f5801255f2160a815f4a53d451
|
||||
React-jsinspector: 8e68ffbfe23880d3ee9bafa8be2777f60b25cbe2
|
||||
React-RCTActionSheet: 53ea72699698b0b47a6421cb1c8b4ab215a774aa
|
||||
React-RCTAnimation: 1befece0b5183c22ae01b966f5583f42e69a83c2
|
||||
React-RCTBlob: 0b284339cbe4b15705a05e2313a51c6d8b51fa40
|
||||
React-RCTImage: d1756599ebd4dc2cb19d1682fe67c6b976658387
|
||||
React-RCTLinking: 9af0a51c6d6a4dd1674daadafffc6d03033a6d18
|
||||
React-RCTNetwork: 332c83929cc5eae0b3bbca4add1d668e1fc18bda
|
||||
React-RCTSettings: d6953772cfd55f2c68ad72b7ef29efc7ec49f773
|
||||
React-RCTText: 65a6de06a7389098ce24340d1d3556015c38f746
|
||||
React-RCTVibration: 8e9fb25724a0805107fc1acc9075e26f814df454
|
||||
ReactCommon: 4167844018c9ed375cc01a843e9ee564399e53c3
|
||||
RNInAppBrowser: 14bb242cdb9a49621914c442e903ac27e621be85
|
||||
Yoga: 7d13633d129fd179e01b8953d38d47be90db185a
|
||||
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
|
||||
|
||||
PODFILE CHECKSUM: a52de829a37f999f30e05cdcfceda802cd83620c
|
||||
PODFILE CHECKSUM: 311cf87a4a33d759b7ec994ec3735e03d4ededbf
|
||||
|
||||
COCOAPODS: 1.7.5
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)</string>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
|
||||
@ -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 */; };
|
||||
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 */; };
|
||||
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 */; };
|
||||
474A510B261C50D1FC5A7C16 /* libPods-example-exampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CCB66F023888DD8BB45F23AC /* libPods-example-exampleTests.a */; };
|
||||
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
|
||||
B4DCFFE0DFCA2800D0D0C010 /* libPods-example-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2079493AF9750A83A9355628 /* libPods-example-tvOSTests.a */; };
|
||||
C2BDA82301A251880A05BF56 /* libPods-example-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FC936B40D2FE96DF74D4090 /* libPods-example-tvOS.a */; };
|
||||
E53FA510B316FBE8899F1D22 /* libPods-example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2E89145A07ABC9C78ADB7E86 /* libPods-example.a */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@ -41,30 +41,30 @@
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = "<group>"; };
|
||||
00D5D8E9B20ABEE623E9EE92 /* 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>"; };
|
||||
00E356EE1AD99517003FC87E /* exampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = exampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
00E356F21AD99517003FC87E /* exampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = exampleTests.m; sourceTree = "<group>"; };
|
||||
13B07F961A680F5B00A75B9A /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = example/AppDelegate.h; sourceTree = "<group>"; };
|
||||
13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = example/AppDelegate.m; sourceTree = "<group>"; };
|
||||
13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
2079493AF9750A83A9355628 /* libPods-example-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
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; };
|
||||
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; };
|
||||
2E89145A07ABC9C78ADB7E86 /* libPods-example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
6660B8985CD39DEC59EB5285 /* 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>"; };
|
||||
6BE744B1A78138A7056B983E /* 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>"; };
|
||||
7FC936B40D2FE96DF74D4090 /* libPods-example-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = example/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
CBB6FF10C2FAC1E60E2BF704 /* 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>"; };
|
||||
CCB66F023888DD8BB45F23AC /* libPods-example-exampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-exampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
D70D62D4D1C55213757619C4 /* 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>"; };
|
||||
DB4D6F93664604A993279C72 /* 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>"; };
|
||||
DFC9673F0842418DB8721AD4 /* 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>"; };
|
||||
E49131127E7AE4B3009A37CA /* 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>"; };
|
||||
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; };
|
||||
/* End PBXFileReference section */
|
||||
@ -74,7 +74,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
B12A999FF5682F7D97E1DE9F /* libPods-example-exampleTests.a in Frameworks */,
|
||||
474A510B261C50D1FC5A7C16 /* libPods-example-exampleTests.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -82,7 +82,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
7D62270117F48E841AE2BF81 /* libPods-example.a in Frameworks */,
|
||||
E53FA510B316FBE8899F1D22 /* libPods-example.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -90,7 +90,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C1E62C9C18215100A31DB417 /* libPods-example-tvOS.a in Frameworks */,
|
||||
C2BDA82301A251880A05BF56 /* libPods-example-tvOS.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -98,7 +98,7 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
0EB9BAF7F795376C27199991 /* libPods-example-tvOSTests.a in Frameworks */,
|
||||
B4DCFFE0DFCA2800D0D0C010 /* libPods-example-tvOSTests.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -122,22 +122,6 @@
|
||||
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 = (
|
||||
@ -146,7 +130,7 @@
|
||||
13B07FB01A68108700A75B9A /* AppDelegate.m */,
|
||||
13B07FB51A68108700A75B9A /* Images.xcassets */,
|
||||
13B07FB61A68108700A75B9A /* Info.plist */,
|
||||
13B07FB11A68108700A75B9A /* LaunchScreen.xib */,
|
||||
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */,
|
||||
13B07FB71A68108700A75B9A /* main.m */,
|
||||
);
|
||||
name = example;
|
||||
@ -157,10 +141,10 @@
|
||||
children = (
|
||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
|
||||
ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
|
||||
5A098E3B870ADDE33AA51CBB /* libPods-example.a */,
|
||||
87D842F0CBD262B91ACFA442 /* libPods-example-exampleTests.a */,
|
||||
D64AC2E20BEE20BA27282C87 /* libPods-example-tvOS.a */,
|
||||
7355F698DC982C14D10732E6 /* libPods-example-tvOSTests.a */,
|
||||
2E89145A07ABC9C78ADB7E86 /* libPods-example.a */,
|
||||
CCB66F023888DD8BB45F23AC /* libPods-example-exampleTests.a */,
|
||||
7FC936B40D2FE96DF74D4090 /* libPods-example-tvOS.a */,
|
||||
2079493AF9750A83A9355628 /* libPods-example-tvOSTests.a */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
@ -180,7 +164,7 @@
|
||||
00E356EF1AD99517003FC87E /* exampleTests */,
|
||||
83CBBA001A601CBA00E9B192 /* Products */,
|
||||
2D16E6871FA4F8E400B85C8A /* Frameworks */,
|
||||
12E4A23155E0C60C4AED3BF2 /* Pods */,
|
||||
DE7F526F2009816CFC9C3200 /* Pods */,
|
||||
);
|
||||
indentWidth = 2;
|
||||
sourceTree = "<group>";
|
||||
@ -198,6 +182,21 @@
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
DE7F526F2009816CFC9C3200 /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E49131127E7AE4B3009A37CA /* Pods-example.debug.xcconfig */,
|
||||
CBB6FF10C2FAC1E60E2BF704 /* Pods-example.release.xcconfig */,
|
||||
6BE744B1A78138A7056B983E /* Pods-example-exampleTests.debug.xcconfig */,
|
||||
DB4D6F93664604A993279C72 /* Pods-example-exampleTests.release.xcconfig */,
|
||||
D70D62D4D1C55213757619C4 /* Pods-example-tvOS.debug.xcconfig */,
|
||||
DFC9673F0842418DB8721AD4 /* Pods-example-tvOS.release.xcconfig */,
|
||||
00D5D8E9B20ABEE623E9EE92 /* Pods-example-tvOSTests.debug.xcconfig */,
|
||||
6660B8985CD39DEC59EB5285 /* Pods-example-tvOSTests.release.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@ -205,10 +204,11 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */;
|
||||
buildPhases = (
|
||||
8678D1065BD88CEE07E817C7 /* [CP] Check Pods Manifest.lock */,
|
||||
1FAF519DF1EC4A87E0FD5497 /* [CP] Check Pods Manifest.lock */,
|
||||
00E356EA1AD99517003FC87E /* Sources */,
|
||||
00E356EB1AD99517003FC87E /* Frameworks */,
|
||||
00E356EC1AD99517003FC87E /* Resources */,
|
||||
E83789C4E2F9A2651280BCE5 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@ -224,12 +224,13 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */;
|
||||
buildPhases = (
|
||||
18CE8903A213E901AAE9A4D2 /* [CP] Check Pods Manifest.lock */,
|
||||
5283CD0812A568E7899D3630 /* [CP] Check Pods Manifest.lock */,
|
||||
FD10A7F022414F080027D42C /* Start Packager */,
|
||||
13B07F871A680F5B00A75B9A /* Sources */,
|
||||
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
||||
13B07F8E1A680F5B00A75B9A /* Resources */,
|
||||
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
|
||||
CDB6EBB3C1FCB13A8ABC3020 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@ -244,7 +245,7 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOS" */;
|
||||
buildPhases = (
|
||||
4A4007CEC10EBD779E56638E /* [CP] Check Pods Manifest.lock */,
|
||||
453635A56A7B58383C624254 /* [CP] Check Pods Manifest.lock */,
|
||||
FD10A7F122414F3F0027D42C /* Start Packager */,
|
||||
2D02E4771E0B4A5D006451C7 /* Sources */,
|
||||
2D02E4781E0B4A5D006451C7 /* Frameworks */,
|
||||
@ -264,7 +265,7 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOSTests" */;
|
||||
buildPhases = (
|
||||
A8A48758899F2E64ED25F093 /* [CP] Check Pods Manifest.lock */,
|
||||
28AC55CF4FF203B3E72369D5 /* [CP] Check Pods Manifest.lock */,
|
||||
2D02E48C1E0B4A5D006451C7 /* Sources */,
|
||||
2D02E48D1E0B4A5D006451C7 /* Frameworks */,
|
||||
2D02E48E1E0B4A5D006451C7 /* Resources */,
|
||||
@ -292,6 +293,7 @@
|
||||
TestTargetID = 13B07F861A680F5B00A75B9A;
|
||||
};
|
||||
13B07F861A680F5B00A75B9A = {
|
||||
DevelopmentTeam = N8PGQE7K5F;
|
||||
LastSwiftMigration = 1120;
|
||||
};
|
||||
2D02E47A1E0B4A5D006451C7 = {
|
||||
@ -338,8 +340,8 @@
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
|
||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
|
||||
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -375,65 +377,7 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
|
||||
};
|
||||
18CE8903A213E901AAE9A4D2 /* [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-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";
|
||||
};
|
||||
4A4007CEC10EBD779E56638E /* [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;
|
||||
};
|
||||
8678D1065BD88CEE07E817C7 /* [CP] Check Pods Manifest.lock */ = {
|
||||
1FAF519DF1EC4A87E0FD5497 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@ -455,7 +399,7 @@
|
||||
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 */ = {
|
||||
28AC55CF4FF203B3E72369D5 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@ -477,6 +421,100 @@
|
||||
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";
|
||||
};
|
||||
453635A56A7B58383C624254 /* [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;
|
||||
};
|
||||
5283CD0812A568E7899D3630 /* [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-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;
|
||||
};
|
||||
CDB6EBB3C1FCB13A8ABC3020 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
E83789C4E2F9A2651280BCE5 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
FD10A7F022414F080027D42C /* Start Packager */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -567,22 +605,10 @@
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
13B07FB21A68108700A75B9A /* Base */,
|
||||
);
|
||||
name = LaunchScreen.xib;
|
||||
path = example;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
00E356F61AD99517003FC87E /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 32241824BD6ACEC7DE2BC988 /* Pods-example-exampleTests.debug.xcconfig */;
|
||||
baseConfigurationReference = 6BE744B1A78138A7056B983E /* Pods-example-exampleTests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
@ -590,7 +616,7 @@
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = exampleTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
@ -605,12 +631,12 @@
|
||||
};
|
||||
00E356F71AD99517003FC87E /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 84C2A7E39E9D94741383CC4E /* Pods-example-exampleTests.release.xcconfig */;
|
||||
baseConfigurationReference = DB4D6F93664604A993279C72 /* Pods-example-exampleTests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
INFOPLIST_FILE = exampleTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
@ -625,16 +651,13 @@
|
||||
};
|
||||
13B07F941A680F5B00A75B9A /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 43A149F197D9197271FDAD1B /* Pods-example.debug.xcconfig */;
|
||||
baseConfigurationReference = E49131127E7AE4B3009A37CA /* Pods-example.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
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 = (
|
||||
@ -652,11 +675,12 @@
|
||||
};
|
||||
13B07F951A680F5B00A75B9A /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = AEF31AAA2F328E01EEBA1164 /* Pods-example.release.xcconfig */;
|
||||
baseConfigurationReference = CBB6FF10C2FAC1E60E2BF704 /* 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 = (
|
||||
@ -673,7 +697,7 @@
|
||||
};
|
||||
2D02E4971E0B4A5E006451C7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 1EC78F5E6EED51C2FA4F7EF7 /* Pods-example-tvOS.debug.xcconfig */;
|
||||
baseConfigurationReference = D70D62D4D1C55213757619C4 /* Pods-example-tvOS.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
@ -695,13 +719,13 @@
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = appletvos;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.2;
|
||||
TVOS_DEPLOYMENT_TARGET = 10.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
2D02E4981E0B4A5E006451C7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 831E0409B3F75141484866A8 /* Pods-example-tvOS.release.xcconfig */;
|
||||
baseConfigurationReference = DFC9673F0842418DB8721AD4 /* Pods-example-tvOS.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
@ -723,13 +747,13 @@
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = appletvos;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.2;
|
||||
TVOS_DEPLOYMENT_TARGET = 10.0;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
2D02E4991E0B4A5E006451C7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 6F57D5D308BE757D0FC307C7 /* Pods-example-tvOSTests.debug.xcconfig */;
|
||||
baseConfigurationReference = 00D5D8E9B20ABEE623E9EE92 /* Pods-example-tvOSTests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
@ -756,7 +780,7 @@
|
||||
};
|
||||
2D02E49A1E0B4A5E006451C7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = A4F11FB608D69BB5302A8A59 /* Pods-example-tvOSTests.release.xcconfig */;
|
||||
baseConfigurationReference = 6660B8985CD39DEC59EB5285 /* Pods-example-tvOSTests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
@ -828,7 +852,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
|
||||
@ -881,7 +905,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
|
||||
|
||||
@ -0,0 +1,8 @@
|
||||
<?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>
|
||||
@ -4,7 +4,7 @@
|
||||
#import <React/RCTBundleURLProvider.h>
|
||||
#import <React/RCTRootView.h>
|
||||
|
||||
#if DEBUG
|
||||
#ifdef FB_SONARKIT_ENABLED
|
||||
#import <FlipperKit/FlipperClient.h>
|
||||
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
|
||||
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
|
||||
@ -27,7 +27,7 @@ static void InitializeFlipper(UIApplication *application) {
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
||||
{
|
||||
#if DEBUG
|
||||
#ifdef FB_SONARKIT_ENABLED
|
||||
InitializeFlipper(application);
|
||||
#endif
|
||||
|
||||
|
||||
58
example/ios/example/LaunchScreen.storyboard
Normal file
58
example/ios/example/LaunchScreen.storyboard
Normal file
@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
||||
<device id="retina4_7" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="EHf-IW-A2E">
|
||||
<objects>
|
||||
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="obG-Y5-kRd">
|
||||
<rect key="frame" x="0.0" y="647" width="375" height="0.0"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="RnDiffApp" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb">
|
||||
<rect key="frame" x="0.0" y="202" width="375" height="43"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Powered by React Native" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="MN2-I3-ftu">
|
||||
<rect key="frame" x="0.0" y="626" width="375" height="21"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="Bcu-3y-fUS" firstAttribute="centerX" secondItem="obG-Y5-kRd" secondAttribute="centerX" id="5cz-MP-9tL"/>
|
||||
<constraint firstItem="Bcu-3y-fUS" firstAttribute="bottom" secondItem="MN2-I3-ftu" secondAttribute="bottom" constant="20" id="OZV-Vh-mqD"/>
|
||||
<constraint firstItem="Bcu-3y-fUS" firstAttribute="centerX" secondItem="GJd-Yh-RWb" secondAttribute="centerX" id="Q3B-4B-g5h"/>
|
||||
<constraint firstItem="obG-Y5-kRd" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" symbolic="YES" id="SfN-ll-jLj"/>
|
||||
<constraint firstAttribute="bottom" secondItem="obG-Y5-kRd" secondAttribute="bottom" constant="20" id="Y44-ml-fuU"/>
|
||||
<constraint firstItem="MN2-I3-ftu" firstAttribute="centerX" secondItem="Bcu-3y-fUS" secondAttribute="centerX" id="akx-eg-2ui"/>
|
||||
<constraint firstItem="MN2-I3-ftu" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" id="i1E-0Y-4RG"/>
|
||||
<constraint firstItem="GJd-Yh-RWb" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="bottom" multiplier="1/3" constant="1" id="moa-c2-u7t"/>
|
||||
<constraint firstItem="GJd-Yh-RWb" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" symbolic="YES" id="x7j-FC-K8j"/>
|
||||
</constraints>
|
||||
<viewLayoutGuide key="safeArea" id="Bcu-3y-fUS"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="52.173913043478265" y="375"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
||||
@ -14,8 +14,8 @@
|
||||
"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.11.0",
|
||||
"react-native": "0.62.1",
|
||||
"react": "16.13.1",
|
||||
"react-native": "0.63.3",
|
||||
"react-native-inappbrowser-reborn": "file:.."
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -26,7 +26,7 @@
|
||||
"eslint": "^6.8.0",
|
||||
"jest": "^25.2.7",
|
||||
"metro-react-native-babel-preset": "^0.59.0",
|
||||
"react-test-renderer": "16.11.0"
|
||||
"react-test-renderer": "16.13.1"
|
||||
},
|
||||
"jest": {
|
||||
"preset": "react-native"
|
||||
|
||||
3037
example/yarn.lock
3037
example/yarn.lock
File diff suppressed because it is too large
Load Diff
11
index.d.ts
vendored
11
index.d.ts
vendored
@ -52,14 +52,17 @@ declare module 'react-native-inappbrowser-reborn' {
|
||||
endEnter: string,
|
||||
endExit: string
|
||||
},
|
||||
headers?: { [key: string]: string }
|
||||
headers?: { [key: string]: string },
|
||||
hasBackButton?: boolean,
|
||||
browserPackage?: string,
|
||||
showInRecents?: boolean
|
||||
}
|
||||
|
||||
export type InAppBrowserOptions = InAppBrowserAndroidOptions | InAppBrowseriOSOptions;
|
||||
|
||||
type AuthSessionResult = RedirectResult | BrowserResult;
|
||||
|
||||
interface RNInAppBrowserClassMethods {
|
||||
interface InAppBrowserClassMethods {
|
||||
open: (
|
||||
url: string,
|
||||
options?: InAppBrowserOptions,
|
||||
@ -74,7 +77,7 @@ declare module 'react-native-inappbrowser-reborn' {
|
||||
isAvailable: () => Promise<boolean>;
|
||||
}
|
||||
|
||||
const RNInAppBrowser: RNInAppBrowserClassMethods;
|
||||
export const InAppBrowser: InAppBrowserClassMethods;
|
||||
|
||||
export default RNInAppBrowser;
|
||||
export default InAppBrowser;
|
||||
}
|
||||
|
||||
229
index.js
229
index.js
@ -6,231 +6,62 @@
|
||||
* @flow strict-local
|
||||
*/
|
||||
|
||||
import invariant from 'invariant';
|
||||
import type {
|
||||
BrowserResult,
|
||||
AuthSessionResult,
|
||||
InAppBrowserOptions,
|
||||
} from './types';
|
||||
import {
|
||||
Linking,
|
||||
NativeModules,
|
||||
Platform,
|
||||
processColor,
|
||||
AppState,
|
||||
AppStateStatus,
|
||||
} from 'react-native';
|
||||
|
||||
const { RNInAppBrowser } = NativeModules;
|
||||
|
||||
type RedirectEvent = {
|
||||
url: 'string',
|
||||
};
|
||||
|
||||
type BrowserResult = {
|
||||
type: 'cancel' | 'dismiss',
|
||||
};
|
||||
|
||||
type RedirectResult = {
|
||||
type: 'success',
|
||||
url: string,
|
||||
};
|
||||
|
||||
type InAppBrowseriOSOptions = {
|
||||
dismissButtonStyle?: 'done' | 'close' | 'cancel',
|
||||
preferredBarTintColor?: string,
|
||||
preferredControlTintColor?: string,
|
||||
readerMode?: boolean,
|
||||
animated?: boolean,
|
||||
modalPresentationStyle?:
|
||||
| 'automatic'
|
||||
| 'fullScreen'
|
||||
| 'pageSheet'
|
||||
| 'formSheet'
|
||||
| 'currentContext'
|
||||
| 'custom'
|
||||
| 'overFullScreen'
|
||||
| 'overCurrentContext'
|
||||
| 'popover'
|
||||
| 'none',
|
||||
modalTransitionStyle?:
|
||||
| 'coverVertical'
|
||||
| 'flipHorizontal'
|
||||
| 'crossDissolve'
|
||||
| 'partialCurl',
|
||||
modalEnabled?: boolean,
|
||||
enableBarCollapsing?: boolean,
|
||||
ephemeralWebSession?: boolean,
|
||||
};
|
||||
|
||||
type InAppBrowserAndroidOptions = {
|
||||
showTitle?: boolean,
|
||||
toolbarColor?: string,
|
||||
secondaryToolbarColor?: string,
|
||||
enableUrlBarHiding?: boolean,
|
||||
enableDefaultShare?: boolean,
|
||||
forceCloseOnRedirection?: boolean,
|
||||
animations?: {
|
||||
startEnter: string,
|
||||
startExit: string,
|
||||
endEnter: string,
|
||||
endExit: string,
|
||||
},
|
||||
headers?: { [key: string]: string },
|
||||
};
|
||||
|
||||
type InAppBrowserOptions = InAppBrowserAndroidOptions | InAppBrowseriOSOptions;
|
||||
RNInAppBrowser,
|
||||
openBrowserAsync,
|
||||
openAuthSessionAsync,
|
||||
openAuthSessionPolyfillAsync,
|
||||
closeAuthSessionPolyfillAsync,
|
||||
authSessionIsNativelySupported,
|
||||
} from './utils';
|
||||
|
||||
async function open(
|
||||
url: string,
|
||||
options: InAppBrowserOptions = {}
|
||||
options?: InAppBrowserOptions
|
||||
): Promise<BrowserResult> {
|
||||
const inAppBrowserOptions = {
|
||||
...options,
|
||||
url,
|
||||
dismissButtonStyle: options.dismissButtonStyle || 'close',
|
||||
readerMode: !!options.readerMode,
|
||||
animated: options.animated !== undefined ? options.animated : true,
|
||||
modalEnabled:
|
||||
options.modalEnabled !== undefined ? options.modalEnabled : true,
|
||||
enableBarCollapsing: !!options.enableBarCollapsing,
|
||||
preferredBarTintColor:
|
||||
options.preferredBarTintColor &&
|
||||
processColor(options.preferredBarTintColor),
|
||||
preferredControlTintColor:
|
||||
options.preferredControlTintColor &&
|
||||
processColor(options.preferredControlTintColor),
|
||||
};
|
||||
return RNInAppBrowser.open(inAppBrowserOptions);
|
||||
return openBrowserAsync(url, options);
|
||||
}
|
||||
|
||||
async function openAuth(
|
||||
url: string,
|
||||
redirectUrl: string,
|
||||
options?: InAppBrowserOptions
|
||||
): Promise<AuthSessionResult> {
|
||||
if (authSessionIsNativelySupported()) {
|
||||
return openAuthSessionAsync(url, redirectUrl, options);
|
||||
} else {
|
||||
return openAuthSessionPolyfillAsync(url, redirectUrl, options);
|
||||
}
|
||||
}
|
||||
|
||||
function close(): void {
|
||||
RNInAppBrowser.close();
|
||||
}
|
||||
|
||||
type AuthSessionResult = RedirectResult | BrowserResult;
|
||||
|
||||
async function openAuth(
|
||||
url: string,
|
||||
redirectUrl: string,
|
||||
options: InAppBrowserOptions = {}
|
||||
): Promise<AuthSessionResult> {
|
||||
const inAppBrowserOptions = {
|
||||
...options,
|
||||
ephemeralWebSession:
|
||||
options.ephemeralWebSession !== undefined
|
||||
? options.ephemeralWebSession
|
||||
: false,
|
||||
};
|
||||
|
||||
if (_authSessionIsNativelySupported()) {
|
||||
return RNInAppBrowser.openAuth(url, redirectUrl, inAppBrowserOptions);
|
||||
} else {
|
||||
return _openAuthSessionPolyfillAsync(url, redirectUrl, inAppBrowserOptions);
|
||||
}
|
||||
}
|
||||
|
||||
function closeAuth(): void {
|
||||
closeAuthSessionPolyfillAsync();
|
||||
if (_authSessionIsNativelySupported()) {
|
||||
if (authSessionIsNativelySupported()) {
|
||||
RNInAppBrowser.closeAuth();
|
||||
} else {
|
||||
close();
|
||||
}
|
||||
}
|
||||
|
||||
/* iOS <= 10 and Android polyfill for SFAuthenticationSession flow */
|
||||
function _authSessionIsNativelySupported() {
|
||||
if (Platform.OS === 'android') {
|
||||
return false;
|
||||
}
|
||||
|
||||
const versionNumber = parseInt(Platform.Version, 10);
|
||||
return versionNumber >= 11;
|
||||
}
|
||||
|
||||
let _redirectHandler: ?(event: RedirectEvent) => void;
|
||||
|
||||
function closeAuthSessionPolyfillAsync(): void {
|
||||
if (_redirectHandler) {
|
||||
Linking.removeEventListener('url', _redirectHandler);
|
||||
_redirectHandler = null;
|
||||
}
|
||||
}
|
||||
|
||||
async function _openAuthSessionPolyfillAsync(
|
||||
startUrl: string,
|
||||
returnUrl: string,
|
||||
options: InAppBrowserOptions
|
||||
): Promise<AuthSessionResult> {
|
||||
invariant(
|
||||
!_redirectHandler,
|
||||
'InAppBrowser.openAuth is in a bad state. _redirectHandler is defined when it should not be.'
|
||||
);
|
||||
let response = null;
|
||||
try {
|
||||
response = await Promise.race([
|
||||
_waitForRedirectAsync(returnUrl),
|
||||
open(startUrl, options).then(function (result) {
|
||||
return _checkResultAndReturnUrl(returnUrl, result);
|
||||
}),
|
||||
]);
|
||||
} finally {
|
||||
closeAuthSessionPolyfillAsync();
|
||||
close();
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
function _waitForRedirectAsync(returnUrl: string): Promise<RedirectResult> {
|
||||
return new Promise(function (resolve) {
|
||||
_redirectHandler = (event: RedirectEvent) => {
|
||||
if (event.url && event.url.startsWith(returnUrl)) {
|
||||
resolve({ url: event.url, type: 'success' });
|
||||
}
|
||||
};
|
||||
|
||||
Linking.addEventListener('url', _redirectHandler);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Detect Android Activity `OnResume` event once
|
||||
*/
|
||||
function AppStateActiveOnce(): Promise<void> {
|
||||
return new Promise(function (resolve) {
|
||||
function _handleAppStateChange(nextAppState: AppStateStatus) {
|
||||
if (nextAppState === 'active') {
|
||||
AppState.removeEventListener('change', _handleAppStateChange);
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
AppState.addEventListener('change', _handleAppStateChange);
|
||||
});
|
||||
}
|
||||
|
||||
async function _checkResultAndReturnUrl(
|
||||
returnUrl: string,
|
||||
result: AuthSessionResult
|
||||
): Promise<AuthSessionResult> {
|
||||
if (Platform.OS === 'android' && result.type !== 'cancel') {
|
||||
try {
|
||||
await AppStateActiveOnce();
|
||||
const url = await Linking.getInitialURL();
|
||||
return url && url.startsWith(returnUrl)
|
||||
? { url, type: 'success' }
|
||||
: result;
|
||||
} catch {
|
||||
return result;
|
||||
}
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
async function isAvailable(): Promise<boolean> {
|
||||
return RNInAppBrowser.isAvailable();
|
||||
}
|
||||
|
||||
export default {
|
||||
export const InAppBrowser = {
|
||||
open,
|
||||
openAuth,
|
||||
close,
|
||||
closeAuth,
|
||||
isAvailable,
|
||||
};
|
||||
|
||||
export default InAppBrowser;
|
||||
|
||||
18
package.json
18
package.json
@ -1,14 +1,8 @@
|
||||
{
|
||||
"name": "react-native-inappbrowser-reborn",
|
||||
"version": "3.4.0",
|
||||
"version": "3.5.1",
|
||||
"description": "InAppBrowser for React Native",
|
||||
"main": "index.js",
|
||||
"files": [
|
||||
"android/",
|
||||
"ios/",
|
||||
"index.d.ts",
|
||||
"RNInAppBrowser.podspec"
|
||||
],
|
||||
"scripts": {
|
||||
"flow": "flow check",
|
||||
"lint": "eslint index.js",
|
||||
@ -52,12 +46,12 @@
|
||||
"opencollective-postinstall": "^2.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@react-native-community/eslint-config": "1.0.0",
|
||||
"@react-native-community/eslint-config": "2.0.0",
|
||||
"babel-core": "^6.26.3",
|
||||
"eslint": "^6.8.0",
|
||||
"flow-bin": "^0.122.0",
|
||||
"react": "16.11.0",
|
||||
"react-native": "0.62.1"
|
||||
"eslint": "^7.11.0",
|
||||
"flow-bin": "^0.135.0",
|
||||
"react": "16.13.1",
|
||||
"react-native": "0.63.3"
|
||||
},
|
||||
"collective": {
|
||||
"type": "opencollective",
|
||||
|
||||
70
types.js
Normal file
70
types.js
Normal file
@ -0,0 +1,70 @@
|
||||
/**
|
||||
* @format
|
||||
* @flow strict-local
|
||||
*/
|
||||
|
||||
export type RedirectEvent = {
|
||||
url: 'string',
|
||||
};
|
||||
|
||||
export type BrowserResult = {
|
||||
type: 'cancel' | 'dismiss',
|
||||
};
|
||||
|
||||
export type RedirectResult = {
|
||||
type: 'success',
|
||||
url: string,
|
||||
};
|
||||
|
||||
type InAppBrowseriOSOptions = {
|
||||
dismissButtonStyle?: 'done' | 'close' | 'cancel',
|
||||
preferredBarTintColor?: string,
|
||||
preferredControlTintColor?: string,
|
||||
readerMode?: boolean,
|
||||
animated?: boolean,
|
||||
modalPresentationStyle?:
|
||||
| 'automatic'
|
||||
| 'fullScreen'
|
||||
| 'pageSheet'
|
||||
| 'formSheet'
|
||||
| 'currentContext'
|
||||
| 'custom'
|
||||
| 'overFullScreen'
|
||||
| 'overCurrentContext'
|
||||
| 'popover'
|
||||
| 'none',
|
||||
modalTransitionStyle?:
|
||||
| 'coverVertical'
|
||||
| 'flipHorizontal'
|
||||
| 'crossDissolve'
|
||||
| 'partialCurl',
|
||||
modalEnabled?: boolean,
|
||||
enableBarCollapsing?: boolean,
|
||||
ephemeralWebSession?: boolean,
|
||||
};
|
||||
|
||||
type InAppBrowserAndroidOptions = {
|
||||
showTitle?: boolean,
|
||||
toolbarColor?: string,
|
||||
secondaryToolbarColor?: string,
|
||||
enableUrlBarHiding?: boolean,
|
||||
enableDefaultShare?: boolean,
|
||||
forceCloseOnRedirection?: boolean,
|
||||
animations?: {
|
||||
startEnter: string,
|
||||
startExit: string,
|
||||
endEnter: string,
|
||||
endExit: string,
|
||||
},
|
||||
headers?: { [key: string]: string },
|
||||
hasBackButton?: boolean,
|
||||
browserPackage?: string,
|
||||
showInRecents?: boolean,
|
||||
};
|
||||
|
||||
export type InAppBrowserOptions = {
|
||||
...InAppBrowserAndroidOptions,
|
||||
...InAppBrowseriOSOptions
|
||||
};
|
||||
|
||||
export type AuthSessionResult = RedirectResult | BrowserResult;
|
||||
153
utils.js
Normal file
153
utils.js
Normal file
@ -0,0 +1,153 @@
|
||||
/**
|
||||
* @format
|
||||
* @flow strict-local
|
||||
*/
|
||||
|
||||
import invariant from 'invariant';
|
||||
import {
|
||||
processColor,
|
||||
Linking,
|
||||
Platform,
|
||||
AppState,
|
||||
NativeModules
|
||||
} from 'react-native';
|
||||
import type {
|
||||
BrowserResult,
|
||||
RedirectEvent,
|
||||
RedirectResult,
|
||||
AuthSessionResult,
|
||||
InAppBrowserOptions
|
||||
} from './types';
|
||||
|
||||
export const RNInAppBrowser = NativeModules.RNInAppBrowser;
|
||||
|
||||
let _redirectHandler: ?(event: RedirectEvent) => void;
|
||||
|
||||
type AppStateStatus = typeof AppState.currentState
|
||||
|
||||
function waitForRedirectAsync(returnUrl: string): Promise<RedirectResult> {
|
||||
return new Promise(function (resolve) {
|
||||
_redirectHandler = (event: RedirectEvent) => {
|
||||
if (event.url && event.url.startsWith(returnUrl)) {
|
||||
resolve({ url: event.url, type: 'success' });
|
||||
}
|
||||
};
|
||||
|
||||
Linking.addEventListener('url', _redirectHandler);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Detect Android Activity `OnResume` event once
|
||||
*/
|
||||
function handleAppStateActiveOnce(): Promise<void> {
|
||||
return new Promise(function (resolve) {
|
||||
// Browser can be closed before handling AppState change
|
||||
if (AppState.currentState === 'active') {
|
||||
return resolve();
|
||||
}
|
||||
function handleAppStateChange(nextAppState: AppStateStatus) {
|
||||
if (nextAppState === 'active') {
|
||||
AppState.removeEventListener('change', handleAppStateChange);
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
AppState.addEventListener('change', handleAppStateChange);
|
||||
});
|
||||
}
|
||||
|
||||
async function checkResultAndReturnUrl(
|
||||
returnUrl: string,
|
||||
result: AuthSessionResult
|
||||
): Promise<AuthSessionResult> {
|
||||
if (Platform.OS === 'android' && result.type !== 'cancel') {
|
||||
try {
|
||||
await handleAppStateActiveOnce();
|
||||
const url = await Linking.getInitialURL();
|
||||
return url && url.startsWith(returnUrl)
|
||||
? { url, type: 'success' }
|
||||
: result;
|
||||
} catch {
|
||||
return result;
|
||||
}
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export async function openBrowserAsync(
|
||||
url: string,
|
||||
options?: InAppBrowserOptions = {
|
||||
animated: true,
|
||||
modalEnabled: true,
|
||||
dismissButtonStyle: 'close',
|
||||
readerMode: false,
|
||||
enableBarCollapsing: false
|
||||
}
|
||||
): Promise<BrowserResult> {
|
||||
return RNInAppBrowser.open({
|
||||
...options,
|
||||
url,
|
||||
preferredBarTintColor:
|
||||
options.preferredBarTintColor &&
|
||||
processColor(options.preferredBarTintColor),
|
||||
preferredControlTintColor:
|
||||
options.preferredControlTintColor &&
|
||||
processColor(options.preferredControlTintColor)
|
||||
})
|
||||
}
|
||||
|
||||
export async function openAuthSessionAsync(
|
||||
url: string,
|
||||
redirectUrl: string,
|
||||
options?: InAppBrowserOptions = {
|
||||
ephemeralWebSession: false
|
||||
}
|
||||
): Promise<AuthSessionResult> {
|
||||
return RNInAppBrowser.openAuth(
|
||||
url,
|
||||
redirectUrl,
|
||||
options
|
||||
);
|
||||
}
|
||||
|
||||
export async function openAuthSessionPolyfillAsync(
|
||||
startUrl: string,
|
||||
returnUrl: string,
|
||||
options?: InAppBrowserOptions
|
||||
): Promise<AuthSessionResult> {
|
||||
invariant(
|
||||
!_redirectHandler,
|
||||
'InAppBrowser.openAuth is in a bad state. _redirectHandler is defined when it should not be.'
|
||||
);
|
||||
let response = null;
|
||||
try {
|
||||
response = await Promise.race([
|
||||
waitForRedirectAsync(returnUrl),
|
||||
openBrowserAsync(startUrl, options).then(function (result) {
|
||||
return checkResultAndReturnUrl(returnUrl, result);
|
||||
}),
|
||||
]);
|
||||
} finally {
|
||||
closeAuthSessionPolyfillAsync();
|
||||
RNInAppBrowser.close();
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
export function closeAuthSessionPolyfillAsync(): void {
|
||||
if (_redirectHandler) {
|
||||
Linking.removeEventListener('url', _redirectHandler);
|
||||
_redirectHandler = null;
|
||||
}
|
||||
}
|
||||
|
||||
/* iOS <= 10 and Android polyfill for SFAuthenticationSession flow */
|
||||
export function authSessionIsNativelySupported(): boolean {
|
||||
if (Platform.OS === 'android') {
|
||||
return false;
|
||||
}
|
||||
|
||||
const versionNumber = parseInt(Platform.Version, 10);
|
||||
return versionNumber >= 11;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user