Compare commits

..

No commits in common. "develop" and "master" have entirely different histories.

29 changed files with 3623 additions and 3745 deletions

View File

@ -31,25 +31,39 @@ node_modules/warning/.*
[include] [include]
[libs] [libs]
node_modules/react-native/interface.js node_modules/react-native/Libraries/react-native/react-native-interface.js
node_modules/react-native/flow/ node_modules/react-native/flow/
[declarations]
<PROJECT_ROOT>/node_modules
[options] [options]
emoji=true emoji=true
exact_by_default=true esproposal.optional_chaining=enable
esproposal.nullish_coalescing=enable
module.file_ext=.js module.file_ext=.js
module.file_ext=.json module.file_ext=.json
module.file_ext=.ios.js 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 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' 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 suppress_type=$FlowIssue
@ -57,7 +71,9 @@ suppress_type=$FlowFixMe
suppress_type=$FlowFixMeProps suppress_type=$FlowFixMeProps
suppress_type=$FlowFixMeState suppress_type=$FlowFixMeState
experimental.abstract_locations=true 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
[lints] [lints]
sketchy-null-number=warn sketchy-null-number=warn
@ -67,16 +83,19 @@ untyped-type-import=warn
nonstrict-import=warn nonstrict-import=warn
deprecated-type=warn deprecated-type=warn
unsafe-getters-setters=warn unsafe-getters-setters=warn
inexact-spread=warn
unnecessary-invariant=warn unnecessary-invariant=warn
signature-verification-failure=warn signature-verification-failure=warn
deprecated-utility=error
[strict] [strict]
deprecated-type deprecated-type
nonstrict-import nonstrict-import
sketchy-null
unclear-type unclear-type
unsafe-getters-setters unsafe-getters-setters
untyped-import untyped-import
untyped-type-import untyped-type-import
[version] [version]
^0.135.0 ^0.98.0

View File

@ -1,4 +1 @@
.github/
.vscode/
example/ example/
img/

View File

@ -22,35 +22,14 @@ in case of vulnerabilities.
## [Unreleased] ## [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 ## [3.4.0] - 2020-04-08
### Added ### 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)). - 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)).
- Added `@ReactModule` annotation by [@janicduplessis](https://github.com/janicduplessis) ([#94](https://github.com/proyecto26/react-native-inappbrowser/pull/94)). - Add `@ReactModule` annotation by [@janicduplessis](https://github.com/janicduplessis) ([#94](https://github.com/proyecto26/react-native-inappbrowser/pull/94)).
### Fixed ### Fixed
- Removed listener of `openAuth` when `closeAuth` is called. - Remove listener of `openAuth` when `closeAuth` is called.
## [3.3.4] - 2020-01-07 ## [3.3.4] - 2020-01-07
@ -60,7 +39,7 @@ in case of vulnerabilities.
## [3.3.3] - 2019-11-25 ## [3.3.3] - 2019-11-25
### Fixed ### Fixed
- Removed build warnings with **iOS** 13 using [Pragmas](https://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-via-pragmas). - Remove build warnings with **iOS** 13 using [Pragmas](https://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-via-pragmas).
## [3.3.2] - 2019-11-15 ## [3.3.2] - 2019-11-15
@ -112,7 +91,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. - 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)). - 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)). - Present the **SafariViewController** modally or as push instead using the `modalEnabled` property ([4a0d57c](https://github.com/proyecto26/react-native-inappbrowser/commit/4a0d57c73eccaaf45a212853c50aa41520b550c8)).
- Added workaround to dismiss **SafariViewController** without animation. - Add workaround to dismiss **SafariViewController** without animation.
### Removed ### 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)). - **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)).
@ -136,7 +115,7 @@ in case of vulnerabilities.
- README now contains the different options to open the browser. - README now contains the different options to open the browser.
### Fixed ### Fixed
- 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)). - 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)).
### Changed ### 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)). - 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)).
@ -167,7 +146,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)). - 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)). - 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)). - 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)).
- 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)). - 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)).
- Clear `mOpenBrowserPromise` after sending a cancel by [@rbscott](https://github.com/rbscott) ([d9cc2a3](https://github.com/proyecto26/react-native-inappbrowser/commit/d9cc2a3183f84790deb22bf01f4f7658d67bc8ca)). - 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)). - 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)). - 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)).
@ -175,9 +154,7 @@ 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)). - 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.5.1...HEAD [Unreleased]: https://github.com/proyecto26/react-native-inappbrowser/compare/v3.4.0...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.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.4]: https://github.com/proyecto26/react-native-inappbrowser/compare/v3.3.3...v3.3.4
[3.3.3]: https://github.com/proyecto26/react-native-inappbrowser/compare/v3.3.2...v3.3.3 [3.3.3]: https://github.com/proyecto26/react-native-inappbrowser/compare/v3.3.2...v3.3.3

View File

@ -26,21 +26,12 @@
</p> </p>
<h1 align="center">InAppBrowser for React Native</h1> <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> <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"> <p align="center">
<img width="400px" src="https://github.com/proyecto26/react-native-inappbrowser/blob/main/img/inappbrowser.png?raw=true"> <img width="400px" src="img/inappbrowser.png">
</p> </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 ## Getting started
`$ npm install react-native-inappbrowser-reborn --save` `$ npm install react-native-inappbrowser-reborn --save`
@ -159,6 +150,7 @@ Property | Description
Property | Description Property | Description
-------------- | ------ -------------- | ------
`showTitle` (Boolean) | Sets whether the title should be shown in the custom tab. [`true`/`false`] `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`] `toolbarColor` (String) | Sets the toolbar color. [`gray`/`#808080`]
`secondaryToolbarColor` (String) | Sets the color of the secondary toolbar. [`white`/`#FFFFFF`] `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`] `enableUrlBarHiding` (Boolean) | Enables the url bar to hide as the user scrolls down on the page. [`true`/`false`]
@ -166,15 +158,12 @@ Property | Description
`animations` (Object) | Sets the start and exit animations. [`{ startEnter, startExit, endEnter, endExit }`] `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 ...' }`] `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`] `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 ### Demo
```javascript ```javascript
import { Linking } from 'react-native' import { Linking } from 'react-native'
import { InAppBrowser } from 'react-native-inappbrowser-reborn' import InAppBrowser from 'react-native-inappbrowser-reborn'
... ...
async openLink() { async openLink() {
@ -189,7 +178,7 @@ import { InAppBrowser } from 'react-native-inappbrowser-reborn'
readerMode: false, readerMode: false,
animated: true, animated: true,
modalPresentationStyle: 'fullScreen', modalPresentationStyle: 'fullScreen',
modalTransitionStyle: 'coverVertical', modalTransitionStyle: 'partialCurl',
modalEnabled: true, modalEnabled: true,
enableBarCollapsing: false, enableBarCollapsing: false,
// Android Properties // Android Properties
@ -298,7 +287,7 @@ const Main = createStackNavigator(
- LoginComponent - LoginComponent
```javascript ```javascript
import { Linking } from 'react-native' import { Linking } from 'react-native'
import { InAppBrowser } from 'react-native-inappbrowser-reborn' import InAppBrowser from 'react-native-inappbrowser-reborn'
import { getDeepLink } from './utilities' import { getDeepLink } from './utilities'
... ...
async onLogin() { async onLogin() {

View File

@ -19,7 +19,7 @@ Pod::Spec.new do |s|
s.source_files = 'ios/**/*.{h,m}' s.source_files = 'ios/**/*.{h,m}'
s.exclude_files = 'android/**/*' s.exclude_files = 'android/**/*'
s.dependency "React-Core" s.dependency "React"
#s.dependency "others" #s.dependency "others"
end end

View File

@ -38,10 +38,6 @@ android {
lintOptions { lintOptions {
abortOnError false abortOnError false
} }
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
} }
repositories { repositories {

View File

@ -3,7 +3,6 @@ package com.proyecto26.inappbrowser;
import android.R.anim; import android.R.anim;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@ -12,7 +11,6 @@ import android.graphics.Color;
import android.graphics.BitmapFactory; import android.graphics.BitmapFactory;
import android.provider.Browser; import android.provider.Browser;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.browser.customtabs.CustomTabsClient;
import androidx.browser.customtabs.CustomTabsIntent; import androidx.browser.customtabs.CustomTabsIntent;
import androidx.core.graphics.ColorUtils; import androidx.core.graphics.ColorUtils;
@ -27,7 +25,6 @@ import com.facebook.react.bridge.JSApplicationIllegalArgumentException;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import java.util.Arrays;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.List; import java.util.List;
@ -45,15 +42,7 @@ public class RNInAppBrowser {
private static final String KEY_ANIMATION_START_EXIT = "startExit"; 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_ENTER = "endEnter";
private static final String KEY_ANIMATION_END_EXIT = "endExit"; private static final String KEY_ANIMATION_END_EXIT = "endExit";
private static final String KEY_HAS_BACK_BUTTON = "hasBackButton"; private static final String HASBACKBUTTON = "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 @Nullable Promise mOpenBrowserPromise;
private Boolean isLightTheme; private Boolean isLightTheme;
@ -98,6 +87,10 @@ public class RNInAppBrowser {
"Invalid secondary toolbar color '" + colorString + "': " + e.getMessage()); "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) && if (options.hasKey(KEY_DEFAULT_SHARE_MENU_ITEM) &&
options.getBoolean(KEY_DEFAULT_SHARE_MENU_ITEM)) { options.getBoolean(KEY_DEFAULT_SHARE_MENU_ITEM)) {
builder.addDefaultShareMenuItem(); builder.addDefaultShareMenuItem();
@ -106,16 +99,13 @@ public class RNInAppBrowser {
final ReadableMap animations = options.getMap(KEY_ANIMATIONS); final ReadableMap animations = options.getMap(KEY_ANIMATIONS);
applyAnimation(context, builder, animations); applyAnimation(context, builder, animations);
} }
if (options.hasKey(KEY_HAS_BACK_BUTTON) && if (options.hasKey(HASBACKBUTTON) &&
options.getBoolean(KEY_HAS_BACK_BUTTON)) { options.getBoolean(HASBACKBUTTON)) {
builder.setCloseButtonIcon(BitmapFactory.decodeResource( builder.setCloseButtonIcon(BitmapFactory.decodeResource(
context.getResources(), context.getResources(), isLightTheme ? R.drawable.ic_arrow_back_black : R.drawable.ic_arrow_back_white));
isLightTheme ? R.drawable.ic_arrow_back_black : R.drawable.ic_arrow_back_white
));
} }
CustomTabsIntent customTabsIntent = builder.build(); CustomTabsIntent customTabsIntent = builder.build();
Intent intent = customTabsIntent.intent;
if (options.hasKey(KEY_HEADERS)) { if (options.hasKey(KEY_HEADERS)) {
ReadableMap readableMap = options.getMap(KEY_HEADERS); ReadableMap readableMap = options.getMap(KEY_HEADERS);
@ -135,38 +125,19 @@ public class RNInAppBrowser {
break; break;
} }
} }
intent.putExtra(Browser.EXTRA_HEADERS, headers); customTabsIntent.intent.putExtra(Browser.EXTRA_HEADERS, headers);
} }
} }
} }
if (options.hasKey(KEY_FORCE_CLOSE_ON_REDIRECTION) && if (options.hasKey(KEY_FORCE_CLOSE_ON_REDIRECTION) &&
options.getBoolean(KEY_FORCE_CLOSE_ON_REDIRECTION)) { options.getBoolean(KEY_FORCE_CLOSE_ON_REDIRECTION)) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); customTabsIntent.intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
} customTabsIntent.intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (!options.hasKey(KEY_SHOW_IN_RECENTS) || customTabsIntent.intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
!options.getBoolean(KEY_SHOW_IN_RECENTS)) {
intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
}
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 intent = customTabsIntent.intent;
intent.setData(Uri.parse(url)); intent.setData(Uri.parse(url));
if (options.hasKey(KEY_SHOW_PAGE_TITLE)) { if (options.hasKey(KEY_SHOW_PAGE_TITLE)) {
builder.setShowTitle(options.getBoolean(KEY_SHOW_PAGE_TITLE)); builder.setShowTitle(options.getBoolean(KEY_SHOW_PAGE_TITLE));
@ -178,8 +149,7 @@ public class RNInAppBrowser {
registerEventBus(); registerEventBus();
currentActivity.startActivity( currentActivity.startActivity(
ChromeTabsManagerActivity.createStartIntent(currentActivity, intent), ChromeTabsManagerActivity.createStartIntent(currentActivity, intent), customTabsIntent.startAnimationBundle);
customTabsIntent.startAnimationBundle);
} }
public void close() { public void close() {
@ -205,7 +175,8 @@ public class RNInAppBrowser {
} }
public void isAvailable(Context context, final Promise promise) { public void isAvailable(Context context, final Promise promise) {
List<ResolveInfo> resolveInfos = getPreferredPackages(context); Intent serviceIntent = new Intent("android.support.customtabs.action.CustomTabsService");
List<ResolveInfo> resolveInfos = context.getPackageManager().queryIntentServices(serviceIntent, 0);
promise.resolve(!(resolveInfos == null || resolveInfos.isEmpty())); promise.resolve(!(resolveInfos == null || resolveInfos.isEmpty()));
} }
@ -269,20 +240,4 @@ public class RNInAppBrowser {
private Boolean toolbarIsLight(String themeColor) { private Boolean toolbarIsLight(String themeColor) {
return ColorUtils.calculateLuminance(Color.parseColor(themeColor)) > 0.5; 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;
}
} }

View File

@ -18,7 +18,7 @@ import {
StatusBar, StatusBar,
Linking, Linking,
} from 'react-native'; } from 'react-native';
import { InAppBrowser } from 'react-native-inappbrowser-reborn'; import InAppBrowser from 'react-native-inappbrowser-reborn';
const instructions = Platform.select({ const instructions = Platform.select({
ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu', ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
@ -27,12 +27,7 @@ const instructions = Platform.select({
'Shake or press menu button for dev menu', 'Shake or press menu button for dev menu',
}); });
type ComponentState = { export default class App extends Component {
url: string,
statusBarStyle: string
}
export default class App extends Component<ComponentState> {
constructor(props) { constructor(props) {
super(props); super(props);
@ -42,7 +37,7 @@ export default class App extends Component<ComponentState> {
}; };
} }
sleep(timeout: number) { sleep(timeout) {
return new Promise((resolve) => setTimeout(resolve, timeout)); return new Promise((resolve) => setTimeout(resolve, timeout));
} }
@ -59,12 +54,12 @@ export default class App extends Component<ComponentState> {
dismissButtonStyle: 'cancel', dismissButtonStyle: 'cancel',
preferredBarTintColor: '#453AA4', preferredBarTintColor: '#453AA4',
preferredControlTintColor: 'white', preferredControlTintColor: 'white',
readerMode: true, readerMode: false,
animated, animated,
modalPresentationStyle: 'fullScreen', modalPresentationStyle: 'fullScreen',
modalTransitionStyle: 'flipHorizontal', modalTransitionStyle: 'partialCurl',
modalEnabled: true, modalEnabled: true,
enableBarCollapsing: true, enableBarCollapsing: false,
// Android Properties // Android Properties
showTitle: true, showTitle: true,
toolbarColor: '#6200EE', toolbarColor: '#6200EE',
@ -83,9 +78,6 @@ export default class App extends Component<ComponentState> {
headers: { headers: {
'my-custom-header': 'my custom header value', 'my-custom-header': 'my custom header value',
}, },
hasBackButton: true,
browserPackage: null,
showInRecents: false
}); });
// A delay to show an alert when the browser is closed // A delay to show an alert when the browser is closed
await this.sleep(800); await this.sleep(800);
@ -94,7 +86,6 @@ export default class App extends Component<ComponentState> {
Linking.openURL(url); Linking.openURL(url);
} }
} catch (error) { } catch (error) {
console.error(error);
Alert.alert(error.message); Alert.alert(error.message);
} finally { } finally {
// Restore the previous StatusBar of the App // Restore the previous StatusBar of the App
@ -128,7 +119,6 @@ export default class App extends Component<ComponentState> {
Alert.alert('InAppBrowser is not supported :/'); Alert.alert('InAppBrowser is not supported :/');
} }
} catch (error) { } catch (error) {
console.error(error);
Alert.alert('Somethings wrong with the app :('); Alert.alert('Somethings wrong with the app :(');
} }
} }

View File

@ -25,7 +25,7 @@
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="my-demo" android:host="demo" /> <data android:scheme="my-demo" android:host="demo" android:pathPrefix="" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" /> <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />

View File

@ -2,17 +2,17 @@
buildscript { buildscript {
ext { ext {
buildToolsVersion = "29.0.2" buildToolsVersion = "28.0.3"
minSdkVersion = 16 minSdkVersion = 16
compileSdkVersion = 29 compileSdkVersion = 28
targetSdkVersion = 29 targetSdkVersion = 28
} }
repositories { repositories {
google() google()
jcenter() jcenter()
} }
dependencies { dependencies {
classpath("com.android.tools.build:gradle:3.5.3") classpath("com.android.tools.build:gradle:3.5.2")
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files // in the individual module build.gradle files

View File

@ -25,4 +25,4 @@ android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
# Version of flipper SDK to use with React Native # Version of flipper SDK to use with React Native
FLIPPER_VERSION=0.54.0 FLIPPER_VERSION=0.33.1

View File

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

View File

@ -154,19 +154,19 @@ if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
else else
eval `echo args$i`="\"$arg\"" eval `echo args$i`="\"$arg\""
fi fi
i=`expr $i + 1` i=$((i+1))
done done
case $i in case $i in
0) set -- ;; (0) set -- ;;
1) set -- "$args0" ;; (1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;; (2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;; (3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;; (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac esac
fi fi
@ -175,9 +175,14 @@ save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " " echo " "
} }
APP_ARGS=`save "$@"` APP_ARGS=$(save "$@")
# Collect all arguments for the java command, following the shell quoting and substitution rules # 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" 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" "$@"

View File

@ -29,9 +29,6 @@ if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0 set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME% 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. @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" set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"

View File

@ -1,23 +1,71 @@
require_relative '../node_modules/react-native/scripts/react_native_pods' platform :ios, '9.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
platform :ios, '10.0' def add_flipper_pods!
version = '~> 0.33.1'
pod 'FlipperKit', version, :configuration => 'Debug'
pod 'FlipperKit/FlipperKitLayoutPlugin', version, :configuration => 'Debug'
pod 'FlipperKit/SKIOSNetworkPlugin', version, :configuration => 'Debug'
pod 'FlipperKit/FlipperKitUserDefaultsPlugin', version, :configuration => 'Debug'
pod 'FlipperKit/FlipperKitReactPlugin', version, :configuration => 'Debug'
end
# Post Install processing for Flipper
def flipper_post_install(installer)
installer.pods_project.targets.each do |target|
if target.name == 'YogaKit'
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.1'
end
end
end
end
target 'example' do target 'example' do
config = use_native_modules! # 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/'
use_react_native!(:path => config["reactNativePath"]) 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'
target 'exampleTests' do target 'exampleTests' do
inherit! :complete inherit! :complete
# Pods for testing # Pods for testing
end end
use_native_modules!
# Enables Flipper. # Enables Flipper.
# #
# Note that if you have use_frameworks! enabled, Flipper will not work and # Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable these next few lines. # you should disable these next few lines.
use_flipper! add_flipper_pods!
post_install do |installer| post_install do |installer|
flipper_post_install(installer) flipper_post_install(installer)
end end

View File

@ -3,17 +3,17 @@ PODS:
- CocoaAsyncSocket (7.6.4) - CocoaAsyncSocket (7.6.4)
- CocoaLibEvent (1.0.0) - CocoaLibEvent (1.0.0)
- DoubleConversion (1.1.6) - DoubleConversion (1.1.6)
- FBLazyVector (0.63.3) - FBLazyVector (0.62.1)
- FBReactNativeSpec (0.63.3): - FBReactNativeSpec (0.62.1):
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- RCTRequired (= 0.63.3) - RCTRequired (= 0.62.1)
- RCTTypeSafety (= 0.63.3) - RCTTypeSafety (= 0.62.1)
- React-Core (= 0.63.3) - React-Core (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- ReactCommon/turbomodule/core (= 0.63.3) - ReactCommon/turbomodule/core (= 0.62.1)
- Flipper (0.54.0): - Flipper (0.33.1):
- Flipper-Folly (~> 2.2) - Flipper-Folly (~> 2.1)
- Flipper-RSocket (~> 1.1) - Flipper-RSocket (~> 1.0)
- Flipper-DoubleConversion (1.1.7) - Flipper-DoubleConversion (1.1.7)
- Flipper-Folly (2.2.0): - Flipper-Folly (2.2.0):
- boost-for-react-native - boost-for-react-native
@ -25,44 +25,44 @@ PODS:
- Flipper-PeerTalk (0.0.4) - Flipper-PeerTalk (0.0.4)
- Flipper-RSocket (1.1.0): - Flipper-RSocket (1.1.0):
- Flipper-Folly (~> 2.2) - Flipper-Folly (~> 2.2)
- FlipperKit (0.54.0): - FlipperKit (0.33.1):
- FlipperKit/Core (= 0.54.0) - FlipperKit/Core (= 0.33.1)
- FlipperKit/Core (0.54.0): - FlipperKit/Core (0.33.1):
- Flipper (~> 0.54.0) - Flipper (~> 0.33.1)
- FlipperKit/CppBridge - FlipperKit/CppBridge
- FlipperKit/FBCxxFollyDynamicConvert - FlipperKit/FBCxxFollyDynamicConvert
- FlipperKit/FBDefines - FlipperKit/FBDefines
- FlipperKit/FKPortForwarding - FlipperKit/FKPortForwarding
- FlipperKit/CppBridge (0.54.0): - FlipperKit/CppBridge (0.33.1):
- Flipper (~> 0.54.0) - Flipper (~> 0.33.1)
- FlipperKit/FBCxxFollyDynamicConvert (0.54.0): - FlipperKit/FBCxxFollyDynamicConvert (0.33.1):
- Flipper-Folly (~> 2.2) - Flipper-Folly (~> 2.1)
- FlipperKit/FBDefines (0.54.0) - FlipperKit/FBDefines (0.33.1)
- FlipperKit/FKPortForwarding (0.54.0): - FlipperKit/FKPortForwarding (0.33.1):
- CocoaAsyncSocket (~> 7.6) - CocoaAsyncSocket (~> 7.6)
- Flipper-PeerTalk (~> 0.0.4) - Flipper-PeerTalk (~> 0.0.4)
- FlipperKit/FlipperKitHighlightOverlay (0.54.0) - FlipperKit/FlipperKitHighlightOverlay (0.33.1)
- FlipperKit/FlipperKitLayoutPlugin (0.54.0): - FlipperKit/FlipperKitLayoutPlugin (0.33.1):
- FlipperKit/Core - FlipperKit/Core
- FlipperKit/FlipperKitHighlightOverlay - FlipperKit/FlipperKitHighlightOverlay
- FlipperKit/FlipperKitLayoutTextSearchable - FlipperKit/FlipperKitLayoutTextSearchable
- YogaKit (~> 1.18) - YogaKit (~> 1.18)
- FlipperKit/FlipperKitLayoutTextSearchable (0.54.0) - FlipperKit/FlipperKitLayoutTextSearchable (0.33.1)
- FlipperKit/FlipperKitNetworkPlugin (0.54.0): - FlipperKit/FlipperKitNetworkPlugin (0.33.1):
- FlipperKit/Core - FlipperKit/Core
- FlipperKit/FlipperKitReactPlugin (0.54.0): - FlipperKit/FlipperKitReactPlugin (0.33.1):
- FlipperKit/Core - FlipperKit/Core
- FlipperKit/FlipperKitUserDefaultsPlugin (0.54.0): - FlipperKit/FlipperKitUserDefaultsPlugin (0.33.1):
- FlipperKit/Core - FlipperKit/Core
- FlipperKit/SKIOSNetworkPlugin (0.54.0): - FlipperKit/SKIOSNetworkPlugin (0.33.1):
- FlipperKit/Core - FlipperKit/Core
- FlipperKit/FlipperKitNetworkPlugin - FlipperKit/FlipperKitNetworkPlugin
- Folly (2020.01.13.00): - Folly (2018.10.22.00):
- boost-for-react-native - boost-for-react-native
- DoubleConversion - DoubleConversion
- Folly/Default (= 2020.01.13.00) - Folly/Default (= 2018.10.22.00)
- glog - glog
- Folly/Default (2020.01.13.00): - Folly/Default (2018.10.22.00):
- boost-for-react-native - boost-for-react-native
- DoubleConversion - DoubleConversion
- glog - glog
@ -70,234 +70,230 @@ PODS:
- OpenSSL-Universal (1.0.2.19): - OpenSSL-Universal (1.0.2.19):
- OpenSSL-Universal/Static (= 1.0.2.19) - OpenSSL-Universal/Static (= 1.0.2.19)
- OpenSSL-Universal/Static (1.0.2.19) - OpenSSL-Universal/Static (1.0.2.19)
- RCTRequired (0.63.3) - RCTRequired (0.62.1)
- RCTTypeSafety (0.63.3): - RCTTypeSafety (0.62.1):
- FBLazyVector (= 0.63.3) - FBLazyVector (= 0.62.1)
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- RCTRequired (= 0.63.3) - RCTRequired (= 0.62.1)
- React-Core (= 0.63.3) - React-Core (= 0.62.1)
- React (0.63.3): - React (0.62.1):
- React-Core (= 0.63.3) - React-Core (= 0.62.1)
- React-Core/DevSupport (= 0.63.3) - React-Core/DevSupport (= 0.62.1)
- React-Core/RCTWebSocket (= 0.63.3) - React-Core/RCTWebSocket (= 0.62.1)
- React-RCTActionSheet (= 0.63.3) - React-RCTActionSheet (= 0.62.1)
- React-RCTAnimation (= 0.63.3) - React-RCTAnimation (= 0.62.1)
- React-RCTBlob (= 0.63.3) - React-RCTBlob (= 0.62.1)
- React-RCTImage (= 0.63.3) - React-RCTImage (= 0.62.1)
- React-RCTLinking (= 0.63.3) - React-RCTLinking (= 0.62.1)
- React-RCTNetwork (= 0.63.3) - React-RCTNetwork (= 0.62.1)
- React-RCTSettings (= 0.63.3) - React-RCTSettings (= 0.62.1)
- React-RCTText (= 0.63.3) - React-RCTText (= 0.62.1)
- React-RCTVibration (= 0.63.3) - React-RCTVibration (= 0.62.1)
- React-callinvoker (0.63.3) - React-Core (0.62.1):
- React-Core (0.63.3): - Folly (= 2018.10.22.00)
- Folly (= 2020.01.13.00)
- glog - glog
- React-Core/Default (= 0.63.3) - React-Core/Default (= 0.62.1)
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsiexecutor (= 0.63.3) - React-jsiexecutor (= 0.62.1)
- Yoga - Yoga
- React-Core/CoreModulesHeaders (0.63.3): - React-Core/CoreModulesHeaders (0.62.1):
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsiexecutor (= 0.63.3) - React-jsiexecutor (= 0.62.1)
- Yoga - Yoga
- React-Core/Default (0.63.3): - React-Core/Default (0.62.1):
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsiexecutor (= 0.63.3) - React-jsiexecutor (= 0.62.1)
- Yoga - Yoga
- React-Core/DevSupport (0.63.3): - React-Core/DevSupport (0.62.1):
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-Core/Default (= 0.63.3) - React-Core/Default (= 0.62.1)
- React-Core/RCTWebSocket (= 0.63.3) - React-Core/RCTWebSocket (= 0.62.1)
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsiexecutor (= 0.63.3) - React-jsiexecutor (= 0.62.1)
- React-jsinspector (= 0.63.3) - React-jsinspector (= 0.62.1)
- Yoga - Yoga
- React-Core/RCTActionSheetHeaders (0.63.3): - React-Core/RCTActionSheetHeaders (0.62.1):
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsiexecutor (= 0.63.3) - React-jsiexecutor (= 0.62.1)
- Yoga - Yoga
- React-Core/RCTAnimationHeaders (0.63.3): - React-Core/RCTAnimationHeaders (0.62.1):
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsiexecutor (= 0.63.3) - React-jsiexecutor (= 0.62.1)
- Yoga - Yoga
- React-Core/RCTBlobHeaders (0.63.3): - React-Core/RCTBlobHeaders (0.62.1):
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsiexecutor (= 0.63.3) - React-jsiexecutor (= 0.62.1)
- Yoga - Yoga
- React-Core/RCTImageHeaders (0.63.3): - React-Core/RCTImageHeaders (0.62.1):
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsiexecutor (= 0.63.3) - React-jsiexecutor (= 0.62.1)
- Yoga - Yoga
- React-Core/RCTLinkingHeaders (0.63.3): - React-Core/RCTLinkingHeaders (0.62.1):
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsiexecutor (= 0.63.3) - React-jsiexecutor (= 0.62.1)
- Yoga - Yoga
- React-Core/RCTNetworkHeaders (0.63.3): - React-Core/RCTNetworkHeaders (0.62.1):
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsiexecutor (= 0.63.3) - React-jsiexecutor (= 0.62.1)
- Yoga - Yoga
- React-Core/RCTSettingsHeaders (0.63.3): - React-Core/RCTSettingsHeaders (0.62.1):
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsiexecutor (= 0.63.3) - React-jsiexecutor (= 0.62.1)
- Yoga - Yoga
- React-Core/RCTTextHeaders (0.63.3): - React-Core/RCTTextHeaders (0.62.1):
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsiexecutor (= 0.63.3) - React-jsiexecutor (= 0.62.1)
- Yoga - Yoga
- React-Core/RCTVibrationHeaders (0.63.3): - React-Core/RCTVibrationHeaders (0.62.1):
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-Core/Default - React-Core/Default
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsiexecutor (= 0.63.3) - React-jsiexecutor (= 0.62.1)
- Yoga - Yoga
- React-Core/RCTWebSocket (0.63.3): - React-Core/RCTWebSocket (0.62.1):
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-Core/Default (= 0.63.3) - React-Core/Default (= 0.62.1)
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsiexecutor (= 0.63.3) - React-jsiexecutor (= 0.62.1)
- Yoga - Yoga
- React-CoreModules (0.63.3): - React-CoreModules (0.62.1):
- FBReactNativeSpec (= 0.63.3) - FBReactNativeSpec (= 0.62.1)
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- RCTTypeSafety (= 0.63.3) - RCTTypeSafety (= 0.62.1)
- React-Core/CoreModulesHeaders (= 0.63.3) - React-Core/CoreModulesHeaders (= 0.62.1)
- React-jsi (= 0.63.3) - React-RCTImage (= 0.62.1)
- React-RCTImage (= 0.63.3) - ReactCommon/turbomodule/core (= 0.62.1)
- ReactCommon/turbomodule/core (= 0.63.3) - React-cxxreact (0.62.1):
- React-cxxreact (0.63.3):
- boost-for-react-native (= 1.63.0) - boost-for-react-native (= 1.63.0)
- DoubleConversion - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-callinvoker (= 0.63.3) - React-jsinspector (= 0.62.1)
- React-jsinspector (= 0.63.3) - React-jsi (0.62.1):
- React-jsi (0.63.3):
- boost-for-react-native (= 1.63.0) - boost-for-react-native (= 1.63.0)
- DoubleConversion - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-jsi/Default (= 0.63.3) - React-jsi/Default (= 0.62.1)
- React-jsi/Default (0.63.3): - React-jsi/Default (0.62.1):
- boost-for-react-native (= 1.63.0) - boost-for-react-native (= 1.63.0)
- DoubleConversion - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-jsiexecutor (0.63.3): - React-jsiexecutor (0.62.1):
- DoubleConversion - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-cxxreact (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-jsi (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsinspector (0.63.3) - React-jsinspector (0.62.1)
- React-RCTActionSheet (0.63.3): - React-RCTActionSheet (0.62.1):
- React-Core/RCTActionSheetHeaders (= 0.63.3) - React-Core/RCTActionSheetHeaders (= 0.62.1)
- React-RCTAnimation (0.63.3): - React-RCTAnimation (0.62.1):
- FBReactNativeSpec (= 0.63.3) - FBReactNativeSpec (= 0.62.1)
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- RCTTypeSafety (= 0.63.3) - RCTTypeSafety (= 0.62.1)
- React-Core/RCTAnimationHeaders (= 0.63.3) - React-Core/RCTAnimationHeaders (= 0.62.1)
- React-jsi (= 0.63.3) - ReactCommon/turbomodule/core (= 0.62.1)
- ReactCommon/turbomodule/core (= 0.63.3) - React-RCTBlob (0.62.1):
- React-RCTBlob (0.63.3): - FBReactNativeSpec (= 0.62.1)
- FBReactNativeSpec (= 0.63.3) - Folly (= 2018.10.22.00)
- Folly (= 2020.01.13.00) - React-Core/RCTBlobHeaders (= 0.62.1)
- React-Core/RCTBlobHeaders (= 0.63.3) - React-Core/RCTWebSocket (= 0.62.1)
- React-Core/RCTWebSocket (= 0.63.3) - React-jsi (= 0.62.1)
- React-jsi (= 0.63.3) - React-RCTNetwork (= 0.62.1)
- React-RCTNetwork (= 0.63.3) - ReactCommon/turbomodule/core (= 0.62.1)
- ReactCommon/turbomodule/core (= 0.63.3) - React-RCTImage (0.62.1):
- React-RCTImage (0.63.3): - FBReactNativeSpec (= 0.62.1)
- FBReactNativeSpec (= 0.63.3) - Folly (= 2018.10.22.00)
- Folly (= 2020.01.13.00) - RCTTypeSafety (= 0.62.1)
- RCTTypeSafety (= 0.63.3) - React-Core/RCTImageHeaders (= 0.62.1)
- React-Core/RCTImageHeaders (= 0.63.3) - React-RCTNetwork (= 0.62.1)
- React-jsi (= 0.63.3) - ReactCommon/turbomodule/core (= 0.62.1)
- React-RCTNetwork (= 0.63.3) - React-RCTLinking (0.62.1):
- ReactCommon/turbomodule/core (= 0.63.3) - FBReactNativeSpec (= 0.62.1)
- React-RCTLinking (0.63.3): - React-Core/RCTLinkingHeaders (= 0.62.1)
- FBReactNativeSpec (= 0.63.3) - ReactCommon/turbomodule/core (= 0.62.1)
- React-Core/RCTLinkingHeaders (= 0.63.3) - React-RCTNetwork (0.62.1):
- React-jsi (= 0.63.3) - FBReactNativeSpec (= 0.62.1)
- ReactCommon/turbomodule/core (= 0.63.3) - Folly (= 2018.10.22.00)
- React-RCTNetwork (0.63.3): - RCTTypeSafety (= 0.62.1)
- FBReactNativeSpec (= 0.63.3) - React-Core/RCTNetworkHeaders (= 0.62.1)
- Folly (= 2020.01.13.00) - ReactCommon/turbomodule/core (= 0.62.1)
- RCTTypeSafety (= 0.63.3) - React-RCTSettings (0.62.1):
- React-Core/RCTNetworkHeaders (= 0.63.3) - FBReactNativeSpec (= 0.62.1)
- React-jsi (= 0.63.3) - Folly (= 2018.10.22.00)
- ReactCommon/turbomodule/core (= 0.63.3) - RCTTypeSafety (= 0.62.1)
- React-RCTSettings (0.63.3): - React-Core/RCTSettingsHeaders (= 0.62.1)
- FBReactNativeSpec (= 0.63.3) - ReactCommon/turbomodule/core (= 0.62.1)
- Folly (= 2020.01.13.00) - React-RCTText (0.62.1):
- RCTTypeSafety (= 0.63.3) - React-Core/RCTTextHeaders (= 0.62.1)
- React-Core/RCTSettingsHeaders (= 0.63.3) - React-RCTVibration (0.62.1):
- React-jsi (= 0.63.3) - FBReactNativeSpec (= 0.62.1)
- ReactCommon/turbomodule/core (= 0.63.3) - Folly (= 2018.10.22.00)
- React-RCTText (0.63.3): - React-Core/RCTVibrationHeaders (= 0.62.1)
- React-Core/RCTTextHeaders (= 0.63.3) - ReactCommon/turbomodule/core (= 0.62.1)
- React-RCTVibration (0.63.3): - ReactCommon/callinvoker (0.62.1):
- 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 - DoubleConversion
- Folly (= 2020.01.13.00) - Folly (= 2018.10.22.00)
- glog - glog
- React-callinvoker (= 0.63.3) - React-cxxreact (= 0.62.1)
- React-Core (= 0.63.3) - ReactCommon/turbomodule/core (0.62.1):
- React-cxxreact (= 0.63.3) - DoubleConversion
- React-jsi (= 0.63.3) - Folly (= 2018.10.22.00)
- glog
- React-Core (= 0.62.1)
- React-cxxreact (= 0.62.1)
- React-jsi (= 0.62.1)
- ReactCommon/callinvoker (= 0.62.1)
- RNInAppBrowser (3.4.0): - RNInAppBrowser (3.4.0):
- React-Core - React
- Yoga (1.14.0) - Yoga (1.14.0)
- YogaKit (1.18.1): - YogaKit (1.18.1):
- Yoga (~> 1.14) - Yoga (~> 1.14)
@ -306,31 +302,16 @@ DEPENDENCIES:
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`) - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`)
- Flipper (~> 0.54.0) - FlipperKit (~> 0.33.1)
- Flipper-DoubleConversion (= 1.1.7) - FlipperKit/FlipperKitLayoutPlugin (~> 0.33.1)
- Flipper-Folly (~> 2.2) - FlipperKit/FlipperKitReactPlugin (~> 0.33.1)
- Flipper-Glog (= 0.3.6) - FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.33.1)
- Flipper-PeerTalk (~> 0.0.4) - FlipperKit/SKIOSNetworkPlugin (~> 0.33.1)
- 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`) - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
- React (from `../node_modules/react-native/`) - React (from `../node_modules/react-native/`)
- React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
- React-Core (from `../node_modules/react-native/`) - React-Core (from `../node_modules/react-native/`)
- React-Core/DevSupport (from `../node_modules/react-native/`) - React-Core/DevSupport (from `../node_modules/react-native/`)
- React-Core/RCTWebSocket (from `../node_modules/react-native/`) - React-Core/RCTWebSocket (from `../node_modules/react-native/`)
@ -348,6 +329,7 @@ DEPENDENCIES:
- React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
- React-RCTText (from `../node_modules/react-native/Libraries/Text`) - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) - 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`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
- RNInAppBrowser (from `../node_modules/react-native-inappbrowser-reborn`) - RNInAppBrowser (from `../node_modules/react-native-inappbrowser-reborn`)
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
@ -384,8 +366,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/Libraries/TypeSafety" :path: "../node_modules/react-native/Libraries/TypeSafety"
React: React:
:path: "../node_modules/react-native/" :path: "../node_modules/react-native/"
React-callinvoker:
:path: "../node_modules/react-native/ReactCommon/callinvoker"
React-Core: React-Core:
:path: "../node_modules/react-native/" :path: "../node_modules/react-native/"
React-CoreModules: React-CoreModules:
@ -427,43 +407,42 @@ SPEC CHECKSUMS:
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
CocoaAsyncSocket: 694058e7c0ed05a9e217d1b3c7ded962f4180845 CocoaAsyncSocket: 694058e7c0ed05a9e217d1b3c7ded962f4180845
CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f
DoubleConversion: cde416483dac037923206447da6e1454df403714 DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
FBLazyVector: 878b59e31113e289e275165efbe4b54fa614d43d FBLazyVector: 95ee3e58937a6052f86b0e32f142388c22fa22c5
FBReactNativeSpec: 7da9338acfb98d4ef9e5536805a0704572d33c2f FBReactNativeSpec: 26dd6459299e48cd64eb397c45635e466dba9f45
Flipper: be611d4b742d8c87fbae2ca5f44603a02539e365 Flipper: 6c1f484f9a88d30ab3e272800d53688439e50f69
Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41
Flipper-Folly: c12092ea368353b58e992843a990a3225d4533c3 Flipper-Folly: c12092ea368353b58e992843a990a3225d4533c3
Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6
Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
Flipper-RSocket: 64e7431a55835eb953b0bf984ef3b90ae9fdddd7 Flipper-RSocket: 64e7431a55835eb953b0bf984ef3b90ae9fdddd7
FlipperKit: ab353d41aea8aae2ea6daaf813e67496642f3d7d FlipperKit: 6dc9b8f4ef60d9e5ded7f0264db299c91f18832e
Folly: b73c3869541e86821df3c387eb0af5f65addfab4 Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3 glog: 1f3da668190260b06b429bb211bfbee5cd790c28
OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355 OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355
RCTRequired: 48884c74035a0b5b76dbb7a998bd93bcfc5f2047 RCTRequired: e291538a455f5ad1afc2139a4288990be0cadd46
RCTTypeSafety: edf4b618033c2f1c5b7bc3d90d8e085ed95ba2ab RCTTypeSafety: 8b6237185765dd9a03a3647807e08864105b1f95
React: f36e90f3ceb976546e97df3403e37d226f79d0e3 React: 7b33e15fab929c47ac9c3c94c409258b13cfe452
React-callinvoker: 18874f621eb96625df7a24a7dc8d6e07391affcd React-Core: 9a164d53492e2d8a84e7acf87988253dff09cf93
React-Core: ac3d816b8e3493970153f4aaf0cff18af0bb95e6 React-CoreModules: 9aba468d44532cbc301e1323a62b3d796c69c26d
React-CoreModules: 4016d3a4e518bcfc4f5a51252b5a05692ca6f0e1 React-cxxreact: 1eed6bc2a4f8e25910994b5dfca1acf1878b25c7
React-cxxreact: ffc9129013b87cb36cf3f30a86695a3c397b0f99 React-jsi: 600d8e42510c3254fd2abd702f4b9d3f598d8f52
React-jsi: df07aa95b39c5be3e41199921509bfa929ed2b9d React-jsiexecutor: e9698dee4fd43ceb44832baf15d5745f455b0157
React-jsiexecutor: b56c03e61c0dd5f5801255f2160a815f4a53d451 React-jsinspector: f74a62727e5604119abd4a1eda52c0a12144bcd5
React-jsinspector: 8e68ffbfe23880d3ee9bafa8be2777f60b25cbe2 React-RCTActionSheet: af8f28dd82fec89b8fe29637b8c779829e016a88
React-RCTActionSheet: 53ea72699698b0b47a6421cb1c8b4ab215a774aa React-RCTAnimation: 0d21fff7c20fb8ee41de5f2ebb63221127febd96
React-RCTAnimation: 1befece0b5183c22ae01b966f5583f42e69a83c2 React-RCTBlob: 9496bd93130b22069bfbc5d35e98653dae7c35c6
React-RCTBlob: 0b284339cbe4b15705a05e2313a51c6d8b51fa40 React-RCTImage: a220d154ab3b92bc8a3d040651a21a047c5876b7
React-RCTImage: d1756599ebd4dc2cb19d1682fe67c6b976658387 React-RCTLinking: 07b694640ae4a43e25c0e3e54713345f9ef1a706
React-RCTLinking: 9af0a51c6d6a4dd1674daadafffc6d03033a6d18 React-RCTNetwork: 043479410782020c2081498b5766db136aea6fe9
React-RCTNetwork: 332c83929cc5eae0b3bbca4add1d668e1fc18bda React-RCTSettings: 826bed85c8887cec143f561a27bb3044f28fbde4
React-RCTSettings: d6953772cfd55f2c68ad72b7ef29efc7ec49f773 React-RCTText: 239e040f401505001327a109f9188a4e6dad1bd2
React-RCTText: 65a6de06a7389098ce24340d1d3556015c38f746 React-RCTVibration: 072c3b427dd29e730c2ee5bfc509cf5054741a50
React-RCTVibration: 8e9fb25724a0805107fc1acc9075e26f814df454 ReactCommon: 3585806280c51d5c2c0d3aa5a99014c3badb629d
ReactCommon: 4167844018c9ed375cc01a843e9ee564399e53c3 RNInAppBrowser: c1a0dad2734458d79bcb6c8f4297ba8658a1da9f
RNInAppBrowser: 14bb242cdb9a49621914c442e903ac27e621be85 Yoga: 50fb6eb13d2152e7363293ff603385db380815b1
Yoga: 7d13633d129fd179e01b8953d38d47be90db185a
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
PODFILE CHECKSUM: 311cf87a4a33d759b7ec994ec3735e03d4ededbf PODFILE CHECKSUM: a52de829a37f999f30e05cdcfceda802cd83620c
COCOAPODS: 1.7.5 COCOAPODS: 1.7.5

View File

@ -7,7 +7,7 @@
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string> <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> <string>org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)</string>
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleName</key> <key>CFBundleName</key>

View File

@ -8,18 +8,18 @@
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
00E356F31AD99517003FC87E /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; }; 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 */; }; 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 */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
2DCD954D1E0B4F2C00145EB5 /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; }; 2DCD954D1E0B4F2C00145EB5 /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; };
474A510B261C50D1FC5A7C16 /* libPods-example-exampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CCB66F023888DD8BB45F23AC /* libPods-example-exampleTests.a */; }; 7D62270117F48E841AE2BF81 /* libPods-example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A098E3B870ADDE33AA51CBB /* libPods-example.a */; };
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; B12A999FF5682F7D97E1DE9F /* libPods-example-exampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 87D842F0CBD262B91ACFA442 /* libPods-example-exampleTests.a */; };
B4DCFFE0DFCA2800D0D0C010 /* libPods-example-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2079493AF9750A83A9355628 /* libPods-example-tvOSTests.a */; }; C1E62C9C18215100A31DB417 /* libPods-example-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D64AC2E20BEE20BA27282C87 /* libPods-example-tvOS.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 */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
@ -41,30 +41,30 @@
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = "<group>"; }; 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; }; 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>"; }; 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>"; }; 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; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = example/main.m; sourceTree = "<group>"; };
2079493AF9750A83A9355628 /* libPods-example-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 1EC78F5E6EED51C2FA4F7EF7 /* Pods-example-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-example-tvOS/Pods-example-tvOS.debug.xcconfig"; sourceTree = "<group>"; };
2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "example-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 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; }; 2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "example-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
2E89145A07ABC9C78ADB7E86 /* libPods-example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example.a"; 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>"; };
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>"; }; 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>"; };
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>"; }; 5A098E3B870ADDE33AA51CBB /* libPods-example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
7FC936B40D2FE96DF74D4090 /* libPods-example-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOS.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>"; };
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = example/LaunchScreen.storyboard; sourceTree = "<group>"; }; 7355F698DC982C14D10732E6 /* libPods-example-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
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>"; }; 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>"; };
CCB66F023888DD8BB45F23AC /* libPods-example-exampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-exampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 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>"; };
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>"; }; 87D842F0CBD262B91ACFA442 /* libPods-example-exampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-exampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
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>"; }; 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>"; };
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>"; }; 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>"; };
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>"; }; D64AC2E20BEE20BA27282C87 /* libPods-example-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; 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; }; 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 */ /* End PBXFileReference section */
@ -74,7 +74,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
474A510B261C50D1FC5A7C16 /* libPods-example-exampleTests.a in Frameworks */, B12A999FF5682F7D97E1DE9F /* libPods-example-exampleTests.a in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -82,7 +82,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
E53FA510B316FBE8899F1D22 /* libPods-example.a in Frameworks */, 7D62270117F48E841AE2BF81 /* libPods-example.a in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -90,7 +90,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
C2BDA82301A251880A05BF56 /* libPods-example-tvOS.a in Frameworks */, C1E62C9C18215100A31DB417 /* libPods-example-tvOS.a in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -98,7 +98,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
B4DCFFE0DFCA2800D0D0C010 /* libPods-example-tvOSTests.a in Frameworks */, 0EB9BAF7F795376C27199991 /* libPods-example-tvOSTests.a in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -122,6 +122,22 @@
name = "Supporting Files"; name = "Supporting Files";
sourceTree = "<group>"; 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 */ = { 13B07FAE1A68108700A75B9A /* example */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@ -130,7 +146,7 @@
13B07FB01A68108700A75B9A /* AppDelegate.m */, 13B07FB01A68108700A75B9A /* AppDelegate.m */,
13B07FB51A68108700A75B9A /* Images.xcassets */, 13B07FB51A68108700A75B9A /* Images.xcassets */,
13B07FB61A68108700A75B9A /* Info.plist */, 13B07FB61A68108700A75B9A /* Info.plist */,
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, 13B07FB11A68108700A75B9A /* LaunchScreen.xib */,
13B07FB71A68108700A75B9A /* main.m */, 13B07FB71A68108700A75B9A /* main.m */,
); );
name = example; name = example;
@ -141,10 +157,10 @@
children = ( children = (
ED297162215061F000B7C4FE /* JavaScriptCore.framework */, ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
ED2971642150620600B7C4FE /* JavaScriptCore.framework */, ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
2E89145A07ABC9C78ADB7E86 /* libPods-example.a */, 5A098E3B870ADDE33AA51CBB /* libPods-example.a */,
CCB66F023888DD8BB45F23AC /* libPods-example-exampleTests.a */, 87D842F0CBD262B91ACFA442 /* libPods-example-exampleTests.a */,
7FC936B40D2FE96DF74D4090 /* libPods-example-tvOS.a */, D64AC2E20BEE20BA27282C87 /* libPods-example-tvOS.a */,
2079493AF9750A83A9355628 /* libPods-example-tvOSTests.a */, 7355F698DC982C14D10732E6 /* libPods-example-tvOSTests.a */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
@ -164,7 +180,7 @@
00E356EF1AD99517003FC87E /* exampleTests */, 00E356EF1AD99517003FC87E /* exampleTests */,
83CBBA001A601CBA00E9B192 /* Products */, 83CBBA001A601CBA00E9B192 /* Products */,
2D16E6871FA4F8E400B85C8A /* Frameworks */, 2D16E6871FA4F8E400B85C8A /* Frameworks */,
DE7F526F2009816CFC9C3200 /* Pods */, 12E4A23155E0C60C4AED3BF2 /* Pods */,
); );
indentWidth = 2; indentWidth = 2;
sourceTree = "<group>"; sourceTree = "<group>";
@ -182,21 +198,6 @@
name = Products; name = Products;
sourceTree = "<group>"; 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 */ /* End PBXGroup section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
@ -204,11 +205,10 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */; buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */;
buildPhases = ( buildPhases = (
1FAF519DF1EC4A87E0FD5497 /* [CP] Check Pods Manifest.lock */, 8678D1065BD88CEE07E817C7 /* [CP] Check Pods Manifest.lock */,
00E356EA1AD99517003FC87E /* Sources */, 00E356EA1AD99517003FC87E /* Sources */,
00E356EB1AD99517003FC87E /* Frameworks */, 00E356EB1AD99517003FC87E /* Frameworks */,
00E356EC1AD99517003FC87E /* Resources */, 00E356EC1AD99517003FC87E /* Resources */,
E83789C4E2F9A2651280BCE5 /* [CP] Copy Pods Resources */,
); );
buildRules = ( buildRules = (
); );
@ -224,13 +224,12 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */;
buildPhases = ( buildPhases = (
5283CD0812A568E7899D3630 /* [CP] Check Pods Manifest.lock */, 18CE8903A213E901AAE9A4D2 /* [CP] Check Pods Manifest.lock */,
FD10A7F022414F080027D42C /* Start Packager */, FD10A7F022414F080027D42C /* Start Packager */,
13B07F871A680F5B00A75B9A /* Sources */, 13B07F871A680F5B00A75B9A /* Sources */,
13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8C1A680F5B00A75B9A /* Frameworks */,
13B07F8E1A680F5B00A75B9A /* Resources */, 13B07F8E1A680F5B00A75B9A /* Resources */,
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
CDB6EBB3C1FCB13A8ABC3020 /* [CP] Copy Pods Resources */,
); );
buildRules = ( buildRules = (
); );
@ -245,7 +244,7 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOS" */; buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOS" */;
buildPhases = ( buildPhases = (
453635A56A7B58383C624254 /* [CP] Check Pods Manifest.lock */, 4A4007CEC10EBD779E56638E /* [CP] Check Pods Manifest.lock */,
FD10A7F122414F3F0027D42C /* Start Packager */, FD10A7F122414F3F0027D42C /* Start Packager */,
2D02E4771E0B4A5D006451C7 /* Sources */, 2D02E4771E0B4A5D006451C7 /* Sources */,
2D02E4781E0B4A5D006451C7 /* Frameworks */, 2D02E4781E0B4A5D006451C7 /* Frameworks */,
@ -265,7 +264,7 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOSTests" */; buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOSTests" */;
buildPhases = ( buildPhases = (
28AC55CF4FF203B3E72369D5 /* [CP] Check Pods Manifest.lock */, A8A48758899F2E64ED25F093 /* [CP] Check Pods Manifest.lock */,
2D02E48C1E0B4A5D006451C7 /* Sources */, 2D02E48C1E0B4A5D006451C7 /* Sources */,
2D02E48D1E0B4A5D006451C7 /* Frameworks */, 2D02E48D1E0B4A5D006451C7 /* Frameworks */,
2D02E48E1E0B4A5D006451C7 /* Resources */, 2D02E48E1E0B4A5D006451C7 /* Resources */,
@ -293,7 +292,6 @@
TestTargetID = 13B07F861A680F5B00A75B9A; TestTargetID = 13B07F861A680F5B00A75B9A;
}; };
13B07F861A680F5B00A75B9A = { 13B07F861A680F5B00A75B9A = {
DevelopmentTeam = N8PGQE7K5F;
LastSwiftMigration = 1120; LastSwiftMigration = 1120;
}; };
2D02E47A1E0B4A5D006451C7 = { 2D02E47A1E0B4A5D006451C7 = {
@ -340,8 +338,8 @@
isa = PBXResourcesBuildPhase; isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -377,87 +375,7 @@
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
}; };
1FAF519DF1EC4A87E0FD5497 /* [CP] Check Pods Manifest.lock */ = { 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-exampleTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
28AC55CF4FF203B3E72369D5 /* [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-tvOSTests-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";
};
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; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
@ -479,40 +397,84 @@
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"; 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; showEnvVarsInLog = 0;
}; };
CDB6EBB3C1FCB13A8ABC3020 /* [CP] Copy Pods Resources */ = { 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
); );
inputPaths = ( 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"; name = "Bundle React Native Code And Images";
outputPaths = ( outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-resources.sh\"\n"; 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; showEnvVarsInLog = 0;
}; };
E83789C4E2F9A2651280BCE5 /* [CP] Copy Pods Resources */ = { 8678D1065BD88CEE07E817C7 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
); );
inputPaths = ( inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources.sh", );
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
); );
name = "[CP] Copy Pods Resources";
outputPaths = ( outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", "$(DERIVED_FILE_DIR)/Pods-example-exampleTests-checkManifestLockResult.txt",
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources.sh\"\n"; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
A8A48758899F2E64ED25F093 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
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-tvOSTests-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; showEnvVarsInLog = 0;
}; };
FD10A7F022414F080027D42C /* Start Packager */ = { FD10A7F022414F080027D42C /* Start Packager */ = {
@ -605,10 +567,22 @@
}; };
/* End PBXTargetDependency section */ /* 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 */ /* Begin XCBuildConfiguration section */
00E356F61AD99517003FC87E /* Debug */ = { 00E356F61AD99517003FC87E /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 6BE744B1A78138A7056B983E /* Pods-example-exampleTests.debug.xcconfig */; baseConfigurationReference = 32241824BD6ACEC7DE2BC988 /* Pods-example-exampleTests.debug.xcconfig */;
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
GCC_PREPROCESSOR_DEFINITIONS = ( GCC_PREPROCESSOR_DEFINITIONS = (
@ -616,7 +590,7 @@
"$(inherited)", "$(inherited)",
); );
INFOPLIST_FILE = exampleTests/Info.plist; INFOPLIST_FILE = exampleTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0; IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-ObjC", "-ObjC",
@ -631,12 +605,12 @@
}; };
00E356F71AD99517003FC87E /* Release */ = { 00E356F71AD99517003FC87E /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = DB4D6F93664604A993279C72 /* Pods-example-exampleTests.release.xcconfig */; baseConfigurationReference = 84C2A7E39E9D94741383CC4E /* Pods-example-exampleTests.release.xcconfig */;
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
INFOPLIST_FILE = exampleTests/Info.plist; INFOPLIST_FILE = exampleTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 10.0; IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-ObjC", "-ObjC",
@ -651,13 +625,16 @@
}; };
13B07F941A680F5B00A75B9A /* Debug */ = { 13B07F941A680F5B00A75B9A /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = E49131127E7AE4B3009A37CA /* Pods-example.debug.xcconfig */; baseConfigurationReference = 43A149F197D9197271FDAD1B /* Pods-example.debug.xcconfig */;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = N8PGQE7K5F;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"FB_SONARKIT_ENABLED=1",
);
INFOPLIST_FILE = example/Info.plist; INFOPLIST_FILE = example/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
@ -675,12 +652,11 @@
}; };
13B07F951A680F5B00A75B9A /* Release */ = { 13B07F951A680F5B00A75B9A /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = CBB6FF10C2FAC1E60E2BF704 /* Pods-example.release.xcconfig */; baseConfigurationReference = AEF31AAA2F328E01EEBA1164 /* Pods-example.release.xcconfig */;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = N8PGQE7K5F;
INFOPLIST_FILE = example/Info.plist; INFOPLIST_FILE = example/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
@ -697,7 +673,7 @@
}; };
2D02E4971E0B4A5E006451C7 /* Debug */ = { 2D02E4971E0B4A5E006451C7 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = D70D62D4D1C55213757619C4 /* Pods-example-tvOS.debug.xcconfig */; baseConfigurationReference = 1EC78F5E6EED51C2FA4F7EF7 /* Pods-example-tvOS.debug.xcconfig */;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
@ -719,13 +695,13 @@
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos; SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3; TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 10.0; TVOS_DEPLOYMENT_TARGET = 9.2;
}; };
name = Debug; name = Debug;
}; };
2D02E4981E0B4A5E006451C7 /* Release */ = { 2D02E4981E0B4A5E006451C7 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = DFC9673F0842418DB8721AD4 /* Pods-example-tvOS.release.xcconfig */; baseConfigurationReference = 831E0409B3F75141484866A8 /* Pods-example-tvOS.release.xcconfig */;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
@ -747,13 +723,13 @@
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos; SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3; TARGETED_DEVICE_FAMILY = 3;
TVOS_DEPLOYMENT_TARGET = 10.0; TVOS_DEPLOYMENT_TARGET = 9.2;
}; };
name = Release; name = Release;
}; };
2D02E4991E0B4A5E006451C7 /* Debug */ = { 2D02E4991E0B4A5E006451C7 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 00D5D8E9B20ABEE623E9EE92 /* Pods-example-tvOSTests.debug.xcconfig */; baseConfigurationReference = 6F57D5D308BE757D0FC307C7 /* Pods-example-tvOSTests.debug.xcconfig */;
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
@ -780,7 +756,7 @@
}; };
2D02E49A1E0B4A5E006451C7 /* Release */ = { 2D02E49A1E0B4A5E006451C7 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = 6660B8985CD39DEC59EB5285 /* Pods-example-tvOSTests.release.xcconfig */; baseConfigurationReference = A4F11FB608D69BB5302A8A59 /* Pods-example-tvOSTests.release.xcconfig */;
buildSettings = { buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)"; BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
@ -852,7 +828,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0; IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
LIBRARY_SEARCH_PATHS = ( LIBRARY_SEARCH_PATHS = (
"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
@ -905,7 +881,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0; IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
LIBRARY_SEARCH_PATHS = ( LIBRARY_SEARCH_PATHS = (
"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -4,7 +4,7 @@
#import <React/RCTBundleURLProvider.h> #import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h> #import <React/RCTRootView.h>
#ifdef FB_SONARKIT_ENABLED #if DEBUG
#import <FlipperKit/FlipperClient.h> #import <FlipperKit/FlipperClient.h>
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h> #import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h> #import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
@ -27,7 +27,7 @@ static void InitializeFlipper(UIApplication *application) {
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{ {
#ifdef FB_SONARKIT_ENABLED #if DEBUG
InitializeFlipper(application); InitializeFlipper(application);
#endif #endif

View File

@ -1,58 +0,0 @@
<?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>

View File

@ -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;" "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": { "dependencies": {
"react": "16.13.1", "react": "16.11.0",
"react-native": "0.63.3", "react-native": "0.62.1",
"react-native-inappbrowser-reborn": "file:.." "react-native-inappbrowser-reborn": "file:.."
}, },
"devDependencies": { "devDependencies": {
@ -26,7 +26,7 @@
"eslint": "^6.8.0", "eslint": "^6.8.0",
"jest": "^25.2.7", "jest": "^25.2.7",
"metro-react-native-babel-preset": "^0.59.0", "metro-react-native-babel-preset": "^0.59.0",
"react-test-renderer": "16.13.1" "react-test-renderer": "16.11.0"
}, },
"jest": { "jest": {
"preset": "react-native" "preset": "react-native"

File diff suppressed because it is too large Load Diff

11
index.d.ts vendored
View File

@ -52,17 +52,14 @@ declare module 'react-native-inappbrowser-reborn' {
endEnter: string, endEnter: string,
endExit: string endExit: string
}, },
headers?: { [key: string]: string }, headers?: { [key: string]: string }
hasBackButton?: boolean,
browserPackage?: string,
showInRecents?: boolean
} }
export type InAppBrowserOptions = InAppBrowserAndroidOptions | InAppBrowseriOSOptions; export type InAppBrowserOptions = InAppBrowserAndroidOptions | InAppBrowseriOSOptions;
type AuthSessionResult = RedirectResult | BrowserResult; type AuthSessionResult = RedirectResult | BrowserResult;
interface InAppBrowserClassMethods { interface RNInAppBrowserClassMethods {
open: ( open: (
url: string, url: string,
options?: InAppBrowserOptions, options?: InAppBrowserOptions,
@ -77,7 +74,7 @@ declare module 'react-native-inappbrowser-reborn' {
isAvailable: () => Promise<boolean>; isAvailable: () => Promise<boolean>;
} }
export const InAppBrowser: InAppBrowserClassMethods; const RNInAppBrowser: RNInAppBrowserClassMethods;
export default InAppBrowser; export default RNInAppBrowser;
} }

229
index.js
View File

@ -6,62 +6,231 @@
* @flow strict-local * @flow strict-local
*/ */
import type { import invariant from 'invariant';
BrowserResult,
AuthSessionResult,
InAppBrowserOptions,
} from './types';
import { import {
RNInAppBrowser, Linking,
openBrowserAsync, NativeModules,
openAuthSessionAsync, Platform,
openAuthSessionPolyfillAsync, processColor,
closeAuthSessionPolyfillAsync, AppState,
authSessionIsNativelySupported, AppStateStatus,
} from './utils'; } 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;
async function open( async function open(
url: string, url: string,
options?: InAppBrowserOptions options: InAppBrowserOptions = {}
): Promise<BrowserResult> { ): Promise<BrowserResult> {
return openBrowserAsync(url, options); const inAppBrowserOptions = {
} ...options,
url,
async function openAuth( dismissButtonStyle: options.dismissButtonStyle || 'close',
url: string, readerMode: !!options.readerMode,
redirectUrl: string, animated: options.animated !== undefined ? options.animated : true,
options?: InAppBrowserOptions modalEnabled:
): Promise<AuthSessionResult> { options.modalEnabled !== undefined ? options.modalEnabled : true,
if (authSessionIsNativelySupported()) { enableBarCollapsing: !!options.enableBarCollapsing,
return openAuthSessionAsync(url, redirectUrl, options); preferredBarTintColor:
} else { options.preferredBarTintColor &&
return openAuthSessionPolyfillAsync(url, redirectUrl, options); processColor(options.preferredBarTintColor),
} preferredControlTintColor:
options.preferredControlTintColor &&
processColor(options.preferredControlTintColor),
};
return RNInAppBrowser.open(inAppBrowserOptions);
} }
function close(): void { function close(): void {
RNInAppBrowser.close(); 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 { function closeAuth(): void {
closeAuthSessionPolyfillAsync(); closeAuthSessionPolyfillAsync();
if (authSessionIsNativelySupported()) { if (_authSessionIsNativelySupported()) {
RNInAppBrowser.closeAuth(); RNInAppBrowser.closeAuth();
} else { } else {
close(); 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> { async function isAvailable(): Promise<boolean> {
return RNInAppBrowser.isAvailable(); return RNInAppBrowser.isAvailable();
} }
export const InAppBrowser = { export default {
open, open,
openAuth, openAuth,
close, close,
closeAuth, closeAuth,
isAvailable, isAvailable,
}; };
export default InAppBrowser;

View File

@ -1,8 +1,14 @@
{ {
"name": "react-native-inappbrowser-reborn", "name": "react-native-inappbrowser-reborn",
"version": "3.5.1", "version": "3.4.0",
"description": "InAppBrowser for React Native", "description": "InAppBrowser for React Native",
"main": "index.js", "main": "index.js",
"files": [
"android/",
"ios/",
"index.d.ts",
"RNInAppBrowser.podspec"
],
"scripts": { "scripts": {
"flow": "flow check", "flow": "flow check",
"lint": "eslint index.js", "lint": "eslint index.js",
@ -46,12 +52,12 @@
"opencollective-postinstall": "^2.0.2" "opencollective-postinstall": "^2.0.2"
}, },
"devDependencies": { "devDependencies": {
"@react-native-community/eslint-config": "2.0.0", "@react-native-community/eslint-config": "1.0.0",
"babel-core": "^6.26.3", "babel-core": "^6.26.3",
"eslint": "^7.11.0", "eslint": "^6.8.0",
"flow-bin": "^0.135.0", "flow-bin": "^0.122.0",
"react": "16.13.1", "react": "16.11.0",
"react-native": "0.63.3" "react-native": "0.62.1"
}, },
"collective": { "collective": {
"type": "opencollective", "type": "opencollective",

View File

@ -1,70 +0,0 @@
/**
* @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
View File

@ -1,153 +0,0 @@
/**
* @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;
}

2674
yarn.lock

File diff suppressed because it is too large Load Diff