diff --git a/.buckconfig b/.buckconfig index 8e9e59e246b7..19c2d6302ea9 100644 --- a/.buckconfig +++ b/.buckconfig @@ -2,9 +2,11 @@ [android] target = Google Inc.:Google APIs:23 +[download] + max_number_of_retries = 3 + [maven_repositories] central = https://repo1.maven.org/maven2 [alias] - movies = //Examples/Movies/android/app:app - uiexplorer = //Examples/UIExplorer/android/app:app + rntester = //RNTester/android/app:app diff --git a/.eslintignore b/.eslintignore index 1f0f3b8f23e0..d59f8f3846e4 100644 --- a/.eslintignore +++ b/.eslintignore @@ -3,4 +3,13 @@ **/staticBundle.js **/main.js Libraries/vendor/**/* -packager/src/worker-farm/**/* +Libraries/Renderer/* +website/node_modules +pr-inactivity-bookmarklet.js +question-bookmarklet.js +flow/ +website/core/metadata.js +website/core/metadata-blog.js +website/src/react-native/docs/ +website/src/react-native/blog/ +danger/ diff --git a/.eslintrc b/.eslintrc index ef11f5e9605d..f840c3abc212 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,4 +1,6 @@ { + "root": true, + "parser": "babel-eslint", "ecmaFeatures": { @@ -11,6 +13,8 @@ }, "plugins": [ + "flowtype", + "prettier", "react" ], @@ -49,34 +53,28 @@ "setTimeout": false, "window": false, "XMLHttpRequest": false, - "pit": false, - - // Flow global types. - "ReactComponent": false, - "ReactClass": false, - "ReactElement": false, - "ReactPropsCheckType": false, - "ReactPropsChainableTypeChecker": false, - "ReactPropTypes": false, - "SyntheticEvent": false, - "$Either": false, - "$All": false, - "$ArrayBufferView": false, - "$Tuple": false, - "$Supertype": false, - "$Subtype": false, - "$Shape": false, - "$Diff": false, - "$Keys": false, - "$Enum": false, - "$Exports": false, - "$FlowIssue": false, - "$FlowFixMe": false, - "$FixMe": false + "pit": false }, "rules": { - "comma-dangle": 0, // disallow trailing commas in object literals + // Flow Plugin + // The following rules are made available via `eslint-plugin-flowtype` + "flowtype/define-flow-type": 1, + "flowtype/use-flow-type": 1, + + // General + + // This must be disallowed in this repo because the minimum supported + // version of node is 4 which doesn't support trailing commas. + // Once the minimum supported version is 8 or greater this can be changed + "comma-dangle": [2, { // disallow trailing commas in object literals + "arrays": "ignore", + "objects": "ignore", + "imports": "ignore", + "exports": "ignore", + "functions": "never" + }], + "no-cond-assign": 1, // disallow assignment in conditional expressions "no-console": 0, // disallow use of console (off by default in the node environment) "no-const-assign": 2, // disallow assignment to const-declared variables @@ -176,6 +174,10 @@ "no-restricted-modules": 1, // restrict usage of specified node modules (off by default) "no-sync": 0, // disallow use of synchronous methods (off by default) + // Prettier Plugin + // https://github.com/prettier/eslint-plugin-prettier + "prettier/prettier": [2, "fb", "@format"], + // Stylistic Issues // These rules are purely matters of style and are quite subjective. @@ -228,6 +230,7 @@ "react/display-name": 0, "react/jsx-boolean-value": 0, + "react/jsx-no-comment-textnodes": 1, "react/jsx-no-duplicate-props": 2, "react/jsx-no-undef": 1, "react/jsx-sort-props": 0, @@ -241,6 +244,6 @@ "react/prop-types": 0, "react/react-in-jsx-scope": 1, "react/self-closing-comp": 1, - "react/wrap-multilines": 0, + "react/wrap-multilines": 0 } } diff --git a/.flowconfig b/.flowconfig index 6bc162f76be9..70641207371e 100644 --- a/.flowconfig +++ b/.flowconfig @@ -8,6 +8,9 @@ ; Ignore the website subdir /website/.* +; Ignore the Dangerfile +/danger/dangerfile.js + ; Ignore "BUCK" generated dirs /\.buckd/ @@ -18,7 +21,9 @@ ; For RN Apps installed via npm, "Libraries" folder is inside ; "node_modules/react-native" but in the source repo it is in the root .*/Libraries/react-native/React.js -.*/Libraries/react-native/ReactNative.js + +; Ignore polyfills +.*/Libraries/polyfills/.* [include] @@ -31,22 +36,22 @@ emoji=true module.system=haste -experimental.strict_type_args=true - munge_underscores=true module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub' suppress_type=$FlowIssue suppress_type=$FlowFixMe +suppress_type=$FlowFixMeProps +suppress_type=$FlowFixMeState suppress_type=$FixMe -suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(4[0-5]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native_oss[a-z,_]*\\)?)\\) -suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(4[0-5]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native_oss[a-z,_]*\\)?)\\)?:? #[0-9]+ +suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(5[0-3]\\|[1-4][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native_oss[a-z,_]*\\)?)\\) +suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(5[0-3]\\|[1-4][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native_oss[a-z,_]*\\)?)\\)?:? #[0-9]+ suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError unsafe.enable_getters_and_setters=true [version] -^0.45.0 +^0.53.0 diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 000000000000..a5d8f8dcdfd4 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,18 @@ +docs/* @hramos +blog/* @hramos +Libraries/Animated/* @janicduplessis +Libraries/NativeAnimation/* @janicduplessis +Libraries/Image/* @shergin +Libraries/Text/* @shergin +React/Base/* @shergin +React/Views/* @shergin +React/Modules/* @shergin +React/CxxBridge/* @mhorowitz +ReactAndroid/src/main/java/com/facebook/react/animated/* @janicduplessis +website/* @hramos +website/showcase.json @hramos +package.json @hramos +website/package.json @hramos +local-cli/core/* @grabbou @kureev +local-cli/link/* @grabbou @kureev +local-cli/unlink/* @grabbou @kureev diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 0911213387bf..df61c31aefa9 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,36 +1,118 @@ -Please read the following carefully before opening a new issue. -Your issue may be closed if it does not provide the information required by this template. + -We use GitHub Issues exclusively for tracking bugs in React Native. +### Is this a bug report? -- If you have a question, ask on Stack Overflow: http://stackoverflow.com/questions/tagged/react-native -- If you have a feature request, post it on Canny: https://react-native.canny.io/feature-requests +(write your answer here) -Make sure your issue reproduces on master. Your issue may already have been fixed! -If your issue is present in master and in the stable release, try to reproduce your bug on https://snack.expo.io/ -If you can't reproduce the bug on Snack, provide a sample project. -At the very least, provide an example of your code. + -List all the steps required to reproduce the issue you're reporting. These steps should be clear and concise. +### Have you read the [Contributing Guidelines](https://facebook.github.io/react-native/docs/contributing.html)? - ***An example of your code is REQUIRED*** +(Write your answer here.) +### Environment -### Solution + -What needs to be done to address this issue? Ideally, provide a pull request with a fix. +1. `react-native -v`: +2. `node -v`: +3. `npm -v`: +4. `yarn --version`: -### Additional Information +Then, specify: -* React Native version: [FILL THIS OUT: Be specific, filling out "latest" here is not enough.] -* Platform: [FILL THIS OUT: iOS, Android, or both?] -* Development Operating System: [FILL THIS OUT: Are you developing on MacOS, Linux, or Windows?] -* Dev tools: [FILL THIS OUT: Xcode or Android Studio version, iOS or Android SDK version, if applicable] + +- Target Platform: + + +- Development Operating System: + + +- Build tools: + +### Steps to Reproduce + + + +(Write your steps here:) + +1. +2. +3. + +### Expected Behavior + + + +(Write what you thought would happen.) + +### Actual Behavior + + + +(Write what happened. Add screenshots!) + +### Reproducible Demo + + + +(Paste the link to an example project and exact instructions to reproduce the issue.) + + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index de18092adff8..05161b55a051 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,32 +1,16 @@ -Thanks for submitting a PR! Please read these instructions carefully: + -A good test plan has the exact commands you ran and their output, provides screenshots or videos if the pull request changes UI or updates the website. See [What is a Test Plan?][1] to learn more. +(Write your motivation here.) -If you have added code that should be tested, add tests. +## Test Plan -## Next Steps - -Sign the [CLA][2], if you haven't already. - -Small pull requests are much easier to review and more likely to get merged. Make sure the PR does only one thing, otherwise please split it. - -Make sure all **tests pass** on both [Travis][3] and [Circle CI][4]. PRs that break tests are unlikely to be merged. - -For more info, see the ["Pull Requests"][5] section of our "Contributing" guidelines. - -[1]: https://medium.com/@martinkonicek/what-is-a-test-plan-8bfc840ec171#.y9lcuqqi9 -[2]: https://code.facebook.com/cla -[3]: https://travis-ci.org/facebook/react-native -[4]: http://circleci.com/gh/facebook/react-native -[5]: https://github.com/facebook/react-native/blob/master/CONTRIBUTING.md#pull-requests +(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos!) diff --git a/.gitignore b/.gitignore index 57b9cbcb1cad..15a2a9668a1a 100644 --- a/.gitignore +++ b/.gitignore @@ -23,10 +23,10 @@ project.xcworkspace # Gradle /build/ -/Examples/**/android/app/build/ -/Examples/**/android/app/gradle/ -/Examples/**/android/app/gradlew -/Examples/**/android/app/gradlew.bat +/RNTester/android/app/build/ +/RNTester/android/app/gradle/ +/RNTester/android/app/gradlew +/RNTester/android/app/gradlew.bat /ReactAndroid/build/ # Buck @@ -47,6 +47,7 @@ local.properties node_modules *.log .nvm +/danger/node_modules/ # OS X .DS_Store diff --git a/.travis.yml b/.travis.yml index 0cbf424aacd8..31fc7ca2eb71 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,27 +1,23 @@ language: objective-c -osx_image: xcode8.2 +osx_image: xcode8.3 install: - - mkdir -p /Users/travis/build/facebook/.nvm - - export NVM_DIR="/Users/travis/build/facebook/.nvm" - - brew install nvm - - source $(brew --prefix nvm)/nvm.sh - # TODO npm 2 started stalling on Travis, t11852928 - - # Use node 6 because that is what runs on land-blocking tests - - nvm install 6 + - nvm install 7 - rm -Rf "${TMPDIR}/jest_preprocess_cache" - - wget https://github.com/yarnpkg/yarn/releases/download/v0.16.0/yarn-0.16.0.js - - export yarn="node $(pwd)/yarn-0.16.0.js" - - $yarn install + - brew install yarn --ignore-dependencies + - brew install watchman + - yarn install script: - - if [[ "$TEST_TYPE" = objc-ios ]]; then travis_retry travis_wait ./scripts/objc-test-ios.sh test; fi - - if [[ "$TEST_TYPE" = objc-tvos ]]; then travis_retry travis_wait ./scripts/objc-test-tvos.sh; fi + - if [[ "$TEST_TYPE" = objc-ios ]]; then travis_retry travis_wait 30 ./scripts/objc-test-ios.sh test; fi + - if [[ "$TEST_TYPE" = objc-tvos ]]; then travis_retry travis_wait 30 ./scripts/objc-test-tvos.sh; fi - if [[ "$TEST_TYPE" = e2e-objc ]]; then node ./scripts/run-ci-e2e-tests.js --ios --js --retries 3; fi - - if [[ ( "$TEST_TYPE" = podspecs ) && ( "$TRAVIS_PULL_REQUEST" = "false" ) ]]; then gem install cocoapods && ./scripts/process-podspecs.sh; fi + - if [[ ( "$TEST_TYPE" = podspecs ) && ( "$TRAVIS_PULL_REQUEST" = "false" ) ]]; then gem install cocoapods && travis_wait 30 ./scripts/process-podspecs.sh; fi +cache: + - cocoapods + - yarn matrix: - fast_finish: true # Fail the whole build as soon as one test type fails. Should help with Travis capacity issues (very long queues). @@ -41,7 +37,6 @@ branches: notifications: email: recipients: - - mkonicek@fb.com - douglowder@mac.com # Doug Lowder built and maintains Apple TV specific code and wants to be notified about tvOS failures. - eloy@artsy.net # Eloy Durán maintains the podspecs test and wants to be notified about failures. on_failure: change @@ -51,3 +46,4 @@ notifications: on_pull_requests: false on_failure: change on_success: change + webhooks: https://code.facebook.com/travis/webhook/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 59731909c8a3..dde3cae8b537 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,44 +1,142 @@ # Contributing to React Native -React Native is one of Facebook's first open source projects that is both under very active development and is also being used to ship code to everybody on [facebook.com](https://facebook.com). We're still working out the kinks to make contributing to this project as easy and transparent as possible, but we're not quite there yet. Hopefully this document makes the process for contributing clear and preempts some questions you may have. + +React Native is one of Facebook's first open source projects that is both under very active development and is also being used to ship code to everybody using Facebook's mobile apps. If you're interested in contributing to React Native, hopefully this document makes the process for contributing clear. -## Our Development Process +## [Code of Conduct](https://code.facebook.com/codeofconduct) -Some of the core team will be working directly on GitHub. These changes will be public from the beginning. Other changesets will come via a bridge with Facebook's internal source control. This is a necessity as it allows engineers at Facebook outside of the core team to move fast and contribute from an environment they are comfortable in. +Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please read [the full text](https://code.facebook.com/codeofconduct) so that you can understand what actions will and will not be tolerated. -### `master` is unsafe +## Get involved -We will do our best to keep `master` in good shape, with tests passing at all times. But in order to move fast, we will make API changes that your application might not be compatible with. We will do our best to communicate these changes and version appropriately so you can lock into a specific version if need be. +There are many ways to contribute to React Native, and many of them do not involve writing any code. Here's a few ideas to get started: -### Pull Requests +* Simply start using React Native. Go through the [Getting Started](http://facebook.github.io/react-native/docs/getting-started.html) guide. Does everything work as expected? If not, we're always looking for improvements. Let us know by [opening an issue](http://facebook.github.io/react-native/docs/contributing.html#reporting-new-issues). +* Look through the [open issues](https://github.com/facebook/react-native/issues). Provide workarounds, ask for clarification, or suggest labels. Help [triage issues](http://facebook.github.io/react-native/docs/contributing.html#triaging-issues-and-pull-requests). +* If you find an issue you would like to fix, [open a pull request](http://facebook.github.io/react-native/docs/contributing.html#your-first-pull-request). Issues tagged as [_Good First Task_](https://github.com/facebook/react-native/labels/Good%20First%20Task) are a good place to get started. +* Read through the [React Native docs](http://facebook.github.io/react-native/docs). If you find anything that is confusing or can be improved, you can make edits by clicking "Improve this page" at the bottom of most docs. +* Browse [Stack Overflow](https://stackoverflow.com/questions/tagged/react-native) and answer questions. This will help you get familiarized with common pitfalls or misunderstandings, which can be useful when contributing updates to the documentation. +* Take a look at the [features requested](https://react-native.canny.io/feature-requests) by others in the community and consider opening a pull request if you see something you want to work on. -The core team will be monitoring for pull requests. When we get one, we'll run some Facebook-specific integration tests on it first. From here, we'll need to get another person to sign off on the changes and then merge the pull request. For API changes we may need to fix internal uses, which could cause some delay. We'll do our best to provide updates and feedback throughout the process. +Contributions are very welcome. If you think you need help planning your contribution, please hop into [#react-native](https://discord.gg/0ZcbPKXt5bZjGY5n) and let people know you're looking for a mentor. -**Please submit your pull request on the `master` branch**. If the fix is critical and should be included in a stable branch please mention it and it will be cherry picked into it by a project maintainer. +Core contributors to React Native meet monthly and post their meeting notes on the [React Native blog](https://facebook.github.io/react-native/blog). You can also find ad hoc discussions in the [React Native Core Contributors](https://www.facebook.com/groups/reactnativeoss/) Facebook group. -*Before* submitting a pull request, please make sure the following is done… +### Triaging issues and pull requests -1. Fork the repo and create your branch from `master`. -2. **Describe your test plan in your commit.** - - If you've added code that should be tested, add tests! - - If you've changed APIs, update the documentation. - - If you've updated the docs, verify the website locally and submit screenshots if applicable. +One great way you can contribute to the project without writing any code is to help triage issues and pull requests as they come in. - ``` - $ cd website - $ npm install && npm start - Open the following in your browser: http://localhost:8079/react-native/index.html - ``` +* Ask for more information if the issue does not provide all the details required by the template. +* Suggest [labels](https://github.com/facebook/react-native/labels) that can help categorize issues. +* Flag issues that are stale or that should be closed. +* Ask for test plans and review code. -3. Add the copyright notice to the top of any new files you've added. -4. Ensure tests pass on Travis and Circle CI. -5. Make sure your code lints (`node linter.js `). -6. If you haven't already, sign the [CLA](https://code.facebook.com/cla). -7. Squash your commits (`git rebase -i`). - One intent alongside one commit makes it clearer for people to review and easier to understand your intention. +You can learn more about handling issues in the [maintainer's guide](docs/maintainers.html#handling-issues). + +## Our development process + +Some of the core team will be working directly on [GitHub](https://github.com/facebook/react-native). These changes will be public from the beginning. Other changesets will come via a bridge with Facebook's internal source control. This is a necessity as it allows engineers at Facebook outside of the core team to move fast and contribute from an environment they are comfortable in. + +When a change made on GitHub is approved, it will first be imported into Facebook's internal source control. The change will eventually sync back to GitHub as a single commit once it has passed all internal tests. + +### Branch organization + +We will do our best to keep `master` in good shape, with tests passing at all times. But in order to move fast, we will make API changes that your application might not be compatible with. We will do our best to [communicate these changes](https://github.com/facebook/react-native/releases) and version appropriately so you can lock into a specific version if need be. + +To see what changes are coming and provide better feedback to React Native contributors, use the [latest release candidate](http://facebook.github.io/react-native/versions.html) when possible. By the time a release candidate is released, the changes it contains will have been shipped in production Facebook apps for over two weeks. + +## Bugs + +We use [GitHub Issues](https://github.com/facebook/react-native/issues) for our public bugs. If you would like to report a problem, take a look around and see if someone already opened an issue about it. If you a are certain this is a new, unreported bug, you can submit a [bug report](http://facebook.github.io/react-native/docs/contributing.html#reporting-new-issues). + +If you have questions about using React Native, the [Community page](http://facebook.github.io/react-native/support.html) list various resources that should help you get started. + +We also have a [place where you can request features or enhancements](https://react-native.canny.io/feature-requests). If you see anything you'd like to be implemented, vote it up and explain your use case. + +## Reporting new issues + +When [opening a new issue](https://github.com/facebook/react-native/issues/new), always make sure to fill out the [issue template](https://raw.githubusercontent.com/facebook/react-native/master/.github/ISSUE_TEMPLATE.md). **This step is very important!** Not doing so may result in your issue getting closed. Don't take this personally if this happens, and feel free to open a new issue once you've gathered all the information required by the template. + +* **One issue, one bug:** Please report a single bug per issue. +* **Provide a Snack:** The best way to get attention on your issue is to provide a reduced test case. You can use [Snack](https://snack.expo.io/) to demonstrate the issue. +* **Provide reproduction steps:** List all the steps necessary to reproduce the issue. Provide a Snack or upload a sample project to GitHub. The person reading your bug report should be able to follow these steps to reproduce your issue with minimal effort. +* **Try out the latest version:** Verify that the issue can be reproduced locally by updating your project to use [React Native from `master`](http://facebook.github.io/react-native/versions.html). The bug may have already been fixed! + +We're not able to provide support through GitHub Issues. If you're looking for help with your code, consider asking on [Stack Overflow](http://stackoverflow.com/questions/tagged/react-native) or reaching out to the community through [other channels](https://facebook.github.io/react-native/support.html). + +### Security bugs + +Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe disclosure of security bugs. With that in mind, please do not file public issues; go through the process outlined on that page. + +## Pull requests + +### Your first pull request + +So you have decided to contribute code back to upstream by opening a pull request. You've invested a good chunk of time, and we appreciate it. We will do our best to work with you and get the PR looked at. + +Working on your first Pull Request? You can learn how from this free video series: + +[**How to Contribute to an Open Source Project on GitHub**](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github) + +We have a list of [beginner friendly issues](https://github.com/facebook/react-native/labels/Good%20First%20Task) to help you get your feet wet in the React Native codebase and familiar with our contribution process. This is a great place to get started. + +### Proposing a change + +If you would like to request a new feature or enhancement but are not yet thinking about opening a pull request, we have a [place to track feature requests](https://react-native.canny.io/feature-requests). + +If you intend to change the public API, or make any non-trivial changes to the implementation, we recommend [filing an issue](https://github.com/facebook/react-native/issues/new?title=%5BProposal%5D) that includes `[Proposal]` in the title. This lets us reach an agreement on your proposal before you put significant effort into it. These types of issues should be rare. If you have been contributing to the project long enough, you will probably already have access to the [React Native Core Contributors](https://www.facebook.com/groups/reactnativeoss/) Facebook Group, where this sort of discussion is usually held. + +If you're only fixing a bug, it's fine to submit a pull request right away but we still recommend to file an issue detailing what you're fixing. This is helpful in case we don't accept that specific fix but want to keep track of the issue. + +### Sending a pull request + +Small pull requests are much easier to review and more likely to get merged. Make sure the PR does only one thing, otherwise please split it. + +**Before submitting a pull request**, please make sure the following is done: + +1. Fork [the repository](https://github.com/facebook/react-native) and create your branch from `master`. +2. Add the copyright notice to the top of any new files you've added. +3. Describe your [**test plan**](https://facebook.github.io/react-native/docs/contributing.html#test-plan) in your commit. +4. Ensure [**tests pass**](https://facebook.github.io/react-native/docs/contributing.html#contrinuous-integration-tests) on both Travis and Circle CI. +5. Make sure your code lints (`npm run lint`). +6. If you haven't already, [sign the CLA](https://code.facebook.com/cla). + +All pull requests should be opened against the `master` branch. > **Note:** It is not necessary to keep clicking `Merge master to your branch` on the PR page. You would want to merge master if there are conflicts or tests are failing. The Facebook-GitHub-Bot ultimately squashes all commits to a single one before merging your PR. +#### Test plan + +A good test plan has the exact commands you ran and their output, provides screenshots or videos if the pull request changes UI or updates the website. + +* If you've added code that should be tested, add tests! +* If you've changed APIs, update the documentation. +* If you've updated the docs, verify the website locally and submit screenshots if applicable (see [website/README.md](https://github.com/facebook/react-native/blob/master/website/README.md)) + +See [What is a Test Plan?](https://medium.com/@martinkonicek/what-is-a-test-plan-8bfc840ec171#.y9lcuqqi9) to learn more. + +#### Continuous integration tests + +Make sure all **tests pass** on both [Travis][travis] and [Circle CI][circle]. PRs that break tests are unlikely to be merged. Learn more about [testing your changes here](https://facebook.github.io/react-native/docs/testing.html). + +[travis]: https://travis-ci.org/facebook/react-native +[circle]: http://circleci.com/gh/facebook/react-native + +#### Breaking changes + +When adding a new breaking change, follow this template in your pull request: + +``` +### New breaking change here + +* **Who does this affect**: +* **How to migrate**: +* **Why make this breaking change**: +* **Severity (number of people affected x effort)**: +``` + +If your pull request is merged, a core contributor will update the [list of breaking changes](https://github.com/facebook/react-native/wiki/Breaking-Changes) which is then used to populate the release notes. + #### Copyright Notice for files Copy and paste this to the top of your new file(s): @@ -56,34 +154,21 @@ Copy and paste this to the top of your new file(s): If you've added a new module, add a `@providesModule ` at the end of the comment. This will allow the haste package manager to find it. -### Contributor License Agreement (CLA) - -In order to accept your pull request, we need you to submit a CLA. You only need to do this once, so if you've done this for another Facebook open source project, you're good to go. If you are submitting a pull request for the first time, just let us know that you have completed the CLA and we can cross-check with your GitHub username. - -[Complete your CLA here](https://code.facebook.com/cla) - -## Bugs - -### Where to Find Known Issues +#### Contributor License Agreement (CLA) -We are using GitHub Issues for our public bugs. We keep a close eye on this and try to make it clear when we have an internal fix in progress. Before filing a new task, try to make sure your problem doesn't already exist. +In order to accept your pull request, we need you to submit a CLA. You only need to do this once, so if you've done this for another Facebook open source project, you're good to go. If you are submitting a pull request for the first time, the Facebook GitHub Bot will reply with a link to the CLA form. You may also [complete your CLA here](https://code.facebook.com/cla). -### Reporting New Issues +### What happens next? -The best way to get your bug fixed is to provide a reduced test case. Please provide either a public repository with a runnable example or a [Sketch](https://sketch.expo.io/). +The core team will be monitoring for pull requests. Read [what to expect from maintainers](https://facebook.github.io/react-native/docs/maintainers.html#handling-pull-requests) to understand what may happen after you open a pull request. -### Security Bugs - -Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe disclosure of security bugs. With that in mind, please do not file public issues; go through the process outlined on that page. - -## How to Get in Touch +## Style Guide -* [Facebook](https://www.facebook.com/groups/react.native.community/) -* [Twitter](https://www.twitter.com/reactnative) +Our linter will catch most styling issues that may exist in your code. You can check the status of your code styling by simply running `npm run lint`. -## Style Guide +However, there are still some styles that the linter cannot pick up. -### Code +### Code Conventions #### General @@ -129,3 +214,4 @@ Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe ## License By contributing to React Native, you agree that your contributions will be licensed under its BSD license. + diff --git a/ContainerShip/Dockerfile.android b/ContainerShip/Dockerfile.android index 63bfd8a46e56..605bb33104d0 100644 --- a/ContainerShip/Dockerfile.android +++ b/ContainerShip/Dockerfile.android @@ -3,7 +3,6 @@ FROM containership/android-base:latest # set default environment variables ENV GRADLE_OPTS="-Dorg.gradle.jvmargs=\"-Xmx512m -XX:+HeapDumpOnOutOfMemoryError\"" ENV JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" -ENV REACT_NATIVE_MAX_WORKERS=1 # add ReactAndroid directory ADD .buckconfig /app/.buckconfig diff --git a/ContainerShip/Dockerfile.javascript b/ContainerShip/Dockerfile.javascript index d9fc1f57c7b3..7c1e14bb9b84 100644 --- a/ContainerShip/Dockerfile.javascript +++ b/ContainerShip/Dockerfile.javascript @@ -1,6 +1,6 @@ FROM library/node:6.9.2 -ENV YARN_VERSION=0.19.1 +ENV YARN_VERSION=0.27.5 # install dependencies RUN apt-get update && apt-get install ocaml libelf-dev -y diff --git a/ContainerShip/scripts/run-ci-e2e-tests.sh b/ContainerShip/scripts/run-ci-e2e-tests.sh index 28a341957392..de2b97edb5bb 100755 --- a/ContainerShip/scripts/run-ci-e2e-tests.sh +++ b/ContainerShip/scripts/run-ci-e2e-tests.sh @@ -17,7 +17,6 @@ AVD_UUID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1) ANDROID_NPM_DEPS="appium@1.5.1 mocha@2.4.5 wd@0.3.11 colors@1.0.3 pretty-data2@0.40.1" CLI_PACKAGE=$ROOT/react-native-cli/react-native-cli-*.tgz PACKAGE=$ROOT/react-native-*.tgz -REACT_NATIVE_MAX_WORKERS=1 # solve issue with max user watches limit echo 65536 | tee -a /proc/sys/fs/inotify/max_user_watches @@ -231,13 +230,13 @@ function e2e_suite() { # js tests if [ $RUN_JS -ne 0 ]; then # Check the packager produces a bundle (doesn't throw an error) - REACT_NATIVE_MAX_WORKERS=1 react-native bundle --platform android --dev true --entry-file index.android.js --bundle-output android-bundle.js + react-native bundle --max-workers 1 --platform android --dev true --entry-file index.js --bundle-output android-bundle.js if [ $? -ne 0 ]; then echo "Could not build android bundle" return 1 fi - REACT_NATIVE_MAX_WORKERS=1 react-native bundle --platform ios --dev true --entry-file index.ios.js --bundle-output ios-bundle.js + react-native bundle --max-workers 1 --platform ios --dev true --entry-file index.js --bundle-output ios-bundle.js if [ $? -ne 0 ]; then echo "Could not build iOS bundle" return 1 diff --git a/Examples/.eslintrc b/Examples/.eslintrc deleted file mode 100644 index 8dc9d22c11ec..000000000000 --- a/Examples/.eslintrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "rules": { - "no-alert": 0 - } -} diff --git a/Examples/UIExplorer/README.md b/Examples/UIExplorer/README.md deleted file mode 100644 index 7afa6d2e0f2f..000000000000 --- a/Examples/UIExplorer/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# UIExplorer - -The UIExplorer is a sample app that showcases React Native views and modules. - -## Running this app - -Before running the app, make sure you ran: - - git clone https://github.com/facebook/react-native.git - cd react-native - npm install - -### Running on iOS - -Mac OS and Xcode are required. - -- Open `Examples/UIExplorer/UIExplorer.xcodeproj` in Xcode -- Hit the Run button - -See [Running on device](https://facebook.github.io/react-native/docs/running-on-device.html) if you want to use a physical device. - -### Running on Android - -You'll need to have all the [prerequisites](https://github.com/facebook/react-native/tree/master/ReactAndroid#prerequisites) (SDK, NDK) for Building React Native installed. - -Start an Android emulator ([Genymotion](https://www.genymotion.com) is recommended). - - cd react-native - ./gradlew :Examples:UIExplorer:android:app:installDebug - ./packager/packager.sh - -_Note: Building for the first time can take a while._ - -Open the UIExplorer app in your emulator. - -See [Running on Device](https://facebook.github.io/react-native/docs/running-on-device.html) in case you want to use a physical device. - -### Running with Buck - -Follow the same setup as running with gradle. - -Install Buck from [here](https://buckbuild.com/setup/install.html). - -Run the following commands from the react-native folder: - - ./gradlew :ReactAndroid:packageReactNdkLibsForBuck - buck fetch uiexplorer - buck install -r uiexplorer - ./packager/packager.sh - -_Note: The native libs are still built using gradle. Full build with buck is coming soon(tm)._ - -## Built from source - -Building the app on both iOS and Android means building the React Native framework from source. This way you're running the latest native and JS code the way you see it in your clone of the github repo. - -This is different from apps created using `react-native init` which have a dependency on a specific version of React Native JS and native code, declared in a `package.json` file (and `build.gradle` for Android apps). diff --git a/Examples/UIExplorer/UIExplorer.xcodeproj/project.pbxproj b/Examples/UIExplorer/UIExplorer.xcodeproj/project.pbxproj deleted file mode 100644 index e671e6e161f2..000000000000 --- a/Examples/UIExplorer/UIExplorer.xcodeproj/project.pbxproj +++ /dev/null @@ -1,2096 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 001BFCE41D838343008E587E /* RCTMultipartStreamReaderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 001BFCE31D838343008E587E /* RCTMultipartStreamReaderTests.m */; }; - 1300627F1B59179B0043FE5A /* RCTGzipTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1300627E1B59179B0043FE5A /* RCTGzipTests.m */; }; - 13129DD41C85F87C007D611C /* RCTModuleInitNotificationRaceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13129DD31C85F87C007D611C /* RCTModuleInitNotificationRaceTests.m */; }; - 13417FE91AA91432003F314A /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 13417FE81AA91428003F314A /* libRCTImage.a */; }; - 134180011AA9153C003F314A /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 13417FEF1AA914B8003F314A /* libRCTText.a */; }; - 1341802C1AA9178B003F314A /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1341802B1AA91779003F314A /* libRCTNetwork.a */; }; - 134454601AAFCABD003F0779 /* libRCTAdSupport.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1344545A1AAFCAAE003F0779 /* libRCTAdSupport.a */; }; - 134A8A2A1AACED7A00945AAE /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 134A8A251AACED6A00945AAE /* libRCTGeolocation.a */; }; - 134CB92A1C85A38800265FA6 /* RCTModuleInitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 134CB9291C85A38800265FA6 /* RCTModuleInitTests.m */; }; - 138D6A181B53CD440074A87E /* RCTShadowViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 138D6A161B53CD440074A87E /* RCTShadowViewTests.m */; }; - 138DEE241B9EDFB6007F4EA5 /* libRCTCameraRoll.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 138DEE091B9EDDDB007F4EA5 /* libRCTCameraRoll.a */; }; - 1393D0381B68CD1300E1B601 /* RCTModuleMethodTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1393D0371B68CD1300E1B601 /* RCTModuleMethodTests.m */; }; - 139FDEDB1B0651FB00C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDED91B0651EA00C62182 /* libRCTWebSocket.a */; }; - 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; - 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; - 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; - 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 13B6C1A31C34225900D3FAF5 /* RCTURLUtilsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B6C1A21C34225900D3FAF5 /* RCTURLUtilsTests.m */; }; - 13BCE84F1C9C209600DD7AAD /* RCTComponentPropsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13BCE84E1C9C209600DD7AAD /* RCTComponentPropsTests.m */; }; - 13DB03481B5D2ED500C27245 /* RCTJSONTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DB03471B5D2ED500C27245 /* RCTJSONTests.m */; }; - 13DF61B61B67A45000EDB188 /* RCTMethodArgumentTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DF61B51B67A45000EDB188 /* RCTMethodArgumentTests.m */; }; - 13E501F11D07A84A005F35D8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 13E501A31D07A502005F35D8 /* libRCTAnimation.a */; }; - 143BC5A11B21E45C00462512 /* UIExplorerSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 143BC5A01B21E45C00462512 /* UIExplorerSnapshotTests.m */; }; - 144D21241B2204C5006DB32B /* RCTImageUtilTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 144D21231B2204C5006DB32B /* RCTImageUtilTests.m */; }; - 147CED4C1AB3532B00DA3E4C /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 147CED4B1AB34F8C00DA3E4C /* libRCTActionSheet.a */; }; - 1497CFAC1B21F5E400C1F8F2 /* RCTAllocationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA41B21F5E400C1F8F2 /* RCTAllocationTests.m */; }; - 1497CFAD1B21F5E400C1F8F2 /* RCTBridgeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA51B21F5E400C1F8F2 /* RCTBridgeTests.m */; }; - 1497CFAF1B21F5E400C1F8F2 /* RCTConvert_NSURLTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA71B21F5E400C1F8F2 /* RCTConvert_NSURLTests.m */; }; - 1497CFB01B21F5E400C1F8F2 /* RCTFontTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA81B21F5E400C1F8F2 /* RCTFontTests.m */; }; - 1497CFB11B21F5E400C1F8F2 /* RCTEventDispatcherTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA91B21F5E400C1F8F2 /* RCTEventDispatcherTests.m */; }; - 1497CFB31B21F5E400C1F8F2 /* RCTUIManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFAB1B21F5E400C1F8F2 /* RCTUIManagerTests.m */; }; - 14AADF051AC3DBB1002390C9 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 14AADF041AC3DB95002390C9 /* libReact.a */; }; - 14B6DA821B276C5900BF4DD1 /* libRCTTest.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58005BEE1ABA80530062E044 /* libRCTTest.a */; }; - 14D6D7111B220EB3001FB087 /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 14D6D7101B220EB3001FB087 /* libOCMock.a */; }; - 14D6D71E1B2222EF001FB087 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 147CED4B1AB34F8C00DA3E4C /* libRCTActionSheet.a */; }; - 14D6D71F1B2222EF001FB087 /* libRCTAdSupport.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1344545A1AAFCAAE003F0779 /* libRCTAdSupport.a */; }; - 14D6D7201B2222EF001FB087 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 134A8A251AACED6A00945AAE /* libRCTGeolocation.a */; }; - 14D6D7211B2222EF001FB087 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 13417FE81AA91428003F314A /* libRCTImage.a */; }; - 14D6D7221B2222EF001FB087 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1341802B1AA91779003F314A /* libRCTNetwork.a */; }; - 14D6D7231B2222EF001FB087 /* libRCTPushNotification.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 14DC67F11AB71876001358AB /* libRCTPushNotification.a */; }; - 14D6D7241B2222EF001FB087 /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 834C36D21AF8DA610019C93C /* libRCTSettings.a */; }; - 14D6D7251B2222EF001FB087 /* libRCTTest.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58005BEE1ABA80530062E044 /* libRCTTest.a */; }; - 14D6D7261B2222EF001FB087 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 13417FEF1AA914B8003F314A /* libRCTText.a */; }; - 14D6D7271B2222EF001FB087 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D85B829C1AB6D5CE003F4FE2 /* libRCTVibration.a */; }; - 14D6D7281B2222EF001FB087 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDED91B0651EA00C62182 /* libRCTWebSocket.a */; }; - 14D6D7291B2222EF001FB087 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 14AADF041AC3DB95002390C9 /* libReact.a */; }; - 14DC67F41AB71881001358AB /* libRCTPushNotification.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 14DC67F11AB71876001358AB /* libRCTPushNotification.a */; }; - 192F69B81E82409A008692C7 /* RCTAnimationUtilsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 192F69B51E82409A008692C7 /* RCTAnimationUtilsTests.m */; }; - 192F69B91E82409A008692C7 /* RCTConvert_YGValueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 192F69B61E82409A008692C7 /* RCTConvert_YGValueTests.m */; }; - 192F69BA1E82409A008692C7 /* RCTNativeAnimatedNodesManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 192F69B71E82409A008692C7 /* RCTNativeAnimatedNodesManagerTests.m */; }; - 192F69DA1E8240E2008692C7 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 13E501A31D07A502005F35D8 /* libRCTAnimation.a */; }; - 272E6B3F1BEA849E001FCF37 /* UpdatePropertiesExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */; }; - 27B885561BED29AF00008352 /* RCTRootViewIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 27B885551BED29AF00008352 /* RCTRootViewIntegrationTests.m */; }; - 27F441EC1BEBE5030039B79C /* FlexibleSizeExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */; }; - 2D4624FA1DA2EAC300C74D09 /* RCTLoggingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D299BAE1D33EBFA00FA1057 /* RCTLoggingTests.m */; }; - 2D4624FB1DA2EAC300C74D09 /* RCTRootViewIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 27B885551BED29AF00008352 /* RCTRootViewIntegrationTests.m */; }; - 2D4624FC1DA2EAC300C74D09 /* UIExplorerIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DB99D0B1BA0340600302749 /* UIExplorerIntegrationTests.m */; }; - 2D4624FD1DA2EAC300C74D09 /* UIExplorerSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 143BC5A01B21E45C00462512 /* UIExplorerSnapshotTests.m */; }; - 2D4624FE1DA2EAC300C74D09 /* RCTUIManagerScenarioTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 83636F8E1B53F22C009F943E /* RCTUIManagerScenarioTests.m */; }; - 2D4625351DA2EBBE00C74D09 /* libRCTTest-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323CC1DA2DD8B000FE1B8 /* libRCTTest-tvOS.a */; }; - 2D4BD8D21DA2E20D005AC8A8 /* RCTURLUtilsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B6C1A21C34225900D3FAF5 /* RCTURLUtilsTests.m */; }; - 2D4BD8D31DA2E20D005AC8A8 /* RCTBundleURLProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 68FF44371CF6111500720EFD /* RCTBundleURLProviderTests.m */; }; - 2D4BD8D41DA2E20D005AC8A8 /* RCTAllocationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA41B21F5E400C1F8F2 /* RCTAllocationTests.m */; }; - 2D4BD8D51DA2E20D005AC8A8 /* RCTBridgeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA51B21F5E400C1F8F2 /* RCTBridgeTests.m */; }; - 2D4BD8D71DA2E20D005AC8A8 /* RCTConvert_NSURLTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA71B21F5E400C1F8F2 /* RCTConvert_NSURLTests.m */; }; - 2D4BD8D81DA2E20D005AC8A8 /* RCTFontTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA81B21F5E400C1F8F2 /* RCTFontTests.m */; }; - 2D4BD8D91DA2E20D005AC8A8 /* RCTEventDispatcherTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA91B21F5E400C1F8F2 /* RCTEventDispatcherTests.m */; }; - 2D4BD8DA1DA2E20D005AC8A8 /* RCTGzipTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1300627E1B59179B0043FE5A /* RCTGzipTests.m */; }; - 2D4BD8DB1DA2E20D005AC8A8 /* RCTImageLoaderHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 8385CF031B87479200C6273E /* RCTImageLoaderHelpers.m */; }; - 2D4BD8DC1DA2E20D005AC8A8 /* RCTImageLoaderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8385CEF41B873B5C00C6273E /* RCTImageLoaderTests.m */; }; - 2D4BD8DD1DA2E20D005AC8A8 /* RCTImageUtilTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 144D21231B2204C5006DB32B /* RCTImageUtilTests.m */; }; - 2D4BD8DE1DA2E20D005AC8A8 /* RCTJSONTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DB03471B5D2ED500C27245 /* RCTJSONTests.m */; }; - 2D4BD8DF1DA2E20D005AC8A8 /* RCTMethodArgumentTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DF61B51B67A45000EDB188 /* RCTMethodArgumentTests.m */; }; - 2D4BD8E01DA2E20D005AC8A8 /* RCTModuleInitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 134CB9291C85A38800265FA6 /* RCTModuleInitTests.m */; }; - 2D4BD8E11DA2E20D005AC8A8 /* RCTModuleInitNotificationRaceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13129DD31C85F87C007D611C /* RCTModuleInitNotificationRaceTests.m */; }; - 2D4BD8E21DA2E20D005AC8A8 /* RCTModuleMethodTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1393D0371B68CD1300E1B601 /* RCTModuleMethodTests.m */; }; - 2D4BD8E31DA2E20D005AC8A8 /* RCTShadowViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 138D6A161B53CD440074A87E /* RCTShadowViewTests.m */; }; - 2D4BD8E41DA2E20D005AC8A8 /* RCTUIManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFAB1B21F5E400C1F8F2 /* RCTUIManagerTests.m */; }; - 2D4BD8E51DA2E20D005AC8A8 /* RCTComponentPropsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13BCE84E1C9C209600DD7AAD /* RCTComponentPropsTests.m */; }; - 2D4BD8E61DA2E20D005AC8A8 /* UIExplorerUnitTestsBundle.js in Resources */ = {isa = PBXBuildFile; fileRef = 3DD981D51D33C6FB007DC7BE /* UIExplorerUnitTestsBundle.js */; }; - 2D4BD8E71DA2E20D005AC8A8 /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 14D6D7101B220EB3001FB087 /* libOCMock.a */; }; - 2D8C2E321DA40403000EE098 /* RCTMultipartStreamReaderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 001BFCE31D838343008E587E /* RCTMultipartStreamReaderTests.m */; }; - 2DD323DC1DA2DDBF000FE1B8 /* FlexibleSizeExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */; }; - 2DD323DD1DA2DDBF000FE1B8 /* UpdatePropertiesExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */; }; - 2DD323DE1DA2DDBF000FE1B8 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; - 2DD323DF1DA2DDBF000FE1B8 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; - 2DD323E01DA2DDBF000FE1B8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 2DD323E11DA2DDBF000FE1B8 /* legacy_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */; }; - 2DD323E21DA2DDBF000FE1B8 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB61A68108700A75B9A /* Info.plist */; }; - 2DD323E31DA2DE3F000FE1B8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323B51DA2DD8B000FE1B8 /* libRCTAnimation.a */; }; - 2DD323E51DA2DE3F000FE1B8 /* libRCTLinking-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323BF1DA2DD8B000FE1B8 /* libRCTLinking-tvOS.a */; }; - 2DD323E61DA2DE3F000FE1B8 /* libRCTNetwork-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323C31DA2DD8B000FE1B8 /* libRCTNetwork-tvOS.a */; }; - 2DD323E71DA2DE3F000FE1B8 /* libRCTSettings-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323C81DA2DD8B000FE1B8 /* libRCTSettings-tvOS.a */; }; - 2DD323E81DA2DE3F000FE1B8 /* libRCTText-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323D01DA2DD8B000FE1B8 /* libRCTText-tvOS.a */; }; - 2DD323E91DA2DE3F000FE1B8 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323D51DA2DD8B000FE1B8 /* libRCTWebSocket-tvOS.a */; }; - 2DD323EA1DA2DE3F000FE1B8 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323D91DA2DD8B000FE1B8 /* libReact.a */; }; - 3578590A1B28D2CF00341EDB /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 357859011B28D2C500341EDB /* libRCTLinking.a */; }; - 39AA31A41DC1DFDC000F7EBB /* RCTUnicodeDecodeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 39AA31A31DC1DFDC000F7EBB /* RCTUnicodeDecodeTests.m */; }; - 3D05746D1DE6008900184BB4 /* libRCTPushNotification-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D05746C1DE6008900184BB4 /* libRCTPushNotification-tvOS.a */; }; - 3D13F8481D6F6AF900E69E0E /* ImageInBundle.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F8441D6F6AF200E69E0E /* ImageInBundle.png */; }; - 3D13F84A1D6F6AFD00E69E0E /* OtherImages.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F8451D6F6AF200E69E0E /* OtherImages.xcassets */; }; - 3D299BAF1D33EBFA00FA1057 /* RCTLoggingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D299BAE1D33EBFA00FA1057 /* RCTLoggingTests.m */; }; - 3D2AFAF51D646CF80089D1A3 /* legacy_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */; }; - 3D302F221DF8285100D6DDAE /* libRCTImage-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323BB1DA2DD8B000FE1B8 /* libRCTImage-tvOS.a */; }; - 3D56F9F11D6F6E9B00F53A06 /* UIExplorerBundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F83E1D6F6AE000E69E0E /* UIExplorerBundle.bundle */; }; - 3DB99D0C1BA0340600302749 /* UIExplorerIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DB99D0B1BA0340600302749 /* UIExplorerIntegrationTests.m */; }; - 3DD981D61D33C6FB007DC7BE /* UIExplorerUnitTestsBundle.js in Resources */ = {isa = PBXBuildFile; fileRef = 3DD981D51D33C6FB007DC7BE /* UIExplorerUnitTestsBundle.js */; }; - 68FF44381CF6111500720EFD /* RCTBundleURLProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 68FF44371CF6111500720EFD /* RCTBundleURLProviderTests.m */; }; - 834C36EC1AF8DED70019C93C /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 834C36D21AF8DA610019C93C /* libRCTSettings.a */; }; - 83636F8F1B53F22C009F943E /* RCTUIManagerScenarioTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 83636F8E1B53F22C009F943E /* RCTUIManagerScenarioTests.m */; }; - 8385CEF51B873B5C00C6273E /* RCTImageLoaderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8385CEF41B873B5C00C6273E /* RCTImageLoaderTests.m */; }; - 8385CF041B87479200C6273E /* RCTImageLoaderHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 8385CF031B87479200C6273E /* RCTImageLoaderHelpers.m */; }; - BC9C03401DC9F1D600B1C635 /* RCTDevMenuTests.m in Sources */ = {isa = PBXBuildFile; fileRef = BC9C033F1DC9F1D600B1C635 /* RCTDevMenuTests.m */; }; - C654F0B31EB34A73000B7A9A /* UIExplorerTestModule.m in Sources */ = {isa = PBXBuildFile; fileRef = C654F0B21EB34A73000B7A9A /* UIExplorerTestModule.m */; }; - C654F17E1EB34D24000B7A9A /* UIExplorerTestModule.m in Sources */ = {isa = PBXBuildFile; fileRef = C654F0B21EB34A73000B7A9A /* UIExplorerTestModule.m */; }; - D85B829E1AB6D5D7003F4FE2 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D85B829C1AB6D5CE003F4FE2 /* libRCTVibration.a */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 13417FE71AA91428003F314A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13417FE31AA91428003F314A /* RCTImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5115D1A9E6B3D00147676; - remoteInfo = RCTImage; - }; - 13417FEE1AA914B8003F314A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13417FEA1AA914B8003F314A /* RCTText.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5119B1A9E6C1200147676; - remoteInfo = RCTText; - }; - 1341802A1AA91779003F314A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 134180261AA91779003F314A /* RCTNetwork.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B511DB1A9E6C8500147676; - remoteInfo = RCTNetwork; - }; - 134454591AAFCAAE003F0779 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 134454551AAFCAAE003F0779 /* RCTAdSupport.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; - remoteInfo = RCTAdSupport; - }; - 134A8A241AACED6A00945AAE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 134A8A201AACED6A00945AAE /* RCTGeolocation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTGeolocation; - }; - 138DEE081B9EDDDB007F4EA5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 138DEE021B9EDDDB007F4EA5 /* RCTCameraRoll.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5115D1A9E6B3D00147676; - remoteInfo = RCTImage; - }; - 139FDED81B0651EA00C62182 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDECA1B0651EA00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3C86DF461ADF2C930047B81A; - remoteInfo = RCTWebSocket; - }; - 13E501A21D07A502005F35D8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13E5019C1D07A502005F35D8 /* RCTAnimation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTAnimation; - }; - 143BC59B1B21E3E100462512 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 13B07F861A680F5B00A75B9A; - remoteInfo = UIExplorer; - }; - 147CED4A1AB34F8C00DA3E4C /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14E0EEC81AB118F7000DECC3 /* RCTActionSheet.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTActionSheet; - }; - 14AADF031AC3DB95002390C9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14AADEFF1AC3DB95002390C9 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; - remoteInfo = React; - }; - 14DC67F01AB71876001358AB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14DC67E71AB71876001358AB /* RCTPushNotification.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTPushNotification; - }; - 2D4624C31DA2EA6900C74D09 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 2DD3238F1DA2DD8A000FE1B8; - remoteInfo = "UIExplorer-tvOS"; - }; - 2DD323A61DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 2DD3238F1DA2DD8A000FE1B8; - remoteInfo = "UIExplorer-tvOS"; - }; - 2DD323B41DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13E5019C1D07A502005F35D8 /* RCTAnimation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28201D9B03D100D4039D; - remoteInfo = "RCTAnimation-tvOS"; - }; - 2DD323BA1DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13417FE31AA91428003F314A /* RCTImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A283A1D9B042B00D4039D; - remoteInfo = "RCTImage-tvOS"; - }; - 2DD323BE1DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 357858F81B28D2C400341EDB /* RCTLinking.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28471D9B043800D4039D; - remoteInfo = "RCTLinking-tvOS"; - }; - 2DD323C21DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 134180261AA91779003F314A /* RCTNetwork.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28541D9B044C00D4039D; - remoteInfo = "RCTNetwork-tvOS"; - }; - 2DD323C71DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13CC9D481AEED2B90020D1C2 /* RCTSettings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28611D9B046600D4039D; - remoteInfo = "RCTSettings-tvOS"; - }; - 2DD323CB1DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 58005BE41ABA80530062E044 /* RCTTest.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A286E1D9B047700D4039D; - remoteInfo = "RCTTest-tvOS"; - }; - 2DD323CF1DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13417FEA1AA914B8003F314A /* RCTText.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A287B1D9B048500D4039D; - remoteInfo = "RCTText-tvOS"; - }; - 2DD323D41DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDECA1B0651EA00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28881D9B049200D4039D; - remoteInfo = "RCTWebSocket-tvOS"; - }; - 2DD323D81DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14AADEFF1AC3DB95002390C9 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28131D9B038B00D4039D; - remoteInfo = "React-tvOS"; - }; - 357859001B28D2C500341EDB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 357858F81B28D2C400341EDB /* RCTLinking.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTLinking; - }; - 3D05746B1DE6008900184BB4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14DC67E71AB71876001358AB /* RCTPushNotification.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D05745F1DE6004600184BB4; - remoteInfo = "RCTPushNotification-tvOS"; - }; - 3D05748B1DE6008900184BB4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14AADEFF1AC3DB95002390C9 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4; - remoteInfo = cxxreact; - }; - 3D05748D1DE6008900184BB4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14AADEFF1AC3DB95002390C9 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4; - remoteInfo = "cxxreact-tvOS"; - }; - 3D05748F1DE6008900184BB4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14AADEFF1AC3DB95002390C9 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD90B1DE5FBD600167DC4; - remoteInfo = jschelpers; - }; - 3D0574911DE6008900184BB4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14AADEFF1AC3DB95002390C9 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD9181DE5FBD800167DC4; - remoteInfo = "jschelpers-tvOS"; - }; - 3D13F84B1D6F6B5F00E69E0E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3D13F83D1D6F6AE000E69E0E; - remoteInfo = UIExplorerBundle; - }; - 3D3C08801DE3424E00C268FA /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14AADEFF1AC3DB95002390C9 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3C059A1DE3340900C268FA; - remoteInfo = yoga; - }; - 3D3C08821DE3424E00C268FA /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14AADEFF1AC3DB95002390C9 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3C06751DE3340C00C268FA; - remoteInfo = "yoga-tvOS"; - }; - 3D507F411EBC88B700B56834 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14AADEFF1AC3DB95002390C9 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 139D7ECE1E25DB7D00323FB7; - remoteInfo = "third-party"; - }; - 3D507F431EBC88B700B56834 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14AADEFF1AC3DB95002390C9 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 139D7E881E25C6D100323FB7; - remoteInfo = "double-conversion"; - }; - 58005BED1ABA80530062E044 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 58005BE41ABA80530062E044 /* RCTTest.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 580C376F1AB104AF0015E709; - remoteInfo = RCTTest; - }; - 834C36D11AF8DA610019C93C /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13CC9D481AEED2B90020D1C2 /* RCTSettings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTSettings; - }; - D85B829B1AB6D5CE003F4FE2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D85B82911AB6D5CE003F4FE2 /* RCTVibration.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; - remoteInfo = RCTVibration; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 001BFCE31D838343008E587E /* RCTMultipartStreamReaderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTMultipartStreamReaderTests.m; sourceTree = ""; }; - 004D289E1AAF61C70097A701 /* UIExplorerUnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UIExplorerUnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 1300627E1B59179B0043FE5A /* RCTGzipTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTGzipTests.m; sourceTree = ""; }; - 13129DD31C85F87C007D611C /* RCTModuleInitNotificationRaceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTModuleInitNotificationRaceTests.m; sourceTree = ""; }; - 13417FE31AA91428003F314A /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = ../../Libraries/Image/RCTImage.xcodeproj; sourceTree = ""; }; - 13417FEA1AA914B8003F314A /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = ../../Libraries/Text/RCTText.xcodeproj; sourceTree = ""; }; - 134180261AA91779003F314A /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = ../../Libraries/Network/RCTNetwork.xcodeproj; sourceTree = ""; }; - 134454551AAFCAAE003F0779 /* RCTAdSupport.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAdSupport.xcodeproj; path = ../../Libraries/AdSupport/RCTAdSupport.xcodeproj; sourceTree = ""; }; - 134A8A201AACED6A00945AAE /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = ../../Libraries/Geolocation/RCTGeolocation.xcodeproj; sourceTree = ""; }; - 134CB9291C85A38800265FA6 /* RCTModuleInitTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTModuleInitTests.m; sourceTree = ""; }; - 138D6A161B53CD440074A87E /* RCTShadowViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTShadowViewTests.m; sourceTree = ""; }; - 138DEE021B9EDDDB007F4EA5 /* RCTCameraRoll.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTCameraRoll.xcodeproj; path = ../../Libraries/CameraRoll/RCTCameraRoll.xcodeproj; sourceTree = ""; }; - 1393D0371B68CD1300E1B601 /* RCTModuleMethodTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTModuleMethodTests.m; sourceTree = ""; }; - 139FDECA1B0651EA00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = ../../Libraries/WebSocket/RCTWebSocket.xcodeproj; sourceTree = ""; }; - 13B07F961A680F5B00A75B9A /* UIExplorer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UIExplorer.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = UIExplorer/AppDelegate.h; sourceTree = ""; }; - 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = UIExplorer/AppDelegate.m; sourceTree = ""; }; - 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; - 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = UIExplorer/Images.xcassets; sourceTree = ""; }; - 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = UIExplorer/Info.plist; sourceTree = ""; }; - 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = UIExplorer/main.m; sourceTree = ""; }; - 13B6C1A21C34225900D3FAF5 /* RCTURLUtilsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTURLUtilsTests.m; sourceTree = ""; }; - 13BCE84E1C9C209600DD7AAD /* RCTComponentPropsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTComponentPropsTests.m; sourceTree = ""; }; - 13CC9D481AEED2B90020D1C2 /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = ../../Libraries/Settings/RCTSettings.xcodeproj; sourceTree = ""; }; - 13DB03471B5D2ED500C27245 /* RCTJSONTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTJSONTests.m; sourceTree = ""; }; - 13DF61B51B67A45000EDB188 /* RCTMethodArgumentTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTMethodArgumentTests.m; sourceTree = ""; }; - 13E5019C1D07A502005F35D8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = ../../Libraries/NativeAnimation/RCTAnimation.xcodeproj; sourceTree = ""; }; - 143BC57E1B21E18100462512 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 143BC5951B21E3E100462512 /* UIExplorerIntegrationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UIExplorerIntegrationTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 143BC5981B21E3E100462512 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 143BC5A01B21E45C00462512 /* UIExplorerSnapshotTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIExplorerSnapshotTests.m; sourceTree = ""; }; - 144D21231B2204C5006DB32B /* RCTImageUtilTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageUtilTests.m; sourceTree = ""; }; - 1497CFA41B21F5E400C1F8F2 /* RCTAllocationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTAllocationTests.m; sourceTree = ""; }; - 1497CFA51B21F5E400C1F8F2 /* RCTBridgeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTBridgeTests.m; sourceTree = ""; }; - 1497CFA71B21F5E400C1F8F2 /* RCTConvert_NSURLTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTConvert_NSURLTests.m; sourceTree = ""; }; - 1497CFA81B21F5E400C1F8F2 /* RCTFontTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTFontTests.m; sourceTree = ""; }; - 1497CFA91B21F5E400C1F8F2 /* RCTEventDispatcherTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTEventDispatcherTests.m; sourceTree = ""; }; - 1497CFAB1B21F5E400C1F8F2 /* RCTUIManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTUIManagerTests.m; sourceTree = ""; }; - 14AADEFF1AC3DB95002390C9 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = ../../React/React.xcodeproj; sourceTree = ""; }; - 14D6D7021B220AE3001FB087 /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+OCMAdditions.h"; sourceTree = ""; }; - 14D6D7031B220AE3001FB087 /* OCMArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMArg.h; sourceTree = ""; }; - 14D6D7041B220AE3001FB087 /* OCMConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMConstraint.h; sourceTree = ""; }; - 14D6D7051B220AE3001FB087 /* OCMLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMLocation.h; sourceTree = ""; }; - 14D6D7061B220AE3001FB087 /* OCMMacroState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMMacroState.h; sourceTree = ""; }; - 14D6D7071B220AE3001FB087 /* OCMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMock.h; sourceTree = ""; }; - 14D6D7081B220AE3001FB087 /* OCMockObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMockObject.h; sourceTree = ""; }; - 14D6D7091B220AE3001FB087 /* OCMRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMRecorder.h; sourceTree = ""; }; - 14D6D70A1B220AE3001FB087 /* OCMStubRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMStubRecorder.h; sourceTree = ""; }; - 14D6D7101B220EB3001FB087 /* libOCMock.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libOCMock.a; sourceTree = ""; }; - 14DC67E71AB71876001358AB /* RCTPushNotification.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTPushNotification.xcodeproj; path = ../../Libraries/PushNotificationIOS/RCTPushNotification.xcodeproj; sourceTree = ""; }; - 14E0EEC81AB118F7000DECC3 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = ../../Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj; sourceTree = ""; }; - 192F69B51E82409A008692C7 /* RCTAnimationUtilsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTAnimationUtilsTests.m; sourceTree = ""; }; - 192F69B61E82409A008692C7 /* RCTConvert_YGValueTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTConvert_YGValueTests.m; sourceTree = ""; }; - 192F69B71E82409A008692C7 /* RCTNativeAnimatedNodesManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTNativeAnimatedNodesManagerTests.m; sourceTree = ""; }; - 272E6B3B1BEA849E001FCF37 /* UpdatePropertiesExampleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UpdatePropertiesExampleView.h; path = UIExplorer/NativeExampleViews/UpdatePropertiesExampleView.h; sourceTree = ""; }; - 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UpdatePropertiesExampleView.m; path = UIExplorer/NativeExampleViews/UpdatePropertiesExampleView.m; sourceTree = ""; }; - 27B885551BED29AF00008352 /* RCTRootViewIntegrationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTRootViewIntegrationTests.m; sourceTree = ""; }; - 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FlexibleSizeExampleView.m; path = UIExplorer/NativeExampleViews/FlexibleSizeExampleView.m; sourceTree = ""; }; - 27F441EA1BEBE5030039B79C /* FlexibleSizeExampleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FlexibleSizeExampleView.h; path = UIExplorer/NativeExampleViews/FlexibleSizeExampleView.h; sourceTree = ""; }; - 2D4624E01DA2EA6900C74D09 /* UIExplorer-tvOSIntegrationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "UIExplorer-tvOSIntegrationTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2DD323901DA2DD8A000FE1B8 /* UIExplorer-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "UIExplorer-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2DD323A01DA2DD8B000FE1B8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 2DD323A51DA2DD8B000FE1B8 /* UIExplorer-tvOSUnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "UIExplorer-tvOSUnitTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 357858F81B28D2C400341EDB /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = ../../Libraries/LinkingIOS/RCTLinking.xcodeproj; sourceTree = ""; }; - 39AA31A31DC1DFDC000F7EBB /* RCTUnicodeDecodeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTUnicodeDecodeTests.m; sourceTree = ""; }; - 3D13F83E1D6F6AE000E69E0E /* UIExplorerBundle.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UIExplorerBundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - 3D13F8401D6F6AE000E69E0E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = ""; }; - 3D13F8441D6F6AF200E69E0E /* ImageInBundle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ImageInBundle.png; sourceTree = ""; }; - 3D13F8451D6F6AF200E69E0E /* OtherImages.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = OtherImages.xcassets; sourceTree = ""; }; - 3D299BAE1D33EBFA00FA1057 /* RCTLoggingTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTLoggingTests.m; sourceTree = ""; }; - 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "legacy_image@2x.png"; path = "UIExplorer/legacy_image@2x.png"; sourceTree = ""; }; - 3DB99D0B1BA0340600302749 /* UIExplorerIntegrationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIExplorerIntegrationTests.m; sourceTree = ""; }; - 3DD981D51D33C6FB007DC7BE /* UIExplorerUnitTestsBundle.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = UIExplorerUnitTestsBundle.js; sourceTree = ""; }; - 58005BE41ABA80530062E044 /* RCTTest.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTTest.xcodeproj; path = ../../Libraries/RCTTest/RCTTest.xcodeproj; sourceTree = ""; }; - 68FF44371CF6111500720EFD /* RCTBundleURLProviderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTBundleURLProviderTests.m; sourceTree = ""; }; - 83636F8E1B53F22C009F943E /* RCTUIManagerScenarioTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTUIManagerScenarioTests.m; sourceTree = ""; }; - 8385CEF41B873B5C00C6273E /* RCTImageLoaderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageLoaderTests.m; sourceTree = ""; }; - 8385CF031B87479200C6273E /* RCTImageLoaderHelpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageLoaderHelpers.m; sourceTree = ""; }; - 8385CF051B8747A000C6273E /* RCTImageLoaderHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RCTImageLoaderHelpers.h; sourceTree = ""; }; - BC9C033F1DC9F1D600B1C635 /* RCTDevMenuTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTDevMenuTests.m; sourceTree = ""; }; - C654F0B21EB34A73000B7A9A /* UIExplorerTestModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIExplorerTestModule.m; sourceTree = ""; }; - D85B82911AB6D5CE003F4FE2 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = ../../Libraries/Vibration/RCTVibration.xcodeproj; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 004D289B1AAF61C70097A701 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 192F69DA1E8240E2008692C7 /* libRCTAnimation.a in Frameworks */, - 14D6D71E1B2222EF001FB087 /* libRCTActionSheet.a in Frameworks */, - 14D6D71F1B2222EF001FB087 /* libRCTAdSupport.a in Frameworks */, - 14D6D7201B2222EF001FB087 /* libRCTGeolocation.a in Frameworks */, - 14D6D7211B2222EF001FB087 /* libRCTImage.a in Frameworks */, - 14D6D7221B2222EF001FB087 /* libRCTNetwork.a in Frameworks */, - 14D6D7231B2222EF001FB087 /* libRCTPushNotification.a in Frameworks */, - 14D6D7241B2222EF001FB087 /* libRCTSettings.a in Frameworks */, - 14D6D7251B2222EF001FB087 /* libRCTTest.a in Frameworks */, - 14D6D7261B2222EF001FB087 /* libRCTText.a in Frameworks */, - 14D6D7271B2222EF001FB087 /* libRCTVibration.a in Frameworks */, - 14D6D7281B2222EF001FB087 /* libRCTWebSocket.a in Frameworks */, - 14D6D7291B2222EF001FB087 /* libReact.a in Frameworks */, - 14D6D7111B220EB3001FB087 /* libOCMock.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 14AADF051AC3DBB1002390C9 /* libReact.a in Frameworks */, - 147CED4C1AB3532B00DA3E4C /* libRCTActionSheet.a in Frameworks */, - 134454601AAFCABD003F0779 /* libRCTAdSupport.a in Frameworks */, - 13E501F11D07A84A005F35D8 /* libRCTAnimation.a in Frameworks */, - 138DEE241B9EDFB6007F4EA5 /* libRCTCameraRoll.a in Frameworks */, - 134A8A2A1AACED7A00945AAE /* libRCTGeolocation.a in Frameworks */, - 1341802C1AA9178B003F314A /* libRCTNetwork.a in Frameworks */, - 13417FE91AA91432003F314A /* libRCTImage.a in Frameworks */, - 3578590A1B28D2CF00341EDB /* libRCTLinking.a in Frameworks */, - 14DC67F41AB71881001358AB /* libRCTPushNotification.a in Frameworks */, - 834C36EC1AF8DED70019C93C /* libRCTSettings.a in Frameworks */, - 134180011AA9153C003F314A /* libRCTText.a in Frameworks */, - D85B829E1AB6D5D7003F4FE2 /* libRCTVibration.a in Frameworks */, - 139FDEDB1B0651FB00C62182 /* libRCTWebSocket.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 143BC5921B21E3E100462512 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 14B6DA821B276C5900BF4DD1 /* libRCTTest.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2D4624D91DA2EA6900C74D09 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2D4625351DA2EBBE00C74D09 /* libRCTTest-tvOS.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2DD3238D1DA2DD8A000FE1B8 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2DD323EA1DA2DE3F000FE1B8 /* libReact.a in Frameworks */, - 2DD323E31DA2DE3F000FE1B8 /* libRCTAnimation.a in Frameworks */, - 3D302F221DF8285100D6DDAE /* libRCTImage-tvOS.a in Frameworks */, - 2DD323E51DA2DE3F000FE1B8 /* libRCTLinking-tvOS.a in Frameworks */, - 2DD323E61DA2DE3F000FE1B8 /* libRCTNetwork-tvOS.a in Frameworks */, - 3D05746D1DE6008900184BB4 /* libRCTPushNotification-tvOS.a in Frameworks */, - 2DD323E71DA2DE3F000FE1B8 /* libRCTSettings-tvOS.a in Frameworks */, - 2DD323E81DA2DE3F000FE1B8 /* libRCTText-tvOS.a in Frameworks */, - 2DD323E91DA2DE3F000FE1B8 /* libRCTWebSocket-tvOS.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2DD323A21DA2DD8B000FE1B8 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2D4BD8E71DA2E20D005AC8A8 /* libOCMock.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3D13F83B1D6F6AE000E69E0E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 1316A21D1AA397F400C0188E /* Libraries */ = { - isa = PBXGroup; - children = ( - 14AADEFF1AC3DB95002390C9 /* React.xcodeproj */, - 14E0EEC81AB118F7000DECC3 /* RCTActionSheet.xcodeproj */, - 134454551AAFCAAE003F0779 /* RCTAdSupport.xcodeproj */, - 13E5019C1D07A502005F35D8 /* RCTAnimation.xcodeproj */, - 138DEE021B9EDDDB007F4EA5 /* RCTCameraRoll.xcodeproj */, - 134A8A201AACED6A00945AAE /* RCTGeolocation.xcodeproj */, - 13417FE31AA91428003F314A /* RCTImage.xcodeproj */, - 357858F81B28D2C400341EDB /* RCTLinking.xcodeproj */, - 134180261AA91779003F314A /* RCTNetwork.xcodeproj */, - 14DC67E71AB71876001358AB /* RCTPushNotification.xcodeproj */, - 13CC9D481AEED2B90020D1C2 /* RCTSettings.xcodeproj */, - 58005BE41ABA80530062E044 /* RCTTest.xcodeproj */, - 13417FEA1AA914B8003F314A /* RCTText.xcodeproj */, - D85B82911AB6D5CE003F4FE2 /* RCTVibration.xcodeproj */, - 139FDECA1B0651EA00C62182 /* RCTWebSocket.xcodeproj */, - ); - name = Libraries; - sourceTree = ""; - }; - 1323F18D1C04ABAC0091BED0 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */, - 13B07FB61A68108700A75B9A /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 13417FE41AA91428003F314A /* Products */ = { - isa = PBXGroup; - children = ( - 13417FE81AA91428003F314A /* libRCTImage.a */, - 2DD323BB1DA2DD8B000FE1B8 /* libRCTImage-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 13417FEB1AA914B8003F314A /* Products */ = { - isa = PBXGroup; - children = ( - 13417FEF1AA914B8003F314A /* libRCTText.a */, - 2DD323D01DA2DD8B000FE1B8 /* libRCTText-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 134180271AA91779003F314A /* Products */ = { - isa = PBXGroup; - children = ( - 1341802B1AA91779003F314A /* libRCTNetwork.a */, - 2DD323C31DA2DD8B000FE1B8 /* libRCTNetwork-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 134454561AAFCAAE003F0779 /* Products */ = { - isa = PBXGroup; - children = ( - 1344545A1AAFCAAE003F0779 /* libRCTAdSupport.a */, - ); - name = Products; - sourceTree = ""; - }; - 134A8A211AACED6A00945AAE /* Products */ = { - isa = PBXGroup; - children = ( - 134A8A251AACED6A00945AAE /* libRCTGeolocation.a */, - ); - name = Products; - sourceTree = ""; - }; - 138DEE031B9EDDDB007F4EA5 /* Products */ = { - isa = PBXGroup; - children = ( - 138DEE091B9EDDDB007F4EA5 /* libRCTCameraRoll.a */, - ); - name = Products; - sourceTree = ""; - }; - 139FDECB1B0651EA00C62182 /* Products */ = { - isa = PBXGroup; - children = ( - 139FDED91B0651EA00C62182 /* libRCTWebSocket.a */, - 2DD323D51DA2DD8B000FE1B8 /* libRCTWebSocket-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 13B07FAE1A68108700A75B9A /* UIExplorer */ = { - isa = PBXGroup; - children = ( - 272E6B3A1BEA846C001FCF37 /* NativeExampleViews */, - 13B07FAF1A68108700A75B9A /* AppDelegate.h */, - 13B07FB01A68108700A75B9A /* AppDelegate.m */, - 13B07FB51A68108700A75B9A /* Images.xcassets */, - 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, - 13B07FB71A68108700A75B9A /* main.m */, - 1323F18D1C04ABAC0091BED0 /* Supporting Files */, - ); - name = UIExplorer; - sourceTree = ""; - }; - 13E5019D1D07A502005F35D8 /* Products */ = { - isa = PBXGroup; - children = ( - 13E501A31D07A502005F35D8 /* libRCTAnimation.a */, - 2DD323B51DA2DD8B000FE1B8 /* libRCTAnimation.a */, - ); - name = Products; - sourceTree = ""; - }; - 143BC57C1B21E18100462512 /* UIExplorerUnitTests */ = { - isa = PBXGroup; - children = ( - 192F69B51E82409A008692C7 /* RCTAnimationUtilsTests.m */, - 192F69B61E82409A008692C7 /* RCTConvert_YGValueTests.m */, - 192F69B71E82409A008692C7 /* RCTNativeAnimatedNodesManagerTests.m */, - 13B6C1A21C34225900D3FAF5 /* RCTURLUtilsTests.m */, - 68FF44371CF6111500720EFD /* RCTBundleURLProviderTests.m */, - 1497CFA41B21F5E400C1F8F2 /* RCTAllocationTests.m */, - 1497CFA51B21F5E400C1F8F2 /* RCTBridgeTests.m */, - 1497CFA71B21F5E400C1F8F2 /* RCTConvert_NSURLTests.m */, - 1497CFA81B21F5E400C1F8F2 /* RCTFontTests.m */, - 1497CFA91B21F5E400C1F8F2 /* RCTEventDispatcherTests.m */, - 1300627E1B59179B0043FE5A /* RCTGzipTests.m */, - 8385CF051B8747A000C6273E /* RCTImageLoaderHelpers.h */, - 8385CF031B87479200C6273E /* RCTImageLoaderHelpers.m */, - 8385CEF41B873B5C00C6273E /* RCTImageLoaderTests.m */, - 144D21231B2204C5006DB32B /* RCTImageUtilTests.m */, - 13DB03471B5D2ED500C27245 /* RCTJSONTests.m */, - 13DF61B51B67A45000EDB188 /* RCTMethodArgumentTests.m */, - 134CB9291C85A38800265FA6 /* RCTModuleInitTests.m */, - 13129DD31C85F87C007D611C /* RCTModuleInitNotificationRaceTests.m */, - 1393D0371B68CD1300E1B601 /* RCTModuleMethodTests.m */, - 001BFCE31D838343008E587E /* RCTMultipartStreamReaderTests.m */, - 138D6A161B53CD440074A87E /* RCTShadowViewTests.m */, - 1497CFAB1B21F5E400C1F8F2 /* RCTUIManagerTests.m */, - BC9C033F1DC9F1D600B1C635 /* RCTDevMenuTests.m */, - 13BCE84E1C9C209600DD7AAD /* RCTComponentPropsTests.m */, - 39AA31A31DC1DFDC000F7EBB /* RCTUnicodeDecodeTests.m */, - 143BC57E1B21E18100462512 /* Info.plist */, - 3DD981D51D33C6FB007DC7BE /* UIExplorerUnitTestsBundle.js */, - 14D6D7101B220EB3001FB087 /* libOCMock.a */, - 14D6D7011B220AE3001FB087 /* OCMock */, - ); - path = UIExplorerUnitTests; - sourceTree = ""; - }; - 143BC5961B21E3E100462512 /* UIExplorerIntegrationTests */ = { - isa = PBXGroup; - children = ( - 3D299BAE1D33EBFA00FA1057 /* RCTLoggingTests.m */, - 27B885551BED29AF00008352 /* RCTRootViewIntegrationTests.m */, - 3DB99D0B1BA0340600302749 /* UIExplorerIntegrationTests.m */, - 143BC5A01B21E45C00462512 /* UIExplorerSnapshotTests.m */, - C654F0B21EB34A73000B7A9A /* UIExplorerTestModule.m */, - 83636F8E1B53F22C009F943E /* RCTUIManagerScenarioTests.m */, - 143BC5971B21E3E100462512 /* Supporting Files */, - ); - path = UIExplorerIntegrationTests; - sourceTree = ""; - }; - 143BC5971B21E3E100462512 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 143BC5981B21E3E100462512 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 147CED471AB34F8C00DA3E4C /* Products */ = { - isa = PBXGroup; - children = ( - 147CED4B1AB34F8C00DA3E4C /* libRCTActionSheet.a */, - ); - name = Products; - sourceTree = ""; - }; - 14AADF001AC3DB95002390C9 /* Products */ = { - isa = PBXGroup; - children = ( - 14AADF041AC3DB95002390C9 /* libReact.a */, - 2DD323D91DA2DD8B000FE1B8 /* libReact.a */, - 3D3C08811DE3424E00C268FA /* libyoga.a */, - 3D3C08831DE3424E00C268FA /* libyoga.a */, - 3D05748C1DE6008900184BB4 /* libcxxreact.a */, - 3D05748E1DE6008900184BB4 /* libcxxreact.a */, - 3D0574901DE6008900184BB4 /* libjschelpers.a */, - 3D0574921DE6008900184BB4 /* libjschelpers.a */, - 3D507F421EBC88B700B56834 /* libthird-party.a */, - 3D507F441EBC88B700B56834 /* libdouble-conversion.a */, - ); - name = Products; - sourceTree = ""; - }; - 14D6D6EA1B2205C0001FB087 /* OCMock */ = { - isa = PBXGroup; - children = ( - ); - path = OCMock; - sourceTree = ""; - }; - 14D6D7011B220AE3001FB087 /* OCMock */ = { - isa = PBXGroup; - children = ( - 14D6D7021B220AE3001FB087 /* NSNotificationCenter+OCMAdditions.h */, - 14D6D7031B220AE3001FB087 /* OCMArg.h */, - 14D6D7041B220AE3001FB087 /* OCMConstraint.h */, - 14D6D7051B220AE3001FB087 /* OCMLocation.h */, - 14D6D7061B220AE3001FB087 /* OCMMacroState.h */, - 14D6D7071B220AE3001FB087 /* OCMock.h */, - 14D6D7081B220AE3001FB087 /* OCMockObject.h */, - 14D6D7091B220AE3001FB087 /* OCMRecorder.h */, - 14D6D70A1B220AE3001FB087 /* OCMStubRecorder.h */, - ); - path = OCMock; - sourceTree = ""; - }; - 14DC67E81AB71876001358AB /* Products */ = { - isa = PBXGroup; - children = ( - 14DC67F11AB71876001358AB /* libRCTPushNotification.a */, - 3D05746C1DE6008900184BB4 /* libRCTPushNotification-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 272E6B3A1BEA846C001FCF37 /* NativeExampleViews */ = { - isa = PBXGroup; - children = ( - 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */, - 27F441EA1BEBE5030039B79C /* FlexibleSizeExampleView.h */, - 272E6B3B1BEA849E001FCF37 /* UpdatePropertiesExampleView.h */, - 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */, - ); - name = NativeExampleViews; - sourceTree = ""; - }; - 2DD323911DA2DD8B000FE1B8 /* UIExplorer-tvOS */ = { - isa = PBXGroup; - children = ( - 2DD323A01DA2DD8B000FE1B8 /* Info.plist */, - ); - path = "UIExplorer-tvOS"; - sourceTree = ""; - }; - 357858F91B28D2C400341EDB /* Products */ = { - isa = PBXGroup; - children = ( - 357859011B28D2C500341EDB /* libRCTLinking.a */, - 2DD323BF1DA2DD8B000FE1B8 /* libRCTLinking-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 3D13F83F1D6F6AE000E69E0E /* UIExplorerBundle */ = { - isa = PBXGroup; - children = ( - 3D13F8401D6F6AE000E69E0E /* Info.plist */, - 3D13F8441D6F6AF200E69E0E /* ImageInBundle.png */, - 3D13F8451D6F6AF200E69E0E /* OtherImages.xcassets */, - ); - name = UIExplorerBundle; - path = UIExplorer/UIExplorerBundle; - sourceTree = ""; - }; - 58005BE51ABA80530062E044 /* Products */ = { - isa = PBXGroup; - children = ( - 58005BEE1ABA80530062E044 /* libRCTTest.a */, - 2DD323CC1DA2DD8B000FE1B8 /* libRCTTest-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 834C36CE1AF8DA610019C93C /* Products */ = { - isa = PBXGroup; - children = ( - 834C36D21AF8DA610019C93C /* libRCTSettings.a */, - 2DD323C81DA2DD8B000FE1B8 /* libRCTSettings-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 83CBB9F61A601CBA00E9B192 = { - isa = PBXGroup; - children = ( - 13B07FAE1A68108700A75B9A /* UIExplorer */, - 1316A21D1AA397F400C0188E /* Libraries */, - 143BC57C1B21E18100462512 /* UIExplorerUnitTests */, - 143BC5961B21E3E100462512 /* UIExplorerIntegrationTests */, - 3D13F83F1D6F6AE000E69E0E /* UIExplorerBundle */, - 14D6D6EA1B2205C0001FB087 /* OCMock */, - 2DD323911DA2DD8B000FE1B8 /* UIExplorer-tvOS */, - 83CBBA001A601CBA00E9B192 /* Products */, - ); - indentWidth = 2; - sourceTree = ""; - tabWidth = 2; - }; - 83CBBA001A601CBA00E9B192 /* Products */ = { - isa = PBXGroup; - children = ( - 13B07F961A680F5B00A75B9A /* UIExplorer.app */, - 004D289E1AAF61C70097A701 /* UIExplorerUnitTests.xctest */, - 143BC5951B21E3E100462512 /* UIExplorerIntegrationTests.xctest */, - 3D13F83E1D6F6AE000E69E0E /* UIExplorerBundle.bundle */, - 2DD323901DA2DD8A000FE1B8 /* UIExplorer-tvOS.app */, - 2DD323A51DA2DD8B000FE1B8 /* UIExplorer-tvOSUnitTests.xctest */, - 2D4624E01DA2EA6900C74D09 /* UIExplorer-tvOSIntegrationTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - D85B82921AB6D5CE003F4FE2 /* Products */ = { - isa = PBXGroup; - children = ( - D85B829C1AB6D5CE003F4FE2 /* libRCTVibration.a */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 004D289D1AAF61C70097A701 /* UIExplorerUnitTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 004D28AD1AAF61C70097A701 /* Build configuration list for PBXNativeTarget "UIExplorerUnitTests" */; - buildPhases = ( - 004D289A1AAF61C70097A701 /* Sources */, - 004D289B1AAF61C70097A701 /* Frameworks */, - 004D289C1AAF61C70097A701 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = UIExplorerUnitTests; - productName = UIExplorerTests; - productReference = 004D289E1AAF61C70097A701 /* UIExplorerUnitTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 13B07F861A680F5B00A75B9A /* UIExplorer */ = { - isa = PBXNativeTarget; - buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "UIExplorer" */; - buildPhases = ( - 13B07F871A680F5B00A75B9A /* Sources */, - 13B07F8C1A680F5B00A75B9A /* Frameworks */, - 13B07F8E1A680F5B00A75B9A /* Resources */, - 68CD48B71D2BCB2C007E06A9 /* Run Script */, - ); - buildRules = ( - ); - dependencies = ( - 3D13F84C1D6F6B5F00E69E0E /* PBXTargetDependency */, - ); - name = UIExplorer; - productName = "Hello World"; - productReference = 13B07F961A680F5B00A75B9A /* UIExplorer.app */; - productType = "com.apple.product-type.application"; - }; - 143BC5941B21E3E100462512 /* UIExplorerIntegrationTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 143BC59D1B21E3E100462512 /* Build configuration list for PBXNativeTarget "UIExplorerIntegrationTests" */; - buildPhases = ( - 143BC5911B21E3E100462512 /* Sources */, - 143BC5921B21E3E100462512 /* Frameworks */, - 143BC5931B21E3E100462512 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 143BC59C1B21E3E100462512 /* PBXTargetDependency */, - ); - name = UIExplorerIntegrationTests; - productName = UIExplorerIntegrationTests; - productReference = 143BC5951B21E3E100462512 /* UIExplorerIntegrationTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 2D4624C11DA2EA6900C74D09 /* UIExplorer-tvOSIntegrationTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2D4624DD1DA2EA6900C74D09 /* Build configuration list for PBXNativeTarget "UIExplorer-tvOSIntegrationTests" */; - buildPhases = ( - 2D4624C41DA2EA6900C74D09 /* Sources */, - 2D4624D91DA2EA6900C74D09 /* Frameworks */, - 2D4624DB1DA2EA6900C74D09 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 2D4624C21DA2EA6900C74D09 /* PBXTargetDependency */, - ); - name = "UIExplorer-tvOSIntegrationTests"; - productName = "UIExplorer-tvOSUnitTests"; - productReference = 2D4624E01DA2EA6900C74D09 /* UIExplorer-tvOSIntegrationTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 2DD3238F1DA2DD8A000FE1B8 /* UIExplorer-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2DD323DA1DA2DD8B000FE1B8 /* Build configuration list for PBXNativeTarget "UIExplorer-tvOS" */; - buildPhases = ( - 2DD3238C1DA2DD8A000FE1B8 /* Sources */, - 2DD3238D1DA2DD8A000FE1B8 /* Frameworks */, - 2DD3238E1DA2DD8A000FE1B8 /* Resources */, - 2DD323EB1DA2DEC1000FE1B8 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "UIExplorer-tvOS"; - productName = "UIExplorer-tvOS"; - productReference = 2DD323901DA2DD8A000FE1B8 /* UIExplorer-tvOS.app */; - productType = "com.apple.product-type.application"; - }; - 2DD323A41DA2DD8B000FE1B8 /* UIExplorer-tvOSUnitTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2DD323DB1DA2DD8B000FE1B8 /* Build configuration list for PBXNativeTarget "UIExplorer-tvOSUnitTests" */; - buildPhases = ( - 2DD323A11DA2DD8B000FE1B8 /* Sources */, - 2DD323A21DA2DD8B000FE1B8 /* Frameworks */, - 2DD323A31DA2DD8B000FE1B8 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 2DD323A71DA2DD8B000FE1B8 /* PBXTargetDependency */, - ); - name = "UIExplorer-tvOSUnitTests"; - productName = "UIExplorer-tvOSUnitTests"; - productReference = 2DD323A51DA2DD8B000FE1B8 /* UIExplorer-tvOSUnitTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 3D13F83D1D6F6AE000E69E0E /* UIExplorerBundle */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3D13F8411D6F6AE000E69E0E /* Build configuration list for PBXNativeTarget "UIExplorerBundle" */; - buildPhases = ( - 3D13F83A1D6F6AE000E69E0E /* Sources */, - 3D13F83B1D6F6AE000E69E0E /* Frameworks */, - 3D13F83C1D6F6AE000E69E0E /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = UIExplorerBundle; - productName = UIExplorerBundle; - productReference = 3D13F83E1D6F6AE000E69E0E /* UIExplorerBundle.bundle */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 83CBB9F71A601CBA00E9B192 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0820; - ORGANIZATIONNAME = Facebook; - TargetAttributes = { - 004D289D1AAF61C70097A701 = { - CreatedOnToolsVersion = 6.1.1; - }; - 143BC5941B21E3E100462512 = { - CreatedOnToolsVersion = 6.3.2; - TestTargetID = 13B07F861A680F5B00A75B9A; - }; - 2DD3238F1DA2DD8A000FE1B8 = { - CreatedOnToolsVersion = 8.0; - ProvisioningStyle = Automatic; - }; - 2DD323A41DA2DD8B000FE1B8 = { - CreatedOnToolsVersion = 8.0; - ProvisioningStyle = Automatic; - TestTargetID = 2DD3238F1DA2DD8A000FE1B8; - }; - 3D13F83D1D6F6AE000E69E0E = { - CreatedOnToolsVersion = 7.3.1; - }; - }; - }; - buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "UIExplorer" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 83CBB9F61A601CBA00E9B192; - productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 147CED471AB34F8C00DA3E4C /* Products */; - ProjectRef = 14E0EEC81AB118F7000DECC3 /* RCTActionSheet.xcodeproj */; - }, - { - ProductGroup = 134454561AAFCAAE003F0779 /* Products */; - ProjectRef = 134454551AAFCAAE003F0779 /* RCTAdSupport.xcodeproj */; - }, - { - ProductGroup = 13E5019D1D07A502005F35D8 /* Products */; - ProjectRef = 13E5019C1D07A502005F35D8 /* RCTAnimation.xcodeproj */; - }, - { - ProductGroup = 138DEE031B9EDDDB007F4EA5 /* Products */; - ProjectRef = 138DEE021B9EDDDB007F4EA5 /* RCTCameraRoll.xcodeproj */; - }, - { - ProductGroup = 134A8A211AACED6A00945AAE /* Products */; - ProjectRef = 134A8A201AACED6A00945AAE /* RCTGeolocation.xcodeproj */; - }, - { - ProductGroup = 13417FE41AA91428003F314A /* Products */; - ProjectRef = 13417FE31AA91428003F314A /* RCTImage.xcodeproj */; - }, - { - ProductGroup = 357858F91B28D2C400341EDB /* Products */; - ProjectRef = 357858F81B28D2C400341EDB /* RCTLinking.xcodeproj */; - }, - { - ProductGroup = 134180271AA91779003F314A /* Products */; - ProjectRef = 134180261AA91779003F314A /* RCTNetwork.xcodeproj */; - }, - { - ProductGroup = 14DC67E81AB71876001358AB /* Products */; - ProjectRef = 14DC67E71AB71876001358AB /* RCTPushNotification.xcodeproj */; - }, - { - ProductGroup = 834C36CE1AF8DA610019C93C /* Products */; - ProjectRef = 13CC9D481AEED2B90020D1C2 /* RCTSettings.xcodeproj */; - }, - { - ProductGroup = 58005BE51ABA80530062E044 /* Products */; - ProjectRef = 58005BE41ABA80530062E044 /* RCTTest.xcodeproj */; - }, - { - ProductGroup = 13417FEB1AA914B8003F314A /* Products */; - ProjectRef = 13417FEA1AA914B8003F314A /* RCTText.xcodeproj */; - }, - { - ProductGroup = D85B82921AB6D5CE003F4FE2 /* Products */; - ProjectRef = D85B82911AB6D5CE003F4FE2 /* RCTVibration.xcodeproj */; - }, - { - ProductGroup = 139FDECB1B0651EA00C62182 /* Products */; - ProjectRef = 139FDECA1B0651EA00C62182 /* RCTWebSocket.xcodeproj */; - }, - { - ProductGroup = 14AADF001AC3DB95002390C9 /* Products */; - ProjectRef = 14AADEFF1AC3DB95002390C9 /* React.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - 13B07F861A680F5B00A75B9A /* UIExplorer */, - 004D289D1AAF61C70097A701 /* UIExplorerUnitTests */, - 143BC5941B21E3E100462512 /* UIExplorerIntegrationTests */, - 3D13F83D1D6F6AE000E69E0E /* UIExplorerBundle */, - 2DD3238F1DA2DD8A000FE1B8 /* UIExplorer-tvOS */, - 2DD323A41DA2DD8B000FE1B8 /* UIExplorer-tvOSUnitTests */, - 2D4624C11DA2EA6900C74D09 /* UIExplorer-tvOSIntegrationTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - 13417FE81AA91428003F314A /* libRCTImage.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTImage.a; - remoteRef = 13417FE71AA91428003F314A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 13417FEF1AA914B8003F314A /* libRCTText.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTText.a; - remoteRef = 13417FEE1AA914B8003F314A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1341802B1AA91779003F314A /* libRCTNetwork.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTNetwork.a; - remoteRef = 1341802A1AA91779003F314A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1344545A1AAFCAAE003F0779 /* libRCTAdSupport.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTAdSupport.a; - remoteRef = 134454591AAFCAAE003F0779 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 134A8A251AACED6A00945AAE /* libRCTGeolocation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTGeolocation.a; - remoteRef = 134A8A241AACED6A00945AAE /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 138DEE091B9EDDDB007F4EA5 /* libRCTCameraRoll.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTCameraRoll.a; - remoteRef = 138DEE081B9EDDDB007F4EA5 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 139FDED91B0651EA00C62182 /* libRCTWebSocket.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTWebSocket.a; - remoteRef = 139FDED81B0651EA00C62182 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 13E501A31D07A502005F35D8 /* libRCTAnimation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTAnimation.a; - remoteRef = 13E501A21D07A502005F35D8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 147CED4B1AB34F8C00DA3E4C /* libRCTActionSheet.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTActionSheet.a; - remoteRef = 147CED4A1AB34F8C00DA3E4C /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 14AADF041AC3DB95002390C9 /* libReact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReact.a; - remoteRef = 14AADF031AC3DB95002390C9 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 14DC67F11AB71876001358AB /* libRCTPushNotification.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTPushNotification.a; - remoteRef = 14DC67F01AB71876001358AB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323B51DA2DD8B000FE1B8 /* libRCTAnimation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTAnimation.a; - remoteRef = 2DD323B41DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323BB1DA2DD8B000FE1B8 /* libRCTImage-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTImage-tvOS.a"; - remoteRef = 2DD323BA1DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323BF1DA2DD8B000FE1B8 /* libRCTLinking-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTLinking-tvOS.a"; - remoteRef = 2DD323BE1DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323C31DA2DD8B000FE1B8 /* libRCTNetwork-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTNetwork-tvOS.a"; - remoteRef = 2DD323C21DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323C81DA2DD8B000FE1B8 /* libRCTSettings-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTSettings-tvOS.a"; - remoteRef = 2DD323C71DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323CC1DA2DD8B000FE1B8 /* libRCTTest-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTTest-tvOS.a"; - remoteRef = 2DD323CB1DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323D01DA2DD8B000FE1B8 /* libRCTText-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTText-tvOS.a"; - remoteRef = 2DD323CF1DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323D51DA2DD8B000FE1B8 /* libRCTWebSocket-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTWebSocket-tvOS.a"; - remoteRef = 2DD323D41DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323D91DA2DD8B000FE1B8 /* libReact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReact.a; - remoteRef = 2DD323D81DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 357859011B28D2C500341EDB /* libRCTLinking.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTLinking.a; - remoteRef = 357859001B28D2C500341EDB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3D05746C1DE6008900184BB4 /* libRCTPushNotification-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTPushNotification-tvOS.a"; - remoteRef = 3D05746B1DE6008900184BB4 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3D05748C1DE6008900184BB4 /* libcxxreact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libcxxreact.a; - remoteRef = 3D05748B1DE6008900184BB4 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3D05748E1DE6008900184BB4 /* libcxxreact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libcxxreact.a; - remoteRef = 3D05748D1DE6008900184BB4 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3D0574901DE6008900184BB4 /* libjschelpers.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjschelpers.a; - remoteRef = 3D05748F1DE6008900184BB4 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3D0574921DE6008900184BB4 /* libjschelpers.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjschelpers.a; - remoteRef = 3D0574911DE6008900184BB4 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3D3C08811DE3424E00C268FA /* libyoga.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libyoga.a; - remoteRef = 3D3C08801DE3424E00C268FA /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3D3C08831DE3424E00C268FA /* libyoga.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libyoga.a; - remoteRef = 3D3C08821DE3424E00C268FA /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3D507F421EBC88B700B56834 /* libthird-party.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libthird-party.a"; - remoteRef = 3D507F411EBC88B700B56834 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3D507F441EBC88B700B56834 /* libdouble-conversion.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libdouble-conversion.a"; - remoteRef = 3D507F431EBC88B700B56834 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 58005BEE1ABA80530062E044 /* libRCTTest.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTTest.a; - remoteRef = 58005BED1ABA80530062E044 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 834C36D21AF8DA610019C93C /* libRCTSettings.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTSettings.a; - remoteRef = 834C36D11AF8DA610019C93C /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - D85B829C1AB6D5CE003F4FE2 /* libRCTVibration.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTVibration.a; - remoteRef = D85B829B1AB6D5CE003F4FE2 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXResourcesBuildPhase section */ - 004D289C1AAF61C70097A701 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3DD981D61D33C6FB007DC7BE /* UIExplorerUnitTestsBundle.js in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 13B07F8E1A680F5B00A75B9A /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, - 3D56F9F11D6F6E9B00F53A06 /* UIExplorerBundle.bundle in Resources */, - 3D2AFAF51D646CF80089D1A3 /* legacy_image@2x.png in Resources */, - 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 143BC5931B21E3E100462512 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2D4624DB1DA2EA6900C74D09 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2DD3238E1DA2DD8A000FE1B8 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2DD323DF1DA2DDBF000FE1B8 /* Images.xcassets in Resources */, - 2DD323E11DA2DDBF000FE1B8 /* legacy_image@2x.png in Resources */, - 2DD323E21DA2DDBF000FE1B8 /* Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2DD323A31DA2DD8B000FE1B8 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2D4BD8E61DA2E20D005AC8A8 /* UIExplorerUnitTestsBundle.js in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3D13F83C1D6F6AE000E69E0E /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3D13F8481D6F6AF900E69E0E /* ImageInBundle.png in Resources */, - 3D13F84A1D6F6AFD00E69E0E /* OtherImages.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 2DD323EB1DA2DEC1000FE1B8 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n$SRCROOT/../../packager/react-native-xcode.sh Examples/UIExplorer/js/UIExplorerApp.ios.js"; - }; - 68CD48B71D2BCB2C007E06A9 /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n$SRCROOT/../../packager/react-native-xcode.sh Examples/UIExplorer/js/UIExplorerApp.ios.js"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 004D289A1AAF61C70097A701 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1497CFB01B21F5E400C1F8F2 /* RCTFontTests.m in Sources */, - 13BCE84F1C9C209600DD7AAD /* RCTComponentPropsTests.m in Sources */, - 144D21241B2204C5006DB32B /* RCTImageUtilTests.m in Sources */, - 1393D0381B68CD1300E1B601 /* RCTModuleMethodTests.m in Sources */, - 1300627F1B59179B0043FE5A /* RCTGzipTests.m in Sources */, - 1497CFAF1B21F5E400C1F8F2 /* RCTConvert_NSURLTests.m in Sources */, - 13129DD41C85F87C007D611C /* RCTModuleInitNotificationRaceTests.m in Sources */, - 192F69B81E82409A008692C7 /* RCTAnimationUtilsTests.m in Sources */, - 1497CFAD1B21F5E400C1F8F2 /* RCTBridgeTests.m in Sources */, - 134CB92A1C85A38800265FA6 /* RCTModuleInitTests.m in Sources */, - 192F69BA1E82409A008692C7 /* RCTNativeAnimatedNodesManagerTests.m in Sources */, - 1497CFB11B21F5E400C1F8F2 /* RCTEventDispatcherTests.m in Sources */, - 1497CFB31B21F5E400C1F8F2 /* RCTUIManagerTests.m in Sources */, - 13DB03481B5D2ED500C27245 /* RCTJSONTests.m in Sources */, - 1497CFAC1B21F5E400C1F8F2 /* RCTAllocationTests.m in Sources */, - 001BFCE41D838343008E587E /* RCTMultipartStreamReaderTests.m in Sources */, - 13DF61B61B67A45000EDB188 /* RCTMethodArgumentTests.m in Sources */, - 138D6A181B53CD440074A87E /* RCTShadowViewTests.m in Sources */, - 39AA31A41DC1DFDC000F7EBB /* RCTUnicodeDecodeTests.m in Sources */, - 13B6C1A31C34225900D3FAF5 /* RCTURLUtilsTests.m in Sources */, - 8385CF041B87479200C6273E /* RCTImageLoaderHelpers.m in Sources */, - 192F69B91E82409A008692C7 /* RCTConvert_YGValueTests.m in Sources */, - BC9C03401DC9F1D600B1C635 /* RCTDevMenuTests.m in Sources */, - 68FF44381CF6111500720EFD /* RCTBundleURLProviderTests.m in Sources */, - 8385CEF51B873B5C00C6273E /* RCTImageLoaderTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 13B07F871A680F5B00A75B9A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 272E6B3F1BEA849E001FCF37 /* UpdatePropertiesExampleView.m in Sources */, - 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, - 27F441EC1BEBE5030039B79C /* FlexibleSizeExampleView.m in Sources */, - 13B07FC11A68108700A75B9A /* main.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 143BC5911B21E3E100462512 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - C654F0B31EB34A73000B7A9A /* UIExplorerTestModule.m in Sources */, - 3DB99D0C1BA0340600302749 /* UIExplorerIntegrationTests.m in Sources */, - 83636F8F1B53F22C009F943E /* RCTUIManagerScenarioTests.m in Sources */, - 3D299BAF1D33EBFA00FA1057 /* RCTLoggingTests.m in Sources */, - 143BC5A11B21E45C00462512 /* UIExplorerSnapshotTests.m in Sources */, - 27B885561BED29AF00008352 /* RCTRootViewIntegrationTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2D4624C41DA2EA6900C74D09 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - C654F17E1EB34D24000B7A9A /* UIExplorerTestModule.m in Sources */, - 2D4624FC1DA2EAC300C74D09 /* UIExplorerIntegrationTests.m in Sources */, - 2D4624FA1DA2EAC300C74D09 /* RCTLoggingTests.m in Sources */, - 2D4624FE1DA2EAC300C74D09 /* RCTUIManagerScenarioTests.m in Sources */, - 2D4624FD1DA2EAC300C74D09 /* UIExplorerSnapshotTests.m in Sources */, - 2D4624FB1DA2EAC300C74D09 /* RCTRootViewIntegrationTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2DD3238C1DA2DD8A000FE1B8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2DD323DC1DA2DDBF000FE1B8 /* FlexibleSizeExampleView.m in Sources */, - 2DD323DD1DA2DDBF000FE1B8 /* UpdatePropertiesExampleView.m in Sources */, - 2DD323E01DA2DDBF000FE1B8 /* main.m in Sources */, - 2DD323DE1DA2DDBF000FE1B8 /* AppDelegate.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2DD323A11DA2DD8B000FE1B8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2D4BD8DC1DA2E20D005AC8A8 /* RCTImageLoaderTests.m in Sources */, - 2D4BD8D51DA2E20D005AC8A8 /* RCTBridgeTests.m in Sources */, - 2D4BD8D91DA2E20D005AC8A8 /* RCTEventDispatcherTests.m in Sources */, - 2D4BD8D41DA2E20D005AC8A8 /* RCTAllocationTests.m in Sources */, - 2D4BD8DA1DA2E20D005AC8A8 /* RCTGzipTests.m in Sources */, - 2D4BD8DB1DA2E20D005AC8A8 /* RCTImageLoaderHelpers.m in Sources */, - 2D4BD8E51DA2E20D005AC8A8 /* RCTComponentPropsTests.m in Sources */, - 2D4BD8D71DA2E20D005AC8A8 /* RCTConvert_NSURLTests.m in Sources */, - 2D4BD8E21DA2E20D005AC8A8 /* RCTModuleMethodTests.m in Sources */, - 2D4BD8E11DA2E20D005AC8A8 /* RCTModuleInitNotificationRaceTests.m in Sources */, - 2D4BD8DF1DA2E20D005AC8A8 /* RCTMethodArgumentTests.m in Sources */, - 2D4BD8D31DA2E20D005AC8A8 /* RCTBundleURLProviderTests.m in Sources */, - 2D4BD8D21DA2E20D005AC8A8 /* RCTURLUtilsTests.m in Sources */, - 2D8C2E321DA40403000EE098 /* RCTMultipartStreamReaderTests.m in Sources */, - 2D4BD8DE1DA2E20D005AC8A8 /* RCTJSONTests.m in Sources */, - 2D4BD8E31DA2E20D005AC8A8 /* RCTShadowViewTests.m in Sources */, - 2D4BD8D81DA2E20D005AC8A8 /* RCTFontTests.m in Sources */, - 2D4BD8DD1DA2E20D005AC8A8 /* RCTImageUtilTests.m in Sources */, - 2D4BD8E41DA2E20D005AC8A8 /* RCTUIManagerTests.m in Sources */, - 2D4BD8E01DA2E20D005AC8A8 /* RCTModuleInitTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3D13F83A1D6F6AE000E69E0E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 143BC59C1B21E3E100462512 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 13B07F861A680F5B00A75B9A /* UIExplorer */; - targetProxy = 143BC59B1B21E3E100462512 /* PBXContainerItemProxy */; - }; - 2D4624C21DA2EA6900C74D09 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 2DD3238F1DA2DD8A000FE1B8 /* UIExplorer-tvOS */; - targetProxy = 2D4624C31DA2EA6900C74D09 /* PBXContainerItemProxy */; - }; - 2DD323A71DA2DD8B000FE1B8 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 2DD3238F1DA2DD8A000FE1B8 /* UIExplorer-tvOS */; - targetProxy = 2DD323A61DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - }; - 3D13F84C1D6F6B5F00E69E0E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 3D13F83D1D6F6AE000E69E0E /* UIExplorerBundle */; - targetProxy = 3D13F84B1D6F6B5F00E69E0E /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = { - isa = PBXVariantGroup; - children = ( - 13B07FB21A68108700A75B9A /* Base */, - ); - name = LaunchScreen.xib; - path = UIExplorer; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 004D28A61AAF61C70097A701 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/UIExplorerUnitTests", - ); - INFOPLIST_FILE = UIExplorerUnitTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/UIExplorerUnitTests", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 004D28A71AAF61C70097A701 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/UIExplorerUnitTests", - ); - INFOPLIST_FILE = UIExplorerUnitTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/UIExplorerUnitTests", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 13B07F941A680F5B00A75B9A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - INFOPLIST_FILE = "$(SRCROOT)/UIExplorer/Info.plist"; - LIBRARY_SEARCH_PATHS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp; - PRODUCT_NAME = UIExplorer; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 13B07F951A680F5B00A75B9A /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - DEVELOPMENT_TEAM = V9WTTPBFK9; - INFOPLIST_FILE = "$(SRCROOT)/UIExplorer/Info.plist"; - LIBRARY_SEARCH_PATHS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp; - PRODUCT_NAME = UIExplorer; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 143BC59E1B21E3E100462512 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FB_REFERENCE_IMAGE_DIR=\"\\\"$(SOURCE_ROOT)/$(PROJECT_NAME)IntegrationTests/ReferenceImages\\\"\"", - ); - INFOPLIST_FILE = UIExplorerIntegrationTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.React.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/UIExplorer.app/UIExplorer"; - }; - name = Debug; - }; - 143BC59F1B21E3E100462512 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = UIExplorerIntegrationTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.React.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/UIExplorer.app/UIExplorer"; - }; - name = Release; - }; - 2D4624DE1DA2EA6900C74D09 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - DEBUG_INFORMATION_FORMAT = dwarf; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FB_REFERENCE_IMAGE_DIR=\"\\\"$(SOURCE_ROOT)/$(PROJECT_NAME)IntegrationTests/ReferenceImages\\\"\"", - ); - INFOPLIST_FILE = UIExplorerIntegrationTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/UIExplorerUnitTests", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.UIExplorer-tvOSIntegrationTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/UIExplorer-tvOS.app/UIExplorer-tvOS"; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Debug; - }; - 2D4624DF1DA2EA6900C74D09 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = UIExplorerIntegrationTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/UIExplorerUnitTests", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.UIExplorer-tvOSIntegrationTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/UIExplorer-tvOS.app/UIExplorer-tvOS"; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Release; - }; - 2DD323AC1DA2DD8B000FE1B8 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - DEBUG_INFORMATION_FORMAT = dwarf; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "UIExplorer-tvOS/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.UIExplorer-tvOS"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Debug; - }; - 2DD323AD1DA2DD8B000FE1B8 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "UIExplorer-tvOS/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.UIExplorer-tvOS"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Release; - }; - 2DD323AE1DA2DD8B000FE1B8 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - DEBUG_INFORMATION_FORMAT = dwarf; - GCC_NO_COMMON_BLOCKS = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/UIExplorerUnitTests/**", - ); - INFOPLIST_FILE = UIExplorerUnitTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/UIExplorerUnitTests", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.UIExplorer-tvOSUnitTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/UIExplorer-tvOS.app/UIExplorer-tvOS"; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Debug; - }; - 2DD323AF1DA2DD8B000FE1B8 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_NO_COMMON_BLOCKS = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/UIExplorerUnitTests/**", - ); - INFOPLIST_FILE = UIExplorerUnitTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/UIExplorerUnitTests", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.UIExplorer-tvOSUnitTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/UIExplorer-tvOS.app/UIExplorer-tvOS"; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Release; - }; - 3D13F8421D6F6AE000E69E0E /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - COMBINE_HIDPI_IMAGES = YES; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = UIExplorer/UIExplorerBundle/Info.plist; - PRODUCT_BUNDLE_IDENTIFIER = com.facebook.UIExplorerBundle; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - 3D13F8431D6F6AE000E69E0E /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - COMBINE_HIDPI_IMAGES = YES; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = UIExplorer/UIExplorerBundle/Info.plist; - PRODUCT_BUNDLE_IDENTIFIER = com.facebook.UIExplorerBundle; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; - 83CBBA201A601CBA00E9B192 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_ASSIGN_ENUM = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_NEWLINE = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = YES; - GCC_WARN_SHADOW = YES; - GCC_WARN_STRICT_SELECTOR_MATCH = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNKNOWN_PRAGMAS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_LABEL = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - ); - SDKROOT = iphoneos; - WARNING_CFLAGS = ( - "-Wextra", - "-Wall", - "-Wno-semicolon-before-method-body", - ); - }; - name = Debug; - }; - 83CBBA211A601CBA00E9B192 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_ASSIGN_ENUM = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_NEWLINE = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = YES; - GCC_WARN_SHADOW = YES; - GCC_WARN_STRICT_SELECTOR_MATCH = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNKNOWN_PRAGMAS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_LABEL = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - ); - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - WARNING_CFLAGS = ( - "-Wextra", - "-Wall", - "-Wno-semicolon-before-method-body", - ); - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 004D28AD1AAF61C70097A701 /* Build configuration list for PBXNativeTarget "UIExplorerUnitTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 004D28A61AAF61C70097A701 /* Debug */, - 004D28A71AAF61C70097A701 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "UIExplorer" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 13B07F941A680F5B00A75B9A /* Debug */, - 13B07F951A680F5B00A75B9A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 143BC59D1B21E3E100462512 /* Build configuration list for PBXNativeTarget "UIExplorerIntegrationTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 143BC59E1B21E3E100462512 /* Debug */, - 143BC59F1B21E3E100462512 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2D4624DD1DA2EA6900C74D09 /* Build configuration list for PBXNativeTarget "UIExplorer-tvOSIntegrationTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2D4624DE1DA2EA6900C74D09 /* Debug */, - 2D4624DF1DA2EA6900C74D09 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2DD323DA1DA2DD8B000FE1B8 /* Build configuration list for PBXNativeTarget "UIExplorer-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2DD323AC1DA2DD8B000FE1B8 /* Debug */, - 2DD323AD1DA2DD8B000FE1B8 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2DD323DB1DA2DD8B000FE1B8 /* Build configuration list for PBXNativeTarget "UIExplorer-tvOSUnitTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2DD323AE1DA2DD8B000FE1B8 /* Debug */, - 2DD323AF1DA2DD8B000FE1B8 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 3D13F8411D6F6AE000E69E0E /* Build configuration list for PBXNativeTarget "UIExplorerBundle" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3D13F8421D6F6AE000E69E0E /* Debug */, - 3D13F8431D6F6AE000E69E0E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "UIExplorer" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 83CBBA201A601CBA00E9B192 /* Debug */, - 83CBBA211A601CBA00E9B192 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; -} diff --git a/Examples/UIExplorer/UIExplorer.xcodeproj/xcshareddata/xcschemes/UIExplorer-tvOS.xcscheme b/Examples/UIExplorer/UIExplorer.xcodeproj/xcshareddata/xcschemes/UIExplorer-tvOS.xcscheme deleted file mode 100644 index 5cb85ce16ba1..000000000000 --- a/Examples/UIExplorer/UIExplorer.xcodeproj/xcshareddata/xcschemes/UIExplorer-tvOS.xcscheme +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Examples/UIExplorer/UIExplorer.xcodeproj/xcshareddata/xcschemes/UIExplorer.xcscheme b/Examples/UIExplorer/UIExplorer.xcodeproj/xcshareddata/xcschemes/UIExplorer.xcscheme deleted file mode 100644 index 88813411bc3e..000000000000 --- a/Examples/UIExplorer/UIExplorer.xcodeproj/xcshareddata/xcschemes/UIExplorer.xcscheme +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Examples/UIExplorer/UIExplorer/AppDelegate.h b/Examples/UIExplorer/UIExplorer/AppDelegate.h deleted file mode 100644 index f3e75417c840..000000000000 --- a/Examples/UIExplorer/UIExplorer/AppDelegate.h +++ /dev/null @@ -1,24 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import - -@class RCTBridge; - -@interface AppDelegate : UIResponder - -@property (nonatomic, strong) UIWindow *window; -@property (nonatomic, readonly) RCTBridge *bridge; - -@end diff --git a/Examples/UIExplorer/UIExplorer/NativeExampleViews/FlexibleSizeExampleView.h b/Examples/UIExplorer/UIExplorer/NativeExampleViews/FlexibleSizeExampleView.h deleted file mode 100644 index 3f8a854911c6..000000000000 --- a/Examples/UIExplorer/UIExplorer/NativeExampleViews/FlexibleSizeExampleView.h +++ /dev/null @@ -1,21 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import - -#import - -@interface FlexibleSizeExampleView : RCTView - -@end diff --git a/Examples/UIExplorer/UIExplorer/NativeExampleViews/UpdatePropertiesExampleView.h b/Examples/UIExplorer/UIExplorer/NativeExampleViews/UpdatePropertiesExampleView.h deleted file mode 100644 index 537fb90b095a..000000000000 --- a/Examples/UIExplorer/UIExplorer/NativeExampleViews/UpdatePropertiesExampleView.h +++ /dev/null @@ -1,21 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import - -#import - -@interface UpdatePropertiesExampleView : RCTView - -@end diff --git a/Examples/UIExplorer/UIExplorer/main.m b/Examples/UIExplorer/UIExplorer/main.m deleted file mode 100644 index b2a6473023a8..000000000000 --- a/Examples/UIExplorer/UIExplorer/main.m +++ /dev/null @@ -1,23 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import - -#import "AppDelegate.h" - -int main(int argc, char * argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1-iOS10@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1-iOS10@2x.png deleted file mode 100644 index 140a1affc25e..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1-iOS10@2x.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1-iOS10_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1-iOS10_tvOS.png deleted file mode 100644 index 029a9100f23b..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1-iOS10_tvOS.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1@2x.png deleted file mode 100644 index 90558447391e..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1@2x.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1_tvOS.png deleted file mode 100644 index f61ab6481caf..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testLayoutExample_1_tvOS.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1-iOS10@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1-iOS10@2x.png deleted file mode 100644 index 16a6da74227d..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1-iOS10@2x.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1-iOS10_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1-iOS10_tvOS.png deleted file mode 100644 index 4958d3d218ff..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1-iOS10_tvOS.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1@2x.png deleted file mode 100644 index 6c02ce1fdb4b..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1@2x.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1_tvOS.png deleted file mode 100644 index 5be05ba37bbb..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testScrollViewExample_1_tvOS.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSliderExample_1-iOS10@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSliderExample_1-iOS10@2x.png deleted file mode 100644 index 5d93d20e8914..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSliderExample_1-iOS10@2x.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSliderExample_1@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSliderExample_1@2x.png deleted file mode 100644 index fadbe2cb8977..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSliderExample_1@2x.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSwitchExample_1-iOS10@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSwitchExample_1-iOS10@2x.png deleted file mode 100644 index 15de56b65af7..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSwitchExample_1-iOS10@2x.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSwitchExample_1@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSwitchExample_1@2x.png deleted file mode 100644 index 1d75533e9f1a..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testSwitchExample_1@2x.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTabBarExample_1-iOS10_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTabBarExample_1-iOS10_tvOS.png deleted file mode 100644 index 8318fd3d3ac2..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTabBarExample_1-iOS10_tvOS.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTabBarExample_1_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTabBarExample_1_tvOS.png deleted file mode 100644 index d4b52a730f0b..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTabBarExample_1_tvOS.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1-iOS10@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1-iOS10@2x.png deleted file mode 100644 index c463ab9e5c70..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1-iOS10@2x.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1-iOS10_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1-iOS10_tvOS.png deleted file mode 100644 index fa662d57e75b..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1-iOS10_tvOS.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1@2x.png deleted file mode 100644 index 2d3ff3048f9e..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1@2x.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1_tvOS.png deleted file mode 100644 index 41f22713f978..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testTextExample_1_tvOS.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1-iOS10@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1-iOS10@2x.png deleted file mode 100644 index 203b2bb2f76d..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1-iOS10@2x.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1-iOS10_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1-iOS10_tvOS.png deleted file mode 100644 index ff3b7b1c2c05..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1-iOS10_tvOS.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1@2x.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1@2x.png deleted file mode 100644 index 6b66a8c436cc..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1@2x.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1_tvOS.png b/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1_tvOS.png deleted file mode 100644 index 077902e7b6cd..000000000000 Binary files a/Examples/UIExplorer/UIExplorerIntegrationTests/ReferenceImages/Examples-UIExplorer-js-UIExplorerApp.ios/testViewExample_1_tvOS.png and /dev/null differ diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/UIExplorerIntegrationTests.m b/Examples/UIExplorer/UIExplorerIntegrationTests/UIExplorerIntegrationTests.m deleted file mode 100644 index 57b769e3ae44..000000000000 --- a/Examples/UIExplorer/UIExplorerIntegrationTests/UIExplorerIntegrationTests.m +++ /dev/null @@ -1,79 +0,0 @@ -/** - * Copyright (c) 2015-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - */ - -#import -#import - -#import - -#define RCT_TEST(name) \ -- (void)test##name \ -{ \ - [_runner runTest:_cmd module:@#name]; \ -} - -#define RCT_TEST_ONLY_WITH_PACKAGER(name) \ -- (void)test##name \ -{ \ - if (getenv("CI_USE_PACKAGER")) { \ - [_runner runTest:_cmd module:@#name]; \ - } \ -} - -@interface UIExplorerIntegrationTests : XCTestCase - -@end - -@implementation UIExplorerIntegrationTests -{ - RCTTestRunner *_runner; -} - -- (void)setUp -{ - _runner = RCTInitRunnerForApp(@"IntegrationTests/IntegrationTestsApp", nil); - _runner.recordMode = NO; -} - -#pragma mark - Test harness - -- (void)testTheTester_waitOneFrame -{ - [_runner runTest:_cmd - module:@"IntegrationTestHarnessTest" - initialProps:@{@"waitOneFrame": @YES} -configurationBlock:nil]; -} - -- (void)testTheTester_ExpectError -{ - [_runner runTest:_cmd - module:@"IntegrationTestHarnessTest" - initialProps:@{@"shouldThrow": @YES} -configurationBlock:nil - expectErrorRegex:@"because shouldThrow"]; -} - -#pragma mark - JS tests - -// This list should be kept in sync with IntegrationTestsApp.js -RCT_TEST(IntegrationTestHarnessTest) -RCT_TEST(TimersTest) -RCT_TEST(AsyncStorageTest) -RCT_TEST(AppEventsTest) -RCT_TEST(ImageCachePolicyTest) -RCT_TEST(ImageSnapshotTest) -//RCT_TEST(LayoutEventsTest) // Disabled due to flakiness: #8686784 -RCT_TEST(SimpleSnapshotTest) -RCT_TEST(SyncMethodTest) -RCT_TEST(PromiseTest) -RCT_TEST_ONLY_WITH_PACKAGER(WebSocketTest) - - -@end diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/UIExplorerSnapshotTests.m b/Examples/UIExplorer/UIExplorerIntegrationTests/UIExplorerSnapshotTests.m deleted file mode 100644 index eff099f35459..000000000000 --- a/Examples/UIExplorer/UIExplorerIntegrationTests/UIExplorerSnapshotTests.m +++ /dev/null @@ -1,61 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import -#import - -#import - -@interface UIExplorerSnapshotTests : XCTestCase -{ - RCTTestRunner *_runner; -} - -@end - -@implementation UIExplorerSnapshotTests - -- (void)setUp -{ - _runner = RCTInitRunnerForApp(@"Examples/UIExplorer/js/UIExplorerApp.ios", nil); - if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10) { - _runner.testSuffix = @"-iOS10"; - } - _runner.recordMode = NO; -} - -#define RCT_TEST(name) \ -- (void)test##name \ -{ \ - [_runner runTest:_cmd module:@#name]; \ -} - -RCT_TEST(ViewExample) -RCT_TEST(LayoutExample) -RCT_TEST(ScrollViewExample) -RCT_TEST(TextExample) -#if !TARGET_OS_TV -// No switch or slider available on tvOS -RCT_TEST(SwitchExample) -RCT_TEST(SliderExample) -// TabBarExample on tvOS passes locally but not on Travis -RCT_TEST(TabBarExample) -#endif - -- (void)testZZZNotInRecordMode -{ - XCTAssertFalse(_runner.recordMode, @"Don't forget to turn record mode back to off"); -} - -@end diff --git a/Examples/UIExplorer/UIExplorerIntegrationTests/UIExplorerTestModule.m b/Examples/UIExplorer/UIExplorerIntegrationTests/UIExplorerTestModule.m deleted file mode 100644 index e7772ade835d..000000000000 --- a/Examples/UIExplorer/UIExplorerIntegrationTests/UIExplorerTestModule.m +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Copyright (c) 2015-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - */ - -#import - -#import - -@interface UIExplorerTestModule : NSObject - -@end - -@implementation UIExplorerTestModule - -RCT_EXPORT_MODULE(UIExplorerTestModule) - -RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(echoString:(NSString *)input) -{ - return input; -} - -RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(methodThatReturnsNil) -{ - return nil; -} - -@end diff --git a/Examples/UIExplorer/UIExplorerLegacy.xcodeproj/project.pbxproj b/Examples/UIExplorer/UIExplorerLegacy.xcodeproj/project.pbxproj deleted file mode 100644 index 6062cebf80b6..000000000000 --- a/Examples/UIExplorer/UIExplorerLegacy.xcodeproj/project.pbxproj +++ /dev/null @@ -1,2089 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 001BFCE41D838343008E587E /* RCTMultipartStreamReaderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 001BFCE31D838343008E587E /* RCTMultipartStreamReaderTests.m */; }; - 1300627F1B59179B0043FE5A /* RCTGzipTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1300627E1B59179B0043FE5A /* RCTGzipTests.m */; }; - 13129DD41C85F87C007D611C /* RCTModuleInitNotificationRaceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13129DD31C85F87C007D611C /* RCTModuleInitNotificationRaceTests.m */; }; - 13417FE91AA91432003F314A /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 13417FE81AA91428003F314A /* libRCTImage.a */; }; - 134180011AA9153C003F314A /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 13417FEF1AA914B8003F314A /* libRCTText.a */; }; - 1341802C1AA9178B003F314A /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1341802B1AA91779003F314A /* libRCTNetwork.a */; }; - 134454601AAFCABD003F0779 /* libRCTAdSupport.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1344545A1AAFCAAE003F0779 /* libRCTAdSupport.a */; }; - 134A8A2A1AACED7A00945AAE /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 134A8A251AACED6A00945AAE /* libRCTGeolocation.a */; }; - 134CB92A1C85A38800265FA6 /* RCTModuleInitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 134CB9291C85A38800265FA6 /* RCTModuleInitTests.m */; }; - 1380DCD41E70C44800E7C47D /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1380DC991E70C0DD00E7C47D /* libReact.a */; }; - 138D6A181B53CD440074A87E /* RCTShadowViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 138D6A161B53CD440074A87E /* RCTShadowViewTests.m */; }; - 138DEE241B9EDFB6007F4EA5 /* libRCTCameraRoll.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 138DEE091B9EDDDB007F4EA5 /* libRCTCameraRoll.a */; }; - 1393D0381B68CD1300E1B601 /* RCTModuleMethodTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1393D0371B68CD1300E1B601 /* RCTModuleMethodTests.m */; }; - 139FDEDB1B0651FB00C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDED91B0651EA00C62182 /* libRCTWebSocket.a */; }; - 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; - 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; - 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; - 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 13B6C1A31C34225900D3FAF5 /* RCTURLUtilsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B6C1A21C34225900D3FAF5 /* RCTURLUtilsTests.m */; }; - 13BCE84F1C9C209600DD7AAD /* RCTComponentPropsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13BCE84E1C9C209600DD7AAD /* RCTComponentPropsTests.m */; }; - 13DB03481B5D2ED500C27245 /* RCTJSONTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DB03471B5D2ED500C27245 /* RCTJSONTests.m */; }; - 13DF61B61B67A45000EDB188 /* RCTMethodArgumentTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DF61B51B67A45000EDB188 /* RCTMethodArgumentTests.m */; }; - 13E501F11D07A84A005F35D8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 13E501A31D07A502005F35D8 /* libRCTAnimation.a */; }; - 143BC5A11B21E45C00462512 /* UIExplorerSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 143BC5A01B21E45C00462512 /* UIExplorerSnapshotTests.m */; }; - 144D21241B2204C5006DB32B /* RCTImageUtilTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 144D21231B2204C5006DB32B /* RCTImageUtilTests.m */; }; - 147CED4C1AB3532B00DA3E4C /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 147CED4B1AB34F8C00DA3E4C /* libRCTActionSheet.a */; }; - 1497CFAC1B21F5E400C1F8F2 /* RCTAllocationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA41B21F5E400C1F8F2 /* RCTAllocationTests.m */; }; - 1497CFAD1B21F5E400C1F8F2 /* RCTBridgeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA51B21F5E400C1F8F2 /* RCTBridgeTests.m */; }; - 1497CFAE1B21F5E400C1F8F2 /* RCTJSCExecutorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA61B21F5E400C1F8F2 /* RCTJSCExecutorTests.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 1497CFAF1B21F5E400C1F8F2 /* RCTConvert_NSURLTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA71B21F5E400C1F8F2 /* RCTConvert_NSURLTests.m */; }; - 1497CFB01B21F5E400C1F8F2 /* RCTFontTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA81B21F5E400C1F8F2 /* RCTFontTests.m */; }; - 1497CFB11B21F5E400C1F8F2 /* RCTEventDispatcherTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA91B21F5E400C1F8F2 /* RCTEventDispatcherTests.m */; }; - 1497CFB31B21F5E400C1F8F2 /* RCTUIManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFAB1B21F5E400C1F8F2 /* RCTUIManagerTests.m */; }; - 14B6DA821B276C5900BF4DD1 /* libRCTTest.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58005BEE1ABA80530062E044 /* libRCTTest.a */; }; - 14D6D7111B220EB3001FB087 /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 14D6D7101B220EB3001FB087 /* libOCMock.a */; }; - 14D6D71E1B2222EF001FB087 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 147CED4B1AB34F8C00DA3E4C /* libRCTActionSheet.a */; }; - 14D6D71F1B2222EF001FB087 /* libRCTAdSupport.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1344545A1AAFCAAE003F0779 /* libRCTAdSupport.a */; }; - 14D6D7201B2222EF001FB087 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 134A8A251AACED6A00945AAE /* libRCTGeolocation.a */; }; - 14D6D7211B2222EF001FB087 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 13417FE81AA91428003F314A /* libRCTImage.a */; }; - 14D6D7221B2222EF001FB087 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1341802B1AA91779003F314A /* libRCTNetwork.a */; }; - 14D6D7231B2222EF001FB087 /* libRCTPushNotification.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 14DC67F11AB71876001358AB /* libRCTPushNotification.a */; }; - 14D6D7241B2222EF001FB087 /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 834C36D21AF8DA610019C93C /* libRCTSettings.a */; }; - 14D6D7251B2222EF001FB087 /* libRCTTest.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58005BEE1ABA80530062E044 /* libRCTTest.a */; }; - 14D6D7261B2222EF001FB087 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 13417FEF1AA914B8003F314A /* libRCTText.a */; }; - 14D6D7271B2222EF001FB087 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D85B829C1AB6D5CE003F4FE2 /* libRCTVibration.a */; }; - 14D6D7281B2222EF001FB087 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDED91B0651EA00C62182 /* libRCTWebSocket.a */; }; - 14DC67F41AB71881001358AB /* libRCTPushNotification.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 14DC67F11AB71876001358AB /* libRCTPushNotification.a */; }; - 272E6B3F1BEA849E001FCF37 /* UpdatePropertiesExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */; }; - 27B885561BED29AF00008352 /* RCTRootViewIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 27B885551BED29AF00008352 /* RCTRootViewIntegrationTests.m */; }; - 27F441EC1BEBE5030039B79C /* FlexibleSizeExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */; }; - 2D4624FA1DA2EAC300C74D09 /* RCTLoggingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D299BAE1D33EBFA00FA1057 /* RCTLoggingTests.m */; }; - 2D4624FB1DA2EAC300C74D09 /* RCTRootViewIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 27B885551BED29AF00008352 /* RCTRootViewIntegrationTests.m */; }; - 2D4624FC1DA2EAC300C74D09 /* UIExplorerIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DB99D0B1BA0340600302749 /* UIExplorerIntegrationTests.m */; }; - 2D4624FD1DA2EAC300C74D09 /* UIExplorerSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 143BC5A01B21E45C00462512 /* UIExplorerSnapshotTests.m */; }; - 2D4624FE1DA2EAC300C74D09 /* RCTUIManagerScenarioTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 83636F8E1B53F22C009F943E /* RCTUIManagerScenarioTests.m */; }; - 2D4625351DA2EBBE00C74D09 /* libRCTTest-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323CC1DA2DD8B000FE1B8 /* libRCTTest-tvOS.a */; }; - 2D4BD8D21DA2E20D005AC8A8 /* RCTURLUtilsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B6C1A21C34225900D3FAF5 /* RCTURLUtilsTests.m */; }; - 2D4BD8D31DA2E20D005AC8A8 /* RCTBundleURLProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 68FF44371CF6111500720EFD /* RCTBundleURLProviderTests.m */; }; - 2D4BD8D41DA2E20D005AC8A8 /* RCTAllocationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA41B21F5E400C1F8F2 /* RCTAllocationTests.m */; }; - 2D4BD8D51DA2E20D005AC8A8 /* RCTBridgeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA51B21F5E400C1F8F2 /* RCTBridgeTests.m */; }; - 2D4BD8D61DA2E20D005AC8A8 /* RCTJSCExecutorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA61B21F5E400C1F8F2 /* RCTJSCExecutorTests.m */; }; - 2D4BD8D71DA2E20D005AC8A8 /* RCTConvert_NSURLTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA71B21F5E400C1F8F2 /* RCTConvert_NSURLTests.m */; }; - 2D4BD8D81DA2E20D005AC8A8 /* RCTFontTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA81B21F5E400C1F8F2 /* RCTFontTests.m */; }; - 2D4BD8D91DA2E20D005AC8A8 /* RCTEventDispatcherTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFA91B21F5E400C1F8F2 /* RCTEventDispatcherTests.m */; }; - 2D4BD8DA1DA2E20D005AC8A8 /* RCTGzipTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1300627E1B59179B0043FE5A /* RCTGzipTests.m */; }; - 2D4BD8DB1DA2E20D005AC8A8 /* RCTImageLoaderHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 8385CF031B87479200C6273E /* RCTImageLoaderHelpers.m */; }; - 2D4BD8DC1DA2E20D005AC8A8 /* RCTImageLoaderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8385CEF41B873B5C00C6273E /* RCTImageLoaderTests.m */; }; - 2D4BD8DD1DA2E20D005AC8A8 /* RCTImageUtilTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 144D21231B2204C5006DB32B /* RCTImageUtilTests.m */; }; - 2D4BD8DE1DA2E20D005AC8A8 /* RCTJSONTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DB03471B5D2ED500C27245 /* RCTJSONTests.m */; }; - 2D4BD8DF1DA2E20D005AC8A8 /* RCTMethodArgumentTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DF61B51B67A45000EDB188 /* RCTMethodArgumentTests.m */; }; - 2D4BD8E01DA2E20D005AC8A8 /* RCTModuleInitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 134CB9291C85A38800265FA6 /* RCTModuleInitTests.m */; }; - 2D4BD8E11DA2E20D005AC8A8 /* RCTModuleInitNotificationRaceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13129DD31C85F87C007D611C /* RCTModuleInitNotificationRaceTests.m */; }; - 2D4BD8E21DA2E20D005AC8A8 /* RCTModuleMethodTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1393D0371B68CD1300E1B601 /* RCTModuleMethodTests.m */; }; - 2D4BD8E31DA2E20D005AC8A8 /* RCTShadowViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 138D6A161B53CD440074A87E /* RCTShadowViewTests.m */; }; - 2D4BD8E41DA2E20D005AC8A8 /* RCTUIManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1497CFAB1B21F5E400C1F8F2 /* RCTUIManagerTests.m */; }; - 2D4BD8E51DA2E20D005AC8A8 /* RCTComponentPropsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 13BCE84E1C9C209600DD7AAD /* RCTComponentPropsTests.m */; }; - 2D4BD8E61DA2E20D005AC8A8 /* UIExplorerUnitTestsBundle.js in Resources */ = {isa = PBXBuildFile; fileRef = 3DD981D51D33C6FB007DC7BE /* UIExplorerUnitTestsBundle.js */; }; - 2D4BD8E71DA2E20D005AC8A8 /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 14D6D7101B220EB3001FB087 /* libOCMock.a */; }; - 2D8C2E321DA40403000EE098 /* RCTMultipartStreamReaderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 001BFCE31D838343008E587E /* RCTMultipartStreamReaderTests.m */; }; - 2DD323DC1DA2DDBF000FE1B8 /* FlexibleSizeExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */; }; - 2DD323DD1DA2DDBF000FE1B8 /* UpdatePropertiesExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */; }; - 2DD323DE1DA2DDBF000FE1B8 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; - 2DD323DF1DA2DDBF000FE1B8 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; - 2DD323E01DA2DDBF000FE1B8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 2DD323E11DA2DDBF000FE1B8 /* legacy_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */; }; - 2DD323E21DA2DDBF000FE1B8 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB61A68108700A75B9A /* Info.plist */; }; - 2DD323E31DA2DE3F000FE1B8 /* libRCTAnimation-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323B51DA2DD8B000FE1B8 /* libRCTAnimation-tvOS.a */; }; - 2DD323E51DA2DE3F000FE1B8 /* libRCTLinking-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323BF1DA2DD8B000FE1B8 /* libRCTLinking-tvOS.a */; }; - 2DD323E61DA2DE3F000FE1B8 /* libRCTNetwork-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323C31DA2DD8B000FE1B8 /* libRCTNetwork-tvOS.a */; }; - 2DD323E71DA2DE3F000FE1B8 /* libRCTSettings-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323C81DA2DD8B000FE1B8 /* libRCTSettings-tvOS.a */; }; - 2DD323E81DA2DE3F000FE1B8 /* libRCTText-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323D01DA2DD8B000FE1B8 /* libRCTText-tvOS.a */; }; - 2DD323E91DA2DE3F000FE1B8 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323D51DA2DD8B000FE1B8 /* libRCTWebSocket-tvOS.a */; }; - 3578590A1B28D2CF00341EDB /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 357859011B28D2C500341EDB /* libRCTLinking.a */; }; - 39AA31A41DC1DFDC000F7EBB /* RCTUnicodeDecodeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 39AA31A31DC1DFDC000F7EBB /* RCTUnicodeDecodeTests.m */; }; - 3D05746D1DE6008900184BB4 /* libRCTPushNotification-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D05746C1DE6008900184BB4 /* libRCTPushNotification-tvOS.a */; }; - 3D13F8481D6F6AF900E69E0E /* ImageInBundle.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F8441D6F6AF200E69E0E /* ImageInBundle.png */; }; - 3D13F84A1D6F6AFD00E69E0E /* OtherImages.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F8451D6F6AF200E69E0E /* OtherImages.xcassets */; }; - 3D299BAF1D33EBFA00FA1057 /* RCTLoggingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D299BAE1D33EBFA00FA1057 /* RCTLoggingTests.m */; }; - 3D2AFAF51D646CF80089D1A3 /* legacy_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */; }; - 3D302F221DF8285100D6DDAE /* libRCTImage-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2DD323BB1DA2DD8B000FE1B8 /* libRCTImage-tvOS.a */; }; - 3D56F9F11D6F6E9B00F53A06 /* UIExplorerBundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F83E1D6F6AE000E69E0E /* UIExplorerBundle.bundle */; }; - 3DB99D0C1BA0340600302749 /* UIExplorerIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DB99D0B1BA0340600302749 /* UIExplorerIntegrationTests.m */; }; - 3DD981D61D33C6FB007DC7BE /* UIExplorerUnitTestsBundle.js in Resources */ = {isa = PBXBuildFile; fileRef = 3DD981D51D33C6FB007DC7BE /* UIExplorerUnitTestsBundle.js */; }; - 68FF44381CF6111500720EFD /* RCTBundleURLProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 68FF44371CF6111500720EFD /* RCTBundleURLProviderTests.m */; }; - 834C36EC1AF8DED70019C93C /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 834C36D21AF8DA610019C93C /* libRCTSettings.a */; }; - 83636F8F1B53F22C009F943E /* RCTUIManagerScenarioTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 83636F8E1B53F22C009F943E /* RCTUIManagerScenarioTests.m */; }; - 8385CEF51B873B5C00C6273E /* RCTImageLoaderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8385CEF41B873B5C00C6273E /* RCTImageLoaderTests.m */; }; - 8385CF041B87479200C6273E /* RCTImageLoaderHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 8385CF031B87479200C6273E /* RCTImageLoaderHelpers.m */; }; - BC9C03401DC9F1D600B1C635 /* RCTDevMenuTests.m in Sources */ = {isa = PBXBuildFile; fileRef = BC9C033F1DC9F1D600B1C635 /* RCTDevMenuTests.m */; }; - C654F14C1EB34D0C000B7A9A /* UIExplorerTestModule.m in Sources */ = {isa = PBXBuildFile; fileRef = C654F14B1EB34D0C000B7A9A /* UIExplorerTestModule.m */; }; - C654F16E1EB34D14000B7A9A /* UIExplorerTestModule.m in Sources */ = {isa = PBXBuildFile; fileRef = C654F14B1EB34D0C000B7A9A /* UIExplorerTestModule.m */; }; - D85B829E1AB6D5D7003F4FE2 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D85B829C1AB6D5CE003F4FE2 /* libRCTVibration.a */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 13417FE71AA91428003F314A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13417FE31AA91428003F314A /* RCTImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5115D1A9E6B3D00147676; - remoteInfo = RCTImage; - }; - 13417FEE1AA914B8003F314A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13417FEA1AA914B8003F314A /* RCTText.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5119B1A9E6C1200147676; - remoteInfo = RCTText; - }; - 1341802A1AA91779003F314A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 134180261AA91779003F314A /* RCTNetwork.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B511DB1A9E6C8500147676; - remoteInfo = RCTNetwork; - }; - 134454591AAFCAAE003F0779 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 134454551AAFCAAE003F0779 /* RCTAdSupport.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; - remoteInfo = RCTAdSupport; - }; - 134A8A241AACED6A00945AAE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 134A8A201AACED6A00945AAE /* RCTGeolocation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTGeolocation; - }; - 1380DC981E70C0DD00E7C47D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1380DC8B1E70C0DC00E7C47D /* ReactLegacy.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; - remoteInfo = React; - }; - 1380DC9A1E70C0DD00E7C47D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1380DC8B1E70C0DC00E7C47D /* ReactLegacy.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28131D9B038B00D4039D; - remoteInfo = "React-tvOS"; - }; - 1380DC9C1E70C0DD00E7C47D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1380DC8B1E70C0DC00E7C47D /* ReactLegacy.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3C059A1DE3340900C268FA; - remoteInfo = yoga; - }; - 1380DC9E1E70C0DD00E7C47D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1380DC8B1E70C0DC00E7C47D /* ReactLegacy.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3C06751DE3340C00C268FA; - remoteInfo = "yoga-tvOS"; - }; - 1380DCA01E70C0DD00E7C47D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1380DC8B1E70C0DC00E7C47D /* ReactLegacy.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4; - remoteInfo = cxxreact; - }; - 1380DCA21E70C0DD00E7C47D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1380DC8B1E70C0DC00E7C47D /* ReactLegacy.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4; - remoteInfo = "cxxreact-tvOS"; - }; - 1380DCA41E70C0DD00E7C47D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1380DC8B1E70C0DC00E7C47D /* ReactLegacy.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD90B1DE5FBD600167DC4; - remoteInfo = jschelpers; - }; - 1380DCA61E70C0DD00E7C47D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1380DC8B1E70C0DC00E7C47D /* ReactLegacy.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD9181DE5FBD800167DC4; - remoteInfo = "jschelpers-tvOS"; - }; - 1380DCA81E70C0DD00E7C47D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1380DC8B1E70C0DC00E7C47D /* ReactLegacy.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 139D7ECE1E25DB7D00323FB7; - remoteInfo = "third-party"; - }; - 1380DCAA1E70C0DD00E7C47D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1380DC8B1E70C0DC00E7C47D /* ReactLegacy.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 139D7E881E25C6D100323FB7; - remoteInfo = "double-conversion"; - }; - 138DEE081B9EDDDB007F4EA5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 138DEE021B9EDDDB007F4EA5 /* RCTCameraRoll.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5115D1A9E6B3D00147676; - remoteInfo = RCTImage; - }; - 139FDED81B0651EA00C62182 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDECA1B0651EA00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3C86DF461ADF2C930047B81A; - remoteInfo = RCTWebSocket; - }; - 13E501A21D07A502005F35D8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13E5019C1D07A502005F35D8 /* RCTAnimation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTAnimation; - }; - 143BC59B1B21E3E100462512 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 13B07F861A680F5B00A75B9A; - remoteInfo = UIExplorer; - }; - 147CED4A1AB34F8C00DA3E4C /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14E0EEC81AB118F7000DECC3 /* RCTActionSheet.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTActionSheet; - }; - 14DC67F01AB71876001358AB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14DC67E71AB71876001358AB /* RCTPushNotification.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTPushNotification; - }; - 2D4624C31DA2EA6900C74D09 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 2DD3238F1DA2DD8A000FE1B8; - remoteInfo = "UIExplorer-tvOS"; - }; - 2DD323A61DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 2DD3238F1DA2DD8A000FE1B8; - remoteInfo = "UIExplorer-tvOS"; - }; - 2DD323B41DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13E5019C1D07A502005F35D8 /* RCTAnimation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28201D9B03D100D4039D; - remoteInfo = "RCTAnimation-tvOS"; - }; - 2DD323BA1DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13417FE31AA91428003F314A /* RCTImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A283A1D9B042B00D4039D; - remoteInfo = "RCTImage-tvOS"; - }; - 2DD323BE1DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 357858F81B28D2C400341EDB /* RCTLinking.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28471D9B043800D4039D; - remoteInfo = "RCTLinking-tvOS"; - }; - 2DD323C21DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 134180261AA91779003F314A /* RCTNetwork.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28541D9B044C00D4039D; - remoteInfo = "RCTNetwork-tvOS"; - }; - 2DD323C71DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13CC9D481AEED2B90020D1C2 /* RCTSettings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28611D9B046600D4039D; - remoteInfo = "RCTSettings-tvOS"; - }; - 2DD323CB1DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 58005BE41ABA80530062E044 /* RCTTest.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A286E1D9B047700D4039D; - remoteInfo = "RCTTest-tvOS"; - }; - 2DD323CF1DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13417FEA1AA914B8003F314A /* RCTText.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A287B1D9B048500D4039D; - remoteInfo = "RCTText-tvOS"; - }; - 2DD323D41DA2DD8B000FE1B8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDECA1B0651EA00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28881D9B049200D4039D; - remoteInfo = "RCTWebSocket-tvOS"; - }; - 357859001B28D2C500341EDB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 357858F81B28D2C400341EDB /* RCTLinking.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTLinking; - }; - 3D05746B1DE6008900184BB4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 14DC67E71AB71876001358AB /* RCTPushNotification.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D05745F1DE6004600184BB4; - remoteInfo = "RCTPushNotification-tvOS"; - }; - 3D13F84B1D6F6B5F00E69E0E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3D13F83D1D6F6AE000E69E0E; - remoteInfo = UIExplorerBundle; - }; - 58005BED1ABA80530062E044 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 58005BE41ABA80530062E044 /* RCTTest.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 580C376F1AB104AF0015E709; - remoteInfo = RCTTest; - }; - 834C36D11AF8DA610019C93C /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 13CC9D481AEED2B90020D1C2 /* RCTSettings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTSettings; - }; - D85B829B1AB6D5CE003F4FE2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D85B82911AB6D5CE003F4FE2 /* RCTVibration.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; - remoteInfo = RCTVibration; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 001BFCE31D838343008E587E /* RCTMultipartStreamReaderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTMultipartStreamReaderTests.m; sourceTree = ""; }; - 004D289E1AAF61C70097A701 /* UIExplorerUnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UIExplorerUnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 1300627E1B59179B0043FE5A /* RCTGzipTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTGzipTests.m; sourceTree = ""; }; - 13129DD31C85F87C007D611C /* RCTModuleInitNotificationRaceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTModuleInitNotificationRaceTests.m; sourceTree = ""; }; - 13417FE31AA91428003F314A /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = ../../Libraries/Image/RCTImage.xcodeproj; sourceTree = ""; }; - 13417FEA1AA914B8003F314A /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = ../../Libraries/Text/RCTText.xcodeproj; sourceTree = ""; }; - 134180261AA91779003F314A /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = ../../Libraries/Network/RCTNetwork.xcodeproj; sourceTree = ""; }; - 134454551AAFCAAE003F0779 /* RCTAdSupport.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAdSupport.xcodeproj; path = ../../Libraries/AdSupport/RCTAdSupport.xcodeproj; sourceTree = ""; }; - 134A8A201AACED6A00945AAE /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = ../../Libraries/Geolocation/RCTGeolocation.xcodeproj; sourceTree = ""; }; - 134CB9291C85A38800265FA6 /* RCTModuleInitTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTModuleInitTests.m; sourceTree = ""; }; - 1380DC8B1E70C0DC00E7C47D /* ReactLegacy.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactLegacy.xcodeproj; path = ../../React/ReactLegacy.xcodeproj; sourceTree = ""; }; - 138D6A161B53CD440074A87E /* RCTShadowViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTShadowViewTests.m; sourceTree = ""; }; - 138DEE021B9EDDDB007F4EA5 /* RCTCameraRoll.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTCameraRoll.xcodeproj; path = ../../Libraries/CameraRoll/RCTCameraRoll.xcodeproj; sourceTree = ""; }; - 1393D0371B68CD1300E1B601 /* RCTModuleMethodTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTModuleMethodTests.m; sourceTree = ""; }; - 139FDECA1B0651EA00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = ../../Libraries/WebSocket/RCTWebSocket.xcodeproj; sourceTree = ""; }; - 13B07F961A680F5B00A75B9A /* UIExplorer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UIExplorer.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = UIExplorer/AppDelegate.h; sourceTree = ""; }; - 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = UIExplorer/AppDelegate.m; sourceTree = ""; }; - 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; - 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = UIExplorer/Images.xcassets; sourceTree = ""; }; - 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = UIExplorer/Info.plist; sourceTree = ""; }; - 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = UIExplorer/main.m; sourceTree = ""; }; - 13B6C1A21C34225900D3FAF5 /* RCTURLUtilsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTURLUtilsTests.m; sourceTree = ""; }; - 13BCE84E1C9C209600DD7AAD /* RCTComponentPropsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTComponentPropsTests.m; sourceTree = ""; }; - 13CC9D481AEED2B90020D1C2 /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = ../../Libraries/Settings/RCTSettings.xcodeproj; sourceTree = ""; }; - 13DB03471B5D2ED500C27245 /* RCTJSONTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTJSONTests.m; sourceTree = ""; }; - 13DF61B51B67A45000EDB188 /* RCTMethodArgumentTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTMethodArgumentTests.m; sourceTree = ""; }; - 13E5019C1D07A502005F35D8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = ../../Libraries/NativeAnimation/RCTAnimation.xcodeproj; sourceTree = ""; }; - 143BC57E1B21E18100462512 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 143BC5951B21E3E100462512 /* UIExplorerIntegrationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UIExplorerIntegrationTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 143BC5981B21E3E100462512 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 143BC5A01B21E45C00462512 /* UIExplorerSnapshotTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIExplorerSnapshotTests.m; sourceTree = ""; }; - 144D21231B2204C5006DB32B /* RCTImageUtilTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageUtilTests.m; sourceTree = ""; }; - 1497CFA41B21F5E400C1F8F2 /* RCTAllocationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTAllocationTests.m; sourceTree = ""; }; - 1497CFA51B21F5E400C1F8F2 /* RCTBridgeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTBridgeTests.m; sourceTree = ""; }; - 1497CFA61B21F5E400C1F8F2 /* RCTJSCExecutorTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTJSCExecutorTests.m; sourceTree = ""; }; - 1497CFA71B21F5E400C1F8F2 /* RCTConvert_NSURLTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTConvert_NSURLTests.m; sourceTree = ""; }; - 1497CFA81B21F5E400C1F8F2 /* RCTFontTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTFontTests.m; sourceTree = ""; }; - 1497CFA91B21F5E400C1F8F2 /* RCTEventDispatcherTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTEventDispatcherTests.m; sourceTree = ""; }; - 1497CFAB1B21F5E400C1F8F2 /* RCTUIManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTUIManagerTests.m; sourceTree = ""; }; - 14D6D7021B220AE3001FB087 /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+OCMAdditions.h"; sourceTree = ""; }; - 14D6D7031B220AE3001FB087 /* OCMArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMArg.h; sourceTree = ""; }; - 14D6D7041B220AE3001FB087 /* OCMConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMConstraint.h; sourceTree = ""; }; - 14D6D7051B220AE3001FB087 /* OCMLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMLocation.h; sourceTree = ""; }; - 14D6D7061B220AE3001FB087 /* OCMMacroState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMMacroState.h; sourceTree = ""; }; - 14D6D7071B220AE3001FB087 /* OCMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMock.h; sourceTree = ""; }; - 14D6D7081B220AE3001FB087 /* OCMockObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMockObject.h; sourceTree = ""; }; - 14D6D7091B220AE3001FB087 /* OCMRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMRecorder.h; sourceTree = ""; }; - 14D6D70A1B220AE3001FB087 /* OCMStubRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMStubRecorder.h; sourceTree = ""; }; - 14D6D7101B220EB3001FB087 /* libOCMock.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libOCMock.a; sourceTree = ""; }; - 14DC67E71AB71876001358AB /* RCTPushNotification.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTPushNotification.xcodeproj; path = ../../Libraries/PushNotificationIOS/RCTPushNotification.xcodeproj; sourceTree = ""; }; - 14E0EEC81AB118F7000DECC3 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = ../../Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj; sourceTree = ""; }; - 272E6B3B1BEA849E001FCF37 /* UpdatePropertiesExampleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UpdatePropertiesExampleView.h; path = UIExplorer/NativeExampleViews/UpdatePropertiesExampleView.h; sourceTree = ""; }; - 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UpdatePropertiesExampleView.m; path = UIExplorer/NativeExampleViews/UpdatePropertiesExampleView.m; sourceTree = ""; }; - 27B885551BED29AF00008352 /* RCTRootViewIntegrationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTRootViewIntegrationTests.m; sourceTree = ""; }; - 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FlexibleSizeExampleView.m; path = UIExplorer/NativeExampleViews/FlexibleSizeExampleView.m; sourceTree = ""; }; - 27F441EA1BEBE5030039B79C /* FlexibleSizeExampleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FlexibleSizeExampleView.h; path = UIExplorer/NativeExampleViews/FlexibleSizeExampleView.h; sourceTree = ""; }; - 2D4624E01DA2EA6900C74D09 /* UIExplorer-tvOSIntegrationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "UIExplorer-tvOSIntegrationTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2DD323901DA2DD8A000FE1B8 /* UIExplorer-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "UIExplorer-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2DD323A01DA2DD8B000FE1B8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 2DD323A51DA2DD8B000FE1B8 /* UIExplorer-tvOSUnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "UIExplorer-tvOSUnitTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 357858F81B28D2C400341EDB /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = ../../Libraries/LinkingIOS/RCTLinking.xcodeproj; sourceTree = ""; }; - 39AA31A31DC1DFDC000F7EBB /* RCTUnicodeDecodeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTUnicodeDecodeTests.m; sourceTree = ""; }; - 3D13F83E1D6F6AE000E69E0E /* UIExplorerBundle.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UIExplorerBundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - 3D13F8401D6F6AE000E69E0E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = ""; }; - 3D13F8441D6F6AF200E69E0E /* ImageInBundle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ImageInBundle.png; sourceTree = ""; }; - 3D13F8451D6F6AF200E69E0E /* OtherImages.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = OtherImages.xcassets; sourceTree = ""; }; - 3D299BAE1D33EBFA00FA1057 /* RCTLoggingTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTLoggingTests.m; sourceTree = ""; }; - 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "legacy_image@2x.png"; path = "UIExplorer/legacy_image@2x.png"; sourceTree = ""; }; - 3DB99D0B1BA0340600302749 /* UIExplorerIntegrationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIExplorerIntegrationTests.m; sourceTree = ""; }; - 3DD981D51D33C6FB007DC7BE /* UIExplorerUnitTestsBundle.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = UIExplorerUnitTestsBundle.js; sourceTree = ""; }; - 58005BE41ABA80530062E044 /* RCTTest.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTTest.xcodeproj; path = ../../Libraries/RCTTest/RCTTest.xcodeproj; sourceTree = ""; }; - 68FF44371CF6111500720EFD /* RCTBundleURLProviderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTBundleURLProviderTests.m; sourceTree = ""; }; - 83636F8E1B53F22C009F943E /* RCTUIManagerScenarioTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTUIManagerScenarioTests.m; sourceTree = ""; }; - 8385CEF41B873B5C00C6273E /* RCTImageLoaderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageLoaderTests.m; sourceTree = ""; }; - 8385CF031B87479200C6273E /* RCTImageLoaderHelpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageLoaderHelpers.m; sourceTree = ""; }; - 8385CF051B8747A000C6273E /* RCTImageLoaderHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RCTImageLoaderHelpers.h; sourceTree = ""; }; - BC9C033F1DC9F1D600B1C635 /* RCTDevMenuTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTDevMenuTests.m; sourceTree = ""; }; - C654F14B1EB34D0C000B7A9A /* UIExplorerTestModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIExplorerTestModule.m; sourceTree = ""; }; - D85B82911AB6D5CE003F4FE2 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = ../../Libraries/Vibration/RCTVibration.xcodeproj; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 004D289B1AAF61C70097A701 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 14D6D71E1B2222EF001FB087 /* libRCTActionSheet.a in Frameworks */, - 14D6D71F1B2222EF001FB087 /* libRCTAdSupport.a in Frameworks */, - 14D6D7201B2222EF001FB087 /* libRCTGeolocation.a in Frameworks */, - 14D6D7211B2222EF001FB087 /* libRCTImage.a in Frameworks */, - 14D6D7221B2222EF001FB087 /* libRCTNetwork.a in Frameworks */, - 14D6D7231B2222EF001FB087 /* libRCTPushNotification.a in Frameworks */, - 14D6D7241B2222EF001FB087 /* libRCTSettings.a in Frameworks */, - 14D6D7251B2222EF001FB087 /* libRCTTest.a in Frameworks */, - 14D6D7261B2222EF001FB087 /* libRCTText.a in Frameworks */, - 14D6D7271B2222EF001FB087 /* libRCTVibration.a in Frameworks */, - 14D6D7281B2222EF001FB087 /* libRCTWebSocket.a in Frameworks */, - 14D6D7111B220EB3001FB087 /* libOCMock.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 1380DCD41E70C44800E7C47D /* libReact.a in Frameworks */, - 147CED4C1AB3532B00DA3E4C /* libRCTActionSheet.a in Frameworks */, - 134454601AAFCABD003F0779 /* libRCTAdSupport.a in Frameworks */, - 13E501F11D07A84A005F35D8 /* libRCTAnimation.a in Frameworks */, - 138DEE241B9EDFB6007F4EA5 /* libRCTCameraRoll.a in Frameworks */, - 134A8A2A1AACED7A00945AAE /* libRCTGeolocation.a in Frameworks */, - 1341802C1AA9178B003F314A /* libRCTNetwork.a in Frameworks */, - 13417FE91AA91432003F314A /* libRCTImage.a in Frameworks */, - 3578590A1B28D2CF00341EDB /* libRCTLinking.a in Frameworks */, - 14DC67F41AB71881001358AB /* libRCTPushNotification.a in Frameworks */, - 834C36EC1AF8DED70019C93C /* libRCTSettings.a in Frameworks */, - 134180011AA9153C003F314A /* libRCTText.a in Frameworks */, - D85B829E1AB6D5D7003F4FE2 /* libRCTVibration.a in Frameworks */, - 139FDEDB1B0651FB00C62182 /* libRCTWebSocket.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 143BC5921B21E3E100462512 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 14B6DA821B276C5900BF4DD1 /* libRCTTest.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2D4624D91DA2EA6900C74D09 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2D4625351DA2EBBE00C74D09 /* libRCTTest-tvOS.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2DD3238D1DA2DD8A000FE1B8 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2DD323E31DA2DE3F000FE1B8 /* libRCTAnimation-tvOS.a in Frameworks */, - 3D302F221DF8285100D6DDAE /* libRCTImage-tvOS.a in Frameworks */, - 2DD323E51DA2DE3F000FE1B8 /* libRCTLinking-tvOS.a in Frameworks */, - 2DD323E61DA2DE3F000FE1B8 /* libRCTNetwork-tvOS.a in Frameworks */, - 3D05746D1DE6008900184BB4 /* libRCTPushNotification-tvOS.a in Frameworks */, - 2DD323E71DA2DE3F000FE1B8 /* libRCTSettings-tvOS.a in Frameworks */, - 2DD323E81DA2DE3F000FE1B8 /* libRCTText-tvOS.a in Frameworks */, - 2DD323E91DA2DE3F000FE1B8 /* libRCTWebSocket-tvOS.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2DD323A21DA2DD8B000FE1B8 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2D4BD8E71DA2E20D005AC8A8 /* libOCMock.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3D13F83B1D6F6AE000E69E0E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 1316A21D1AA397F400C0188E /* Libraries */ = { - isa = PBXGroup; - children = ( - 1380DC8B1E70C0DC00E7C47D /* ReactLegacy.xcodeproj */, - 14E0EEC81AB118F7000DECC3 /* RCTActionSheet.xcodeproj */, - 134454551AAFCAAE003F0779 /* RCTAdSupport.xcodeproj */, - 13E5019C1D07A502005F35D8 /* RCTAnimation.xcodeproj */, - 138DEE021B9EDDDB007F4EA5 /* RCTCameraRoll.xcodeproj */, - 134A8A201AACED6A00945AAE /* RCTGeolocation.xcodeproj */, - 13417FE31AA91428003F314A /* RCTImage.xcodeproj */, - 357858F81B28D2C400341EDB /* RCTLinking.xcodeproj */, - 134180261AA91779003F314A /* RCTNetwork.xcodeproj */, - 14DC67E71AB71876001358AB /* RCTPushNotification.xcodeproj */, - 13CC9D481AEED2B90020D1C2 /* RCTSettings.xcodeproj */, - 58005BE41ABA80530062E044 /* RCTTest.xcodeproj */, - 13417FEA1AA914B8003F314A /* RCTText.xcodeproj */, - D85B82911AB6D5CE003F4FE2 /* RCTVibration.xcodeproj */, - 139FDECA1B0651EA00C62182 /* RCTWebSocket.xcodeproj */, - ); - name = Libraries; - sourceTree = ""; - }; - 1323F18D1C04ABAC0091BED0 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */, - 13B07FB61A68108700A75B9A /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 13417FE41AA91428003F314A /* Products */ = { - isa = PBXGroup; - children = ( - 13417FE81AA91428003F314A /* libRCTImage.a */, - 2DD323BB1DA2DD8B000FE1B8 /* libRCTImage-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 13417FEB1AA914B8003F314A /* Products */ = { - isa = PBXGroup; - children = ( - 13417FEF1AA914B8003F314A /* libRCTText.a */, - 2DD323D01DA2DD8B000FE1B8 /* libRCTText-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 134180271AA91779003F314A /* Products */ = { - isa = PBXGroup; - children = ( - 1341802B1AA91779003F314A /* libRCTNetwork.a */, - 2DD323C31DA2DD8B000FE1B8 /* libRCTNetwork-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 134454561AAFCAAE003F0779 /* Products */ = { - isa = PBXGroup; - children = ( - 1344545A1AAFCAAE003F0779 /* libRCTAdSupport.a */, - ); - name = Products; - sourceTree = ""; - }; - 134A8A211AACED6A00945AAE /* Products */ = { - isa = PBXGroup; - children = ( - 134A8A251AACED6A00945AAE /* libRCTGeolocation.a */, - ); - name = Products; - sourceTree = ""; - }; - 1380DC8C1E70C0DC00E7C47D /* Products */ = { - isa = PBXGroup; - children = ( - 1380DC991E70C0DD00E7C47D /* libReact.a */, - 1380DC9B1E70C0DD00E7C47D /* libReact.a */, - 1380DC9D1E70C0DD00E7C47D /* libyoga.a */, - 1380DC9F1E70C0DD00E7C47D /* libyoga.a */, - 1380DCA11E70C0DD00E7C47D /* libcxxreact.a */, - 1380DCA31E70C0DD00E7C47D /* libcxxreact.a */, - 1380DCA51E70C0DD00E7C47D /* libjschelpers.a */, - 1380DCA71E70C0DD00E7C47D /* libjschelpers.a */, - 1380DCA91E70C0DD00E7C47D /* libthird-party.a */, - 1380DCAB1E70C0DD00E7C47D /* libdouble-conversion.a */, - ); - name = Products; - sourceTree = ""; - }; - 138DEE031B9EDDDB007F4EA5 /* Products */ = { - isa = PBXGroup; - children = ( - 138DEE091B9EDDDB007F4EA5 /* libRCTCameraRoll.a */, - ); - name = Products; - sourceTree = ""; - }; - 139FDECB1B0651EA00C62182 /* Products */ = { - isa = PBXGroup; - children = ( - 139FDED91B0651EA00C62182 /* libRCTWebSocket.a */, - 2DD323D51DA2DD8B000FE1B8 /* libRCTWebSocket-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 13B07FAE1A68108700A75B9A /* UIExplorer */ = { - isa = PBXGroup; - children = ( - 272E6B3A1BEA846C001FCF37 /* NativeExampleViews */, - 13B07FAF1A68108700A75B9A /* AppDelegate.h */, - 13B07FB01A68108700A75B9A /* AppDelegate.m */, - 13B07FB51A68108700A75B9A /* Images.xcassets */, - 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, - 13B07FB71A68108700A75B9A /* main.m */, - 1323F18D1C04ABAC0091BED0 /* Supporting Files */, - ); - name = UIExplorer; - sourceTree = ""; - }; - 13E5019D1D07A502005F35D8 /* Products */ = { - isa = PBXGroup; - children = ( - 13E501A31D07A502005F35D8 /* libRCTAnimation.a */, - 2DD323B51DA2DD8B000FE1B8 /* libRCTAnimation-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 143BC57C1B21E18100462512 /* UIExplorerUnitTests */ = { - isa = PBXGroup; - children = ( - 13B6C1A21C34225900D3FAF5 /* RCTURLUtilsTests.m */, - 68FF44371CF6111500720EFD /* RCTBundleURLProviderTests.m */, - 1497CFA41B21F5E400C1F8F2 /* RCTAllocationTests.m */, - 1497CFA51B21F5E400C1F8F2 /* RCTBridgeTests.m */, - 1497CFA61B21F5E400C1F8F2 /* RCTJSCExecutorTests.m */, - 1497CFA71B21F5E400C1F8F2 /* RCTConvert_NSURLTests.m */, - 1497CFA81B21F5E400C1F8F2 /* RCTFontTests.m */, - 1497CFA91B21F5E400C1F8F2 /* RCTEventDispatcherTests.m */, - 1300627E1B59179B0043FE5A /* RCTGzipTests.m */, - 8385CF051B8747A000C6273E /* RCTImageLoaderHelpers.h */, - 8385CF031B87479200C6273E /* RCTImageLoaderHelpers.m */, - 8385CEF41B873B5C00C6273E /* RCTImageLoaderTests.m */, - 144D21231B2204C5006DB32B /* RCTImageUtilTests.m */, - 13DB03471B5D2ED500C27245 /* RCTJSONTests.m */, - 13DF61B51B67A45000EDB188 /* RCTMethodArgumentTests.m */, - 134CB9291C85A38800265FA6 /* RCTModuleInitTests.m */, - 13129DD31C85F87C007D611C /* RCTModuleInitNotificationRaceTests.m */, - 1393D0371B68CD1300E1B601 /* RCTModuleMethodTests.m */, - 001BFCE31D838343008E587E /* RCTMultipartStreamReaderTests.m */, - 138D6A161B53CD440074A87E /* RCTShadowViewTests.m */, - 1497CFAB1B21F5E400C1F8F2 /* RCTUIManagerTests.m */, - BC9C033F1DC9F1D600B1C635 /* RCTDevMenuTests.m */, - 13BCE84E1C9C209600DD7AAD /* RCTComponentPropsTests.m */, - 39AA31A31DC1DFDC000F7EBB /* RCTUnicodeDecodeTests.m */, - 143BC57E1B21E18100462512 /* Info.plist */, - 3DD981D51D33C6FB007DC7BE /* UIExplorerUnitTestsBundle.js */, - 14D6D7101B220EB3001FB087 /* libOCMock.a */, - 14D6D7011B220AE3001FB087 /* OCMock */, - ); - path = UIExplorerUnitTests; - sourceTree = ""; - }; - 143BC5961B21E3E100462512 /* UIExplorerIntegrationTests */ = { - isa = PBXGroup; - children = ( - 3D299BAE1D33EBFA00FA1057 /* RCTLoggingTests.m */, - 27B885551BED29AF00008352 /* RCTRootViewIntegrationTests.m */, - 3DB99D0B1BA0340600302749 /* UIExplorerIntegrationTests.m */, - 143BC5A01B21E45C00462512 /* UIExplorerSnapshotTests.m */, - C654F14B1EB34D0C000B7A9A /* UIExplorerTestModule.m */, - 83636F8E1B53F22C009F943E /* RCTUIManagerScenarioTests.m */, - 143BC5971B21E3E100462512 /* Supporting Files */, - ); - path = UIExplorerIntegrationTests; - sourceTree = ""; - }; - 143BC5971B21E3E100462512 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 143BC5981B21E3E100462512 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 147CED471AB34F8C00DA3E4C /* Products */ = { - isa = PBXGroup; - children = ( - 147CED4B1AB34F8C00DA3E4C /* libRCTActionSheet.a */, - ); - name = Products; - sourceTree = ""; - }; - 14D6D6EA1B2205C0001FB087 /* OCMock */ = { - isa = PBXGroup; - children = ( - ); - path = OCMock; - sourceTree = ""; - }; - 14D6D7011B220AE3001FB087 /* OCMock */ = { - isa = PBXGroup; - children = ( - 14D6D7021B220AE3001FB087 /* NSNotificationCenter+OCMAdditions.h */, - 14D6D7031B220AE3001FB087 /* OCMArg.h */, - 14D6D7041B220AE3001FB087 /* OCMConstraint.h */, - 14D6D7051B220AE3001FB087 /* OCMLocation.h */, - 14D6D7061B220AE3001FB087 /* OCMMacroState.h */, - 14D6D7071B220AE3001FB087 /* OCMock.h */, - 14D6D7081B220AE3001FB087 /* OCMockObject.h */, - 14D6D7091B220AE3001FB087 /* OCMRecorder.h */, - 14D6D70A1B220AE3001FB087 /* OCMStubRecorder.h */, - ); - path = OCMock; - sourceTree = ""; - }; - 14DC67E81AB71876001358AB /* Products */ = { - isa = PBXGroup; - children = ( - 14DC67F11AB71876001358AB /* libRCTPushNotification.a */, - 3D05746C1DE6008900184BB4 /* libRCTPushNotification-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 272E6B3A1BEA846C001FCF37 /* NativeExampleViews */ = { - isa = PBXGroup; - children = ( - 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */, - 27F441EA1BEBE5030039B79C /* FlexibleSizeExampleView.h */, - 272E6B3B1BEA849E001FCF37 /* UpdatePropertiesExampleView.h */, - 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */, - ); - name = NativeExampleViews; - sourceTree = ""; - }; - 2DD323911DA2DD8B000FE1B8 /* UIExplorer-tvOS */ = { - isa = PBXGroup; - children = ( - 2DD323A01DA2DD8B000FE1B8 /* Info.plist */, - ); - path = "UIExplorer-tvOS"; - sourceTree = ""; - }; - 357858F91B28D2C400341EDB /* Products */ = { - isa = PBXGroup; - children = ( - 357859011B28D2C500341EDB /* libRCTLinking.a */, - 2DD323BF1DA2DD8B000FE1B8 /* libRCTLinking-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 3D13F83F1D6F6AE000E69E0E /* UIExplorerBundle */ = { - isa = PBXGroup; - children = ( - 3D13F8401D6F6AE000E69E0E /* Info.plist */, - 3D13F8441D6F6AF200E69E0E /* ImageInBundle.png */, - 3D13F8451D6F6AF200E69E0E /* OtherImages.xcassets */, - ); - name = UIExplorerBundle; - path = UIExplorer/UIExplorerBundle; - sourceTree = ""; - }; - 58005BE51ABA80530062E044 /* Products */ = { - isa = PBXGroup; - children = ( - 58005BEE1ABA80530062E044 /* libRCTTest.a */, - 2DD323CC1DA2DD8B000FE1B8 /* libRCTTest-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 834C36CE1AF8DA610019C93C /* Products */ = { - isa = PBXGroup; - children = ( - 834C36D21AF8DA610019C93C /* libRCTSettings.a */, - 2DD323C81DA2DD8B000FE1B8 /* libRCTSettings-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 83CBB9F61A601CBA00E9B192 = { - isa = PBXGroup; - children = ( - 13B07FAE1A68108700A75B9A /* UIExplorer */, - 1316A21D1AA397F400C0188E /* Libraries */, - 143BC57C1B21E18100462512 /* UIExplorerUnitTests */, - 143BC5961B21E3E100462512 /* UIExplorerIntegrationTests */, - 3D13F83F1D6F6AE000E69E0E /* UIExplorerBundle */, - 14D6D6EA1B2205C0001FB087 /* OCMock */, - 2DD323911DA2DD8B000FE1B8 /* UIExplorer-tvOS */, - 83CBBA001A601CBA00E9B192 /* Products */, - ); - indentWidth = 2; - sourceTree = ""; - tabWidth = 2; - }; - 83CBBA001A601CBA00E9B192 /* Products */ = { - isa = PBXGroup; - children = ( - 13B07F961A680F5B00A75B9A /* UIExplorer.app */, - 004D289E1AAF61C70097A701 /* UIExplorerUnitTests.xctest */, - 143BC5951B21E3E100462512 /* UIExplorerIntegrationTests.xctest */, - 3D13F83E1D6F6AE000E69E0E /* UIExplorerBundle.bundle */, - 2DD323901DA2DD8A000FE1B8 /* UIExplorer-tvOS.app */, - 2DD323A51DA2DD8B000FE1B8 /* UIExplorer-tvOSUnitTests.xctest */, - 2D4624E01DA2EA6900C74D09 /* UIExplorer-tvOSIntegrationTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - D85B82921AB6D5CE003F4FE2 /* Products */ = { - isa = PBXGroup; - children = ( - D85B829C1AB6D5CE003F4FE2 /* libRCTVibration.a */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 004D289D1AAF61C70097A701 /* UIExplorerUnitTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 004D28AD1AAF61C70097A701 /* Build configuration list for PBXNativeTarget "UIExplorerUnitTests" */; - buildPhases = ( - 004D289A1AAF61C70097A701 /* Sources */, - 004D289B1AAF61C70097A701 /* Frameworks */, - 004D289C1AAF61C70097A701 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = UIExplorerUnitTests; - productName = UIExplorerTests; - productReference = 004D289E1AAF61C70097A701 /* UIExplorerUnitTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 13B07F861A680F5B00A75B9A /* UIExplorer */ = { - isa = PBXNativeTarget; - buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "UIExplorer" */; - buildPhases = ( - 13B07F871A680F5B00A75B9A /* Sources */, - 13B07F8C1A680F5B00A75B9A /* Frameworks */, - 13B07F8E1A680F5B00A75B9A /* Resources */, - 68CD48B71D2BCB2C007E06A9 /* Run Script */, - ); - buildRules = ( - ); - dependencies = ( - 3D13F84C1D6F6B5F00E69E0E /* PBXTargetDependency */, - ); - name = UIExplorer; - productName = "Hello World"; - productReference = 13B07F961A680F5B00A75B9A /* UIExplorer.app */; - productType = "com.apple.product-type.application"; - }; - 143BC5941B21E3E100462512 /* UIExplorerIntegrationTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 143BC59D1B21E3E100462512 /* Build configuration list for PBXNativeTarget "UIExplorerIntegrationTests" */; - buildPhases = ( - 143BC5911B21E3E100462512 /* Sources */, - 143BC5921B21E3E100462512 /* Frameworks */, - 143BC5931B21E3E100462512 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 143BC59C1B21E3E100462512 /* PBXTargetDependency */, - ); - name = UIExplorerIntegrationTests; - productName = UIExplorerIntegrationTests; - productReference = 143BC5951B21E3E100462512 /* UIExplorerIntegrationTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 2D4624C11DA2EA6900C74D09 /* UIExplorer-tvOSIntegrationTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2D4624DD1DA2EA6900C74D09 /* Build configuration list for PBXNativeTarget "UIExplorer-tvOSIntegrationTests" */; - buildPhases = ( - 2D4624C41DA2EA6900C74D09 /* Sources */, - 2D4624D91DA2EA6900C74D09 /* Frameworks */, - 2D4624DB1DA2EA6900C74D09 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 2D4624C21DA2EA6900C74D09 /* PBXTargetDependency */, - ); - name = "UIExplorer-tvOSIntegrationTests"; - productName = "UIExplorer-tvOSUnitTests"; - productReference = 2D4624E01DA2EA6900C74D09 /* UIExplorer-tvOSIntegrationTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 2DD3238F1DA2DD8A000FE1B8 /* UIExplorer-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2DD323DA1DA2DD8B000FE1B8 /* Build configuration list for PBXNativeTarget "UIExplorer-tvOS" */; - buildPhases = ( - 2DD3238C1DA2DD8A000FE1B8 /* Sources */, - 2DD3238D1DA2DD8A000FE1B8 /* Frameworks */, - 2DD3238E1DA2DD8A000FE1B8 /* Resources */, - 2DD323EB1DA2DEC1000FE1B8 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "UIExplorer-tvOS"; - productName = "UIExplorer-tvOS"; - productReference = 2DD323901DA2DD8A000FE1B8 /* UIExplorer-tvOS.app */; - productType = "com.apple.product-type.application"; - }; - 2DD323A41DA2DD8B000FE1B8 /* UIExplorer-tvOSUnitTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2DD323DB1DA2DD8B000FE1B8 /* Build configuration list for PBXNativeTarget "UIExplorer-tvOSUnitTests" */; - buildPhases = ( - 2DD323A11DA2DD8B000FE1B8 /* Sources */, - 2DD323A21DA2DD8B000FE1B8 /* Frameworks */, - 2DD323A31DA2DD8B000FE1B8 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 2DD323A71DA2DD8B000FE1B8 /* PBXTargetDependency */, - ); - name = "UIExplorer-tvOSUnitTests"; - productName = "UIExplorer-tvOSUnitTests"; - productReference = 2DD323A51DA2DD8B000FE1B8 /* UIExplorer-tvOSUnitTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 3D13F83D1D6F6AE000E69E0E /* UIExplorerBundle */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3D13F8411D6F6AE000E69E0E /* Build configuration list for PBXNativeTarget "UIExplorerBundle" */; - buildPhases = ( - 3D13F83A1D6F6AE000E69E0E /* Sources */, - 3D13F83B1D6F6AE000E69E0E /* Frameworks */, - 3D13F83C1D6F6AE000E69E0E /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = UIExplorerBundle; - productName = UIExplorerBundle; - productReference = 3D13F83E1D6F6AE000E69E0E /* UIExplorerBundle.bundle */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 83CBB9F71A601CBA00E9B192 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0820; - ORGANIZATIONNAME = Facebook; - TargetAttributes = { - 004D289D1AAF61C70097A701 = { - CreatedOnToolsVersion = 6.1.1; - }; - 143BC5941B21E3E100462512 = { - CreatedOnToolsVersion = 6.3.2; - TestTargetID = 13B07F861A680F5B00A75B9A; - }; - 2DD3238F1DA2DD8A000FE1B8 = { - CreatedOnToolsVersion = 8.0; - ProvisioningStyle = Automatic; - }; - 2DD323A41DA2DD8B000FE1B8 = { - CreatedOnToolsVersion = 8.0; - ProvisioningStyle = Automatic; - TestTargetID = 2DD3238F1DA2DD8A000FE1B8; - }; - 3D13F83D1D6F6AE000E69E0E = { - CreatedOnToolsVersion = 7.3.1; - }; - }; - }; - buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "UIExplorerLegacy" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 83CBB9F61A601CBA00E9B192; - productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 147CED471AB34F8C00DA3E4C /* Products */; - ProjectRef = 14E0EEC81AB118F7000DECC3 /* RCTActionSheet.xcodeproj */; - }, - { - ProductGroup = 134454561AAFCAAE003F0779 /* Products */; - ProjectRef = 134454551AAFCAAE003F0779 /* RCTAdSupport.xcodeproj */; - }, - { - ProductGroup = 13E5019D1D07A502005F35D8 /* Products */; - ProjectRef = 13E5019C1D07A502005F35D8 /* RCTAnimation.xcodeproj */; - }, - { - ProductGroup = 138DEE031B9EDDDB007F4EA5 /* Products */; - ProjectRef = 138DEE021B9EDDDB007F4EA5 /* RCTCameraRoll.xcodeproj */; - }, - { - ProductGroup = 134A8A211AACED6A00945AAE /* Products */; - ProjectRef = 134A8A201AACED6A00945AAE /* RCTGeolocation.xcodeproj */; - }, - { - ProductGroup = 13417FE41AA91428003F314A /* Products */; - ProjectRef = 13417FE31AA91428003F314A /* RCTImage.xcodeproj */; - }, - { - ProductGroup = 357858F91B28D2C400341EDB /* Products */; - ProjectRef = 357858F81B28D2C400341EDB /* RCTLinking.xcodeproj */; - }, - { - ProductGroup = 134180271AA91779003F314A /* Products */; - ProjectRef = 134180261AA91779003F314A /* RCTNetwork.xcodeproj */; - }, - { - ProductGroup = 14DC67E81AB71876001358AB /* Products */; - ProjectRef = 14DC67E71AB71876001358AB /* RCTPushNotification.xcodeproj */; - }, - { - ProductGroup = 834C36CE1AF8DA610019C93C /* Products */; - ProjectRef = 13CC9D481AEED2B90020D1C2 /* RCTSettings.xcodeproj */; - }, - { - ProductGroup = 58005BE51ABA80530062E044 /* Products */; - ProjectRef = 58005BE41ABA80530062E044 /* RCTTest.xcodeproj */; - }, - { - ProductGroup = 13417FEB1AA914B8003F314A /* Products */; - ProjectRef = 13417FEA1AA914B8003F314A /* RCTText.xcodeproj */; - }, - { - ProductGroup = D85B82921AB6D5CE003F4FE2 /* Products */; - ProjectRef = D85B82911AB6D5CE003F4FE2 /* RCTVibration.xcodeproj */; - }, - { - ProductGroup = 139FDECB1B0651EA00C62182 /* Products */; - ProjectRef = 139FDECA1B0651EA00C62182 /* RCTWebSocket.xcodeproj */; - }, - { - ProductGroup = 1380DC8C1E70C0DC00E7C47D /* Products */; - ProjectRef = 1380DC8B1E70C0DC00E7C47D /* ReactLegacy.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - 13B07F861A680F5B00A75B9A /* UIExplorer */, - 004D289D1AAF61C70097A701 /* UIExplorerUnitTests */, - 143BC5941B21E3E100462512 /* UIExplorerIntegrationTests */, - 3D13F83D1D6F6AE000E69E0E /* UIExplorerBundle */, - 2DD3238F1DA2DD8A000FE1B8 /* UIExplorer-tvOS */, - 2DD323A41DA2DD8B000FE1B8 /* UIExplorer-tvOSUnitTests */, - 2D4624C11DA2EA6900C74D09 /* UIExplorer-tvOSIntegrationTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - 13417FE81AA91428003F314A /* libRCTImage.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTImage.a; - remoteRef = 13417FE71AA91428003F314A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 13417FEF1AA914B8003F314A /* libRCTText.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTText.a; - remoteRef = 13417FEE1AA914B8003F314A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1341802B1AA91779003F314A /* libRCTNetwork.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTNetwork.a; - remoteRef = 1341802A1AA91779003F314A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1344545A1AAFCAAE003F0779 /* libRCTAdSupport.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTAdSupport.a; - remoteRef = 134454591AAFCAAE003F0779 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 134A8A251AACED6A00945AAE /* libRCTGeolocation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTGeolocation.a; - remoteRef = 134A8A241AACED6A00945AAE /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1380DC991E70C0DD00E7C47D /* libReact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReact.a; - remoteRef = 1380DC981E70C0DD00E7C47D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1380DC9B1E70C0DD00E7C47D /* libReact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReact.a; - remoteRef = 1380DC9A1E70C0DD00E7C47D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1380DC9D1E70C0DD00E7C47D /* libyoga.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libyoga.a; - remoteRef = 1380DC9C1E70C0DD00E7C47D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1380DC9F1E70C0DD00E7C47D /* libyoga.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libyoga.a; - remoteRef = 1380DC9E1E70C0DD00E7C47D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1380DCA11E70C0DD00E7C47D /* libcxxreact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libcxxreact.a; - remoteRef = 1380DCA01E70C0DD00E7C47D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1380DCA31E70C0DD00E7C47D /* libcxxreact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libcxxreact.a; - remoteRef = 1380DCA21E70C0DD00E7C47D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1380DCA51E70C0DD00E7C47D /* libjschelpers.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjschelpers.a; - remoteRef = 1380DCA41E70C0DD00E7C47D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1380DCA71E70C0DD00E7C47D /* libjschelpers.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjschelpers.a; - remoteRef = 1380DCA61E70C0DD00E7C47D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1380DCA91E70C0DD00E7C47D /* libthird-party.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libthird-party.a"; - remoteRef = 1380DCA81E70C0DD00E7C47D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1380DCAB1E70C0DD00E7C47D /* libdouble-conversion.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libdouble-conversion.a"; - remoteRef = 1380DCAA1E70C0DD00E7C47D /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 138DEE091B9EDDDB007F4EA5 /* libRCTCameraRoll.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTCameraRoll.a; - remoteRef = 138DEE081B9EDDDB007F4EA5 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 139FDED91B0651EA00C62182 /* libRCTWebSocket.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTWebSocket.a; - remoteRef = 139FDED81B0651EA00C62182 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 13E501A31D07A502005F35D8 /* libRCTAnimation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTAnimation.a; - remoteRef = 13E501A21D07A502005F35D8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 147CED4B1AB34F8C00DA3E4C /* libRCTActionSheet.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTActionSheet.a; - remoteRef = 147CED4A1AB34F8C00DA3E4C /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 14DC67F11AB71876001358AB /* libRCTPushNotification.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTPushNotification.a; - remoteRef = 14DC67F01AB71876001358AB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323B51DA2DD8B000FE1B8 /* libRCTAnimation-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTAnimation-tvOS.a"; - remoteRef = 2DD323B41DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323BB1DA2DD8B000FE1B8 /* libRCTImage-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTImage-tvOS.a"; - remoteRef = 2DD323BA1DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323BF1DA2DD8B000FE1B8 /* libRCTLinking-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTLinking-tvOS.a"; - remoteRef = 2DD323BE1DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323C31DA2DD8B000FE1B8 /* libRCTNetwork-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTNetwork-tvOS.a"; - remoteRef = 2DD323C21DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323C81DA2DD8B000FE1B8 /* libRCTSettings-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTSettings-tvOS.a"; - remoteRef = 2DD323C71DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323CC1DA2DD8B000FE1B8 /* libRCTTest-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTTest-tvOS.a"; - remoteRef = 2DD323CB1DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323D01DA2DD8B000FE1B8 /* libRCTText-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTText-tvOS.a"; - remoteRef = 2DD323CF1DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DD323D51DA2DD8B000FE1B8 /* libRCTWebSocket-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTWebSocket-tvOS.a"; - remoteRef = 2DD323D41DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 357859011B28D2C500341EDB /* libRCTLinking.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTLinking.a; - remoteRef = 357859001B28D2C500341EDB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3D05746C1DE6008900184BB4 /* libRCTPushNotification-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTPushNotification-tvOS.a"; - remoteRef = 3D05746B1DE6008900184BB4 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 58005BEE1ABA80530062E044 /* libRCTTest.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTTest.a; - remoteRef = 58005BED1ABA80530062E044 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 834C36D21AF8DA610019C93C /* libRCTSettings.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTSettings.a; - remoteRef = 834C36D11AF8DA610019C93C /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - D85B829C1AB6D5CE003F4FE2 /* libRCTVibration.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTVibration.a; - remoteRef = D85B829B1AB6D5CE003F4FE2 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXResourcesBuildPhase section */ - 004D289C1AAF61C70097A701 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3DD981D61D33C6FB007DC7BE /* UIExplorerUnitTestsBundle.js in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 13B07F8E1A680F5B00A75B9A /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, - 3D56F9F11D6F6E9B00F53A06 /* UIExplorerBundle.bundle in Resources */, - 3D2AFAF51D646CF80089D1A3 /* legacy_image@2x.png in Resources */, - 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 143BC5931B21E3E100462512 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2D4624DB1DA2EA6900C74D09 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2DD3238E1DA2DD8A000FE1B8 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2DD323DF1DA2DDBF000FE1B8 /* Images.xcassets in Resources */, - 2DD323E11DA2DDBF000FE1B8 /* legacy_image@2x.png in Resources */, - 2DD323E21DA2DDBF000FE1B8 /* Info.plist in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2DD323A31DA2DD8B000FE1B8 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2D4BD8E61DA2E20D005AC8A8 /* UIExplorerUnitTestsBundle.js in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3D13F83C1D6F6AE000E69E0E /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3D13F8481D6F6AF900E69E0E /* ImageInBundle.png in Resources */, - 3D13F84A1D6F6AFD00E69E0E /* OtherImages.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 2DD323EB1DA2DEC1000FE1B8 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n$SRCROOT/../../packager/react-native-xcode.sh Examples/UIExplorer/js/UIExplorerApp.ios.js"; - }; - 68CD48B71D2BCB2C007E06A9 /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n$SRCROOT/../../packager/react-native-xcode.sh Examples/UIExplorer/js/UIExplorerApp.ios.js"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 004D289A1AAF61C70097A701 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1497CFB01B21F5E400C1F8F2 /* RCTFontTests.m in Sources */, - 13BCE84F1C9C209600DD7AAD /* RCTComponentPropsTests.m in Sources */, - 144D21241B2204C5006DB32B /* RCTImageUtilTests.m in Sources */, - 1393D0381B68CD1300E1B601 /* RCTModuleMethodTests.m in Sources */, - 1300627F1B59179B0043FE5A /* RCTGzipTests.m in Sources */, - 1497CFAF1B21F5E400C1F8F2 /* RCTConvert_NSURLTests.m in Sources */, - 1497CFAE1B21F5E400C1F8F2 /* RCTJSCExecutorTests.m in Sources */, - 13129DD41C85F87C007D611C /* RCTModuleInitNotificationRaceTests.m in Sources */, - 1497CFAD1B21F5E400C1F8F2 /* RCTBridgeTests.m in Sources */, - 134CB92A1C85A38800265FA6 /* RCTModuleInitTests.m in Sources */, - 1497CFB11B21F5E400C1F8F2 /* RCTEventDispatcherTests.m in Sources */, - 1497CFB31B21F5E400C1F8F2 /* RCTUIManagerTests.m in Sources */, - 13DB03481B5D2ED500C27245 /* RCTJSONTests.m in Sources */, - 1497CFAC1B21F5E400C1F8F2 /* RCTAllocationTests.m in Sources */, - 001BFCE41D838343008E587E /* RCTMultipartStreamReaderTests.m in Sources */, - 13DF61B61B67A45000EDB188 /* RCTMethodArgumentTests.m in Sources */, - 138D6A181B53CD440074A87E /* RCTShadowViewTests.m in Sources */, - 39AA31A41DC1DFDC000F7EBB /* RCTUnicodeDecodeTests.m in Sources */, - 13B6C1A31C34225900D3FAF5 /* RCTURLUtilsTests.m in Sources */, - 8385CF041B87479200C6273E /* RCTImageLoaderHelpers.m in Sources */, - BC9C03401DC9F1D600B1C635 /* RCTDevMenuTests.m in Sources */, - 68FF44381CF6111500720EFD /* RCTBundleURLProviderTests.m in Sources */, - 8385CEF51B873B5C00C6273E /* RCTImageLoaderTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 13B07F871A680F5B00A75B9A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 272E6B3F1BEA849E001FCF37 /* UpdatePropertiesExampleView.m in Sources */, - 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, - 27F441EC1BEBE5030039B79C /* FlexibleSizeExampleView.m in Sources */, - 13B07FC11A68108700A75B9A /* main.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 143BC5911B21E3E100462512 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - C654F14C1EB34D0C000B7A9A /* UIExplorerTestModule.m in Sources */, - 3DB99D0C1BA0340600302749 /* UIExplorerIntegrationTests.m in Sources */, - 83636F8F1B53F22C009F943E /* RCTUIManagerScenarioTests.m in Sources */, - 3D299BAF1D33EBFA00FA1057 /* RCTLoggingTests.m in Sources */, - 143BC5A11B21E45C00462512 /* UIExplorerSnapshotTests.m in Sources */, - 27B885561BED29AF00008352 /* RCTRootViewIntegrationTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2D4624C41DA2EA6900C74D09 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - C654F16E1EB34D14000B7A9A /* UIExplorerTestModule.m in Sources */, - 2D4624FC1DA2EAC300C74D09 /* UIExplorerIntegrationTests.m in Sources */, - 2D4624FA1DA2EAC300C74D09 /* RCTLoggingTests.m in Sources */, - 2D4624FE1DA2EAC300C74D09 /* RCTUIManagerScenarioTests.m in Sources */, - 2D4624FD1DA2EAC300C74D09 /* UIExplorerSnapshotTests.m in Sources */, - 2D4624FB1DA2EAC300C74D09 /* RCTRootViewIntegrationTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2DD3238C1DA2DD8A000FE1B8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2DD323DC1DA2DDBF000FE1B8 /* FlexibleSizeExampleView.m in Sources */, - 2DD323DD1DA2DDBF000FE1B8 /* UpdatePropertiesExampleView.m in Sources */, - 2DD323E01DA2DDBF000FE1B8 /* main.m in Sources */, - 2DD323DE1DA2DDBF000FE1B8 /* AppDelegate.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2DD323A11DA2DD8B000FE1B8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2D4BD8DC1DA2E20D005AC8A8 /* RCTImageLoaderTests.m in Sources */, - 2D4BD8D51DA2E20D005AC8A8 /* RCTBridgeTests.m in Sources */, - 2D4BD8D91DA2E20D005AC8A8 /* RCTEventDispatcherTests.m in Sources */, - 2D4BD8D41DA2E20D005AC8A8 /* RCTAllocationTests.m in Sources */, - 2D4BD8DA1DA2E20D005AC8A8 /* RCTGzipTests.m in Sources */, - 2D4BD8DB1DA2E20D005AC8A8 /* RCTImageLoaderHelpers.m in Sources */, - 2D4BD8E51DA2E20D005AC8A8 /* RCTComponentPropsTests.m in Sources */, - 2D4BD8D71DA2E20D005AC8A8 /* RCTConvert_NSURLTests.m in Sources */, - 2D4BD8E21DA2E20D005AC8A8 /* RCTModuleMethodTests.m in Sources */, - 2D4BD8E11DA2E20D005AC8A8 /* RCTModuleInitNotificationRaceTests.m in Sources */, - 2D4BD8DF1DA2E20D005AC8A8 /* RCTMethodArgumentTests.m in Sources */, - 2D4BD8D61DA2E20D005AC8A8 /* RCTJSCExecutorTests.m in Sources */, - 2D4BD8D31DA2E20D005AC8A8 /* RCTBundleURLProviderTests.m in Sources */, - 2D4BD8D21DA2E20D005AC8A8 /* RCTURLUtilsTests.m in Sources */, - 2D8C2E321DA40403000EE098 /* RCTMultipartStreamReaderTests.m in Sources */, - 2D4BD8DE1DA2E20D005AC8A8 /* RCTJSONTests.m in Sources */, - 2D4BD8E31DA2E20D005AC8A8 /* RCTShadowViewTests.m in Sources */, - 2D4BD8D81DA2E20D005AC8A8 /* RCTFontTests.m in Sources */, - 2D4BD8DD1DA2E20D005AC8A8 /* RCTImageUtilTests.m in Sources */, - 2D4BD8E41DA2E20D005AC8A8 /* RCTUIManagerTests.m in Sources */, - 2D4BD8E01DA2E20D005AC8A8 /* RCTModuleInitTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3D13F83A1D6F6AE000E69E0E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 143BC59C1B21E3E100462512 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 13B07F861A680F5B00A75B9A /* UIExplorer */; - targetProxy = 143BC59B1B21E3E100462512 /* PBXContainerItemProxy */; - }; - 2D4624C21DA2EA6900C74D09 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 2DD3238F1DA2DD8A000FE1B8 /* UIExplorer-tvOS */; - targetProxy = 2D4624C31DA2EA6900C74D09 /* PBXContainerItemProxy */; - }; - 2DD323A71DA2DD8B000FE1B8 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 2DD3238F1DA2DD8A000FE1B8 /* UIExplorer-tvOS */; - targetProxy = 2DD323A61DA2DD8B000FE1B8 /* PBXContainerItemProxy */; - }; - 3D13F84C1D6F6B5F00E69E0E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 3D13F83D1D6F6AE000E69E0E /* UIExplorerBundle */; - targetProxy = 3D13F84B1D6F6B5F00E69E0E /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = { - isa = PBXVariantGroup; - children = ( - 13B07FB21A68108700A75B9A /* Base */, - ); - name = LaunchScreen.xib; - path = UIExplorer; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 004D28A61AAF61C70097A701 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/UIExplorerUnitTests", - ); - INFOPLIST_FILE = UIExplorerUnitTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/UIExplorerUnitTests", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 004D28A71AAF61C70097A701 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/UIExplorerUnitTests", - ); - INFOPLIST_FILE = UIExplorerUnitTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/UIExplorerUnitTests", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; - 13B07F941A680F5B00A75B9A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; - INFOPLIST_FILE = "$(SRCROOT)/UIExplorer/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; - LIBRARY_SEARCH_PATHS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp; - PRODUCT_NAME = UIExplorer; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 13B07F951A680F5B00A75B9A /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - DEVELOPMENT_TEAM = V9WTTPBFK9; - INFOPLIST_FILE = "$(SRCROOT)/UIExplorer/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited)"; - LIBRARY_SEARCH_PATHS = "$(inherited)"; - PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp; - PRODUCT_NAME = UIExplorer; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 143BC59E1B21E3E100462512 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FB_REFERENCE_IMAGE_DIR=\"\\\"$(SOURCE_ROOT)/$(PROJECT_NAME)IntegrationTests/ReferenceImages\\\"\"", - ); - INFOPLIST_FILE = UIExplorerIntegrationTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.React.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/UIExplorer.app/UIExplorer"; - }; - name = Debug; - }; - 143BC59F1B21E3E100462512 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = UIExplorerIntegrationTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.React.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/UIExplorer.app/UIExplorer"; - }; - name = Release; - }; - 2D4624DE1DA2EA6900C74D09 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - DEBUG_INFORMATION_FORMAT = dwarf; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FB_REFERENCE_IMAGE_DIR=\"\\\"$(SOURCE_ROOT)/$(PROJECT_NAME)IntegrationTests/ReferenceImages\\\"\"", - ); - INFOPLIST_FILE = UIExplorerIntegrationTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/UIExplorerUnitTests", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.UIExplorer-tvOSIntegrationTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/UIExplorer-tvOS.app/UIExplorer-tvOS"; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Debug; - }; - 2D4624DF1DA2EA6900C74D09 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = UIExplorerIntegrationTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/UIExplorerUnitTests", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.UIExplorer-tvOSIntegrationTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/UIExplorer-tvOS.app/UIExplorer-tvOS"; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Release; - }; - 2DD323AC1DA2DD8B000FE1B8 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - DEBUG_INFORMATION_FORMAT = dwarf; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "UIExplorer-tvOS/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.UIExplorer-tvOS"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Debug; - }; - 2DD323AD1DA2DD8B000FE1B8 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "UIExplorer-tvOS/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.UIExplorer-tvOS"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Release; - }; - 2DD323AE1DA2DD8B000FE1B8 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - DEBUG_INFORMATION_FORMAT = dwarf; - GCC_NO_COMMON_BLOCKS = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/UIExplorerUnitTests/**", - ); - INFOPLIST_FILE = UIExplorerUnitTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/UIExplorerUnitTests", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.UIExplorer-tvOSUnitTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/UIExplorer-tvOS.app/UIExplorer-tvOS"; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Debug; - }; - 2DD323AF1DA2DD8B000FE1B8 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CLANG_ANALYZER_NONNULL = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_SUSPICIOUS_MOVES = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_NO_COMMON_BLOCKS = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "$(SRCROOT)/UIExplorerUnitTests/**", - ); - INFOPLIST_FILE = UIExplorerUnitTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/UIExplorerUnitTests", - ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.UIExplorer-tvOSUnitTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = appletvos; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/UIExplorer-tvOS.app/UIExplorer-tvOS"; - TVOS_DEPLOYMENT_TARGET = 9.2; - }; - name = Release; - }; - 3D13F8421D6F6AE000E69E0E /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - COMBINE_HIDPI_IMAGES = YES; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = UIExplorer/UIExplorerBundle/Info.plist; - PRODUCT_BUNDLE_IDENTIFIER = com.facebook.UIExplorerBundle; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - 3D13F8431D6F6AE000E69E0E /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - COMBINE_HIDPI_IMAGES = YES; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = UIExplorer/UIExplorerBundle/Info.plist; - PRODUCT_BUNDLE_IDENTIFIER = com.facebook.UIExplorerBundle; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; - 83CBBA201A601CBA00E9B192 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_ASSIGN_ENUM = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_NEWLINE = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = YES; - GCC_WARN_SHADOW = YES; - GCC_WARN_STRICT_SELECTOR_MATCH = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNKNOWN_PRAGMAS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_LABEL = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - ); - SDKROOT = iphoneos; - WARNING_CFLAGS = ( - "-Wextra", - "-Wall", - "-Wincompatible-pointer-types", - "-Wincompatible-pointer-types-discards-qualifiers", - "-Wshadow", - ); - }; - name = Debug; - }; - 83CBBA211A601CBA00E9B192 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_ASSIGN_ENUM = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_NEWLINE = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = YES; - GCC_WARN_SHADOW = YES; - GCC_WARN_STRICT_SELECTOR_MATCH = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNKNOWN_PRAGMAS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_LABEL = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - ); - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - WARNING_CFLAGS = ( - "-Wextra", - "-Wall", - "-Wincompatible-pointer-types", - "-Wincompatible-pointer-types-discards-qualifiers", - "-Wshadow", - ); - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 004D28AD1AAF61C70097A701 /* Build configuration list for PBXNativeTarget "UIExplorerUnitTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 004D28A61AAF61C70097A701 /* Debug */, - 004D28A71AAF61C70097A701 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "UIExplorer" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 13B07F941A680F5B00A75B9A /* Debug */, - 13B07F951A680F5B00A75B9A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 143BC59D1B21E3E100462512 /* Build configuration list for PBXNativeTarget "UIExplorerIntegrationTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 143BC59E1B21E3E100462512 /* Debug */, - 143BC59F1B21E3E100462512 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2D4624DD1DA2EA6900C74D09 /* Build configuration list for PBXNativeTarget "UIExplorer-tvOSIntegrationTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2D4624DE1DA2EA6900C74D09 /* Debug */, - 2D4624DF1DA2EA6900C74D09 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2DD323DA1DA2DD8B000FE1B8 /* Build configuration list for PBXNativeTarget "UIExplorer-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2DD323AC1DA2DD8B000FE1B8 /* Debug */, - 2DD323AD1DA2DD8B000FE1B8 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2DD323DB1DA2DD8B000FE1B8 /* Build configuration list for PBXNativeTarget "UIExplorer-tvOSUnitTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2DD323AE1DA2DD8B000FE1B8 /* Debug */, - 2DD323AF1DA2DD8B000FE1B8 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 3D13F8411D6F6AE000E69E0E /* Build configuration list for PBXNativeTarget "UIExplorerBundle" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3D13F8421D6F6AE000E69E0E /* Debug */, - 3D13F8431D6F6AE000E69E0E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "UIExplorerLegacy" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 83CBBA201A601CBA00E9B192 /* Debug */, - 83CBBA211A601CBA00E9B192 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; -} diff --git a/Examples/UIExplorer/UIExplorerLegacy.xcodeproj/xcshareddata/xcschemes/UIExplorer-tvOS.xcscheme b/Examples/UIExplorer/UIExplorerLegacy.xcodeproj/xcshareddata/xcschemes/UIExplorer-tvOS.xcscheme deleted file mode 100644 index 2617c9c037fb..000000000000 --- a/Examples/UIExplorer/UIExplorerLegacy.xcodeproj/xcshareddata/xcschemes/UIExplorer-tvOS.xcscheme +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Examples/UIExplorer/UIExplorerLegacy.xcodeproj/xcshareddata/xcschemes/UIExplorer.xcscheme b/Examples/UIExplorer/UIExplorerLegacy.xcodeproj/xcshareddata/xcschemes/UIExplorer.xcscheme deleted file mode 100644 index a8956ef46f37..000000000000 --- a/Examples/UIExplorer/UIExplorerLegacy.xcodeproj/xcshareddata/xcschemes/UIExplorer.xcscheme +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Examples/UIExplorer/UIExplorerUnitTests/RCTConvert_YGValueTests.m b/Examples/UIExplorer/UIExplorerUnitTests/RCTConvert_YGValueTests.m deleted file mode 100644 index 299dc5b16989..000000000000 --- a/Examples/UIExplorer/UIExplorerUnitTests/RCTConvert_YGValueTests.m +++ /dev/null @@ -1,45 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import - -#import - -@interface RCTConvert_YGValueTests : XCTestCase - -@end - -@implementation RCTConvert_YGValueTests - -- (void)testUndefined -{ - YGValue value = [RCTConvert YGValue:nil]; - XCTAssertEqual(value.unit, YGUnitUndefined); -} - -- (void)testNumberPoints -{ - YGValue value = [RCTConvert YGValue:@100]; - XCTAssertEqual(value.unit, YGUnitPoint); - XCTAssertEqual(value.value, 100); -} - -- (void)testStringPercent -{ - YGValue value = [RCTConvert YGValue:@"100%"]; - XCTAssertEqual(value.unit, YGUnitPercent); - XCTAssertEqual(value.value, 100); -} - -@end diff --git a/Examples/UIExplorer/UIExplorerUnitTests/RCTDevMenuTests.m b/Examples/UIExplorer/UIExplorerUnitTests/RCTDevMenuTests.m deleted file mode 100644 index 958991913dc0..000000000000 --- a/Examples/UIExplorer/UIExplorerUnitTests/RCTDevMenuTests.m +++ /dev/null @@ -1,72 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import - -#import -#import -#import -#import - -typedef void(^RCTDevMenuAlertActionHandler)(UIAlertAction *action); - -@interface RCTDevMenu () - -- (RCTDevMenuAlertActionHandler)alertActionHandlerForDevItem:(RCTDevMenuItem *)item; - -@end - -@interface RCTDevMenuTests : XCTestCase - -@end - -@implementation RCTDevMenuTests -{ - RCTBridge *_bridge; -} - -- (void)setUp -{ - [super setUp]; - - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - _bridge = [[RCTBridge alloc] initWithBundleURL:[bundle URLForResource:@"UIExplorerUnitTestsBundle" withExtension:@"js"] - moduleProvider:nil - launchOptions:nil]; - - RCT_RUN_RUNLOOP_WHILE(_bridge.isLoading); -} - -- (void)testShowCreatingActionSheet -{ - XCTAssertFalse([_bridge.devMenu isActionSheetShown]); - [_bridge.devMenu show]; - XCTAssertTrue([_bridge.devMenu isActionSheetShown]); -} - -- (void)testClosingActionSheetAfterAction -{ - for (RCTDevMenuItem *item in _bridge.devMenu.presentedItems) { - RCTDevMenuAlertActionHandler handler = [_bridge.devMenu alertActionHandlerForDevItem:item]; - XCTAssertTrue([_bridge.devMenu isActionSheetShown]); - - handler(nil); - XCTAssertFalse([_bridge.devMenu isActionSheetShown]); - - [_bridge.devMenu show]; - XCTAssertTrue([_bridge.devMenu isActionSheetShown]); - } -} - -@end diff --git a/Examples/UIExplorer/UIExplorerUnitTests/RCTImageLoaderHelpers.h b/Examples/UIExplorer/UIExplorerUnitTests/RCTImageLoaderHelpers.h deleted file mode 100644 index f6641c378da6..000000000000 --- a/Examples/UIExplorer/UIExplorerUnitTests/RCTImageLoaderHelpers.h +++ /dev/null @@ -1,47 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import - -typedef BOOL (^RCTImageURLLoaderCanLoadImageURLHandler)(NSURL *requestURL); -typedef RCTImageLoaderCancellationBlock (^RCTImageURLLoaderLoadImageURLHandler)(NSURL *imageURL, CGSize size, CGFloat scale, RCTResizeMode resizeMode, RCTImageLoaderProgressBlock progressHandler, RCTImageLoaderCompletionBlock completionHandler); - -@interface RCTConcreteImageURLLoader : NSObject - -- (instancetype)initWithPriority:(float)priority - canLoadImageURLHandler:(RCTImageURLLoaderCanLoadImageURLHandler)canLoadImageURLHandler - loadImageURLHandler:(RCTImageURLLoaderLoadImageURLHandler)loadImageURLHandler; - -@end - -typedef BOOL (^RCTImageDataDecoderCanDecodeImageDataHandler)(NSData *imageData); -typedef RCTImageLoaderCancellationBlock (^RCTImageDataDecoderDecodeImageDataHandler)(NSData *imageData, CGSize size, CGFloat scale, RCTResizeMode resizeMode, RCTImageLoaderCompletionBlock completionHandler); - -@interface RCTConcreteImageDecoder : NSObject - -- (instancetype)initWithPriority:(float)priority - canDecodeImageDataHandler:(RCTImageDataDecoderCanDecodeImageDataHandler)canDecodeImageDataHandler - decodeImageDataHandler:(RCTImageDataDecoderDecodeImageDataHandler)decodeImageDataHandler; - -@end - -#define _RCTDefineImageHandler(SUPERCLASS, CLASS_NAME) \ -@interface CLASS_NAME : SUPERCLASS @end \ -@implementation CLASS_NAME RCT_EXPORT_MODULE() @end - -#define RCTDefineImageURLLoader(CLASS_NAME) \ -_RCTDefineImageHandler(RCTConcreteImageURLLoader, CLASS_NAME) - -#define RCTDefineImageDecoder(CLASS_NAME) \ -_RCTDefineImageHandler(RCTConcreteImageDecoder, CLASS_NAME) diff --git a/Examples/UIExplorer/UIExplorerUnitTests/RCTJSCExecutorTests.m b/Examples/UIExplorer/UIExplorerUnitTests/RCTJSCExecutorTests.m deleted file mode 100644 index 92118c3f6c74..000000000000 --- a/Examples/UIExplorer/UIExplorerUnitTests/RCTJSCExecutorTests.m +++ /dev/null @@ -1,49 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import - -#import - -#import - -@interface RCTJSCExecutorTests : XCTestCase - -@end - -@implementation RCTJSCExecutorTests -{ - RCTJSCExecutor *_executor; -} - -- (void)setUp -{ - [super setUp]; - _executor = [RCTJSCExecutor new]; - [_executor setUp]; -} - -- (void)testNativeLoggingHookExceptionBehavior -{ - dispatch_semaphore_t doneSem = dispatch_semaphore_create(0); - [_executor executeApplicationScript:[@"var x = {toString: function() { throw 1; }}; nativeLoggingHook(x);" dataUsingEncoding:NSUTF8StringEncoding] - sourceURL:[NSURL URLWithString:@"file://"] - onComplete:^(__unused id error){ - dispatch_semaphore_signal(doneSem); - }]; - dispatch_semaphore_wait(doneSem, DISPATCH_TIME_FOREVER); - [_executor invalidate]; -} - -@end diff --git a/Examples/UIExplorer/UIExplorerUnitTests/RCTModuleMethodTests.m b/Examples/UIExplorer/UIExplorerUnitTests/RCTModuleMethodTests.m deleted file mode 100644 index ddc8f97cbc70..000000000000 --- a/Examples/UIExplorer/UIExplorerUnitTests/RCTModuleMethodTests.m +++ /dev/null @@ -1,217 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import -#import - -#import -#import -#import - -static BOOL RCTLogsError(void (^block)(void)) -{ - __block BOOL loggedError = NO; - RCTPerformBlockWithLogFunction(block, ^(RCTLogLevel level, - __unused RCTLogSource source, - __unused NSString *fileName, - __unused NSNumber *lineNumber, - __unused NSString *message) { - loggedError = (level == RCTLogLevelError); - }); - return loggedError; -} - -@interface RCTModuleMethodTests : XCTestCase - -@end - -@implementation RCTModuleMethodTests -{ - CGRect _s; -} - -static RCTModuleMethod *buildDefaultMethodWithMethodSignature(NSString *methodSignature) { - return [[RCTModuleMethod alloc] initWithMethodSignature:methodSignature - JSMethodName:nil - isSync:NO - moduleClass:[RCTModuleMethodTests class]]; -} - -static RCTModuleMethod *buildSyncMethodWithMethodSignature(NSString *methodSignature) { - return [[RCTModuleMethod alloc] initWithMethodSignature:methodSignature - JSMethodName:nil - isSync:YES - moduleClass:[RCTModuleMethodTests class]]; -} - -+ (NSString *)moduleName { return nil; } - -- (void)doFoo { } - -- (void)doFooWithBar:(__unused NSString *)bar { } - -- (id)echoString:(NSString *)input { return input; } -- (id)methodThatReturnsNil { return nil; } - -- (void)testNonnull -{ - NSString *methodSignature = @"doFooWithBar:(nonnull NSString *)bar"; - RCTModuleMethod *method = buildDefaultMethodWithMethodSignature(methodSignature); - XCTAssertFalse(RCTLogsError(^{ - [method invokeWithBridge:nil module:self arguments:@[@"Hello World"]]; - })); - - XCTAssertTrue(RCTLogsError(^{ - [method invokeWithBridge:nil module:self arguments:@[[NSNull null]]]; - })); -} - -- (void)doFooWithNumber:(__unused NSNumber *)n { } -- (void)doFooWithDouble:(__unused double)n { } -- (void)doFooWithInteger:(__unused NSInteger)n { } -- (void)doFooWithCGRect:(CGRect)s { _s = s; } - -- (void)doFoo : (__unused NSString *)foo { } - -- (void)testNumbersNonnull -{ - { - // Specifying an NSNumber param without nonnull isn't allowed - XCTAssertTrue(RCTLogsError(^{ - NSString *methodSignature = @"doFooWithNumber:(NSNumber *)n"; - RCTModuleMethod *method = buildDefaultMethodWithMethodSignature(methodSignature); - // Invoke method to trigger parsing - [method invokeWithBridge:nil module:self arguments:@[@1]]; - })); - } - - { - NSString *methodSignature = @"doFooWithNumber:(nonnull NSNumber *)n"; - RCTModuleMethod *method = buildDefaultMethodWithMethodSignature(methodSignature); - XCTAssertTrue(RCTLogsError(^{ - [method invokeWithBridge:nil module:self arguments:@[[NSNull null]]]; - })); - } - - { - NSString *methodSignature = @"doFooWithDouble:(double)n"; - RCTModuleMethod *method = buildDefaultMethodWithMethodSignature(methodSignature); - XCTAssertTrue(RCTLogsError(^{ - [method invokeWithBridge:nil module:self arguments:@[[NSNull null]]]; - })); - } - - { - NSString *methodSignature = @"doFooWithInteger:(NSInteger)n"; - RCTModuleMethod *method = buildDefaultMethodWithMethodSignature(methodSignature); - XCTAssertTrue(RCTLogsError(^{ - [method invokeWithBridge:nil module:self arguments:@[[NSNull null]]]; - })); - } -} - -- (void)testStructArgument -{ - NSString *methodSignature = @"doFooWithCGRect:(CGRect)s"; - RCTModuleMethod *method = buildDefaultMethodWithMethodSignature(methodSignature); - - CGRect r = CGRectMake(10, 20, 30, 40); - [method invokeWithBridge:nil module:self arguments:@[@[@10, @20, @30, @40]]]; - XCTAssertTrue(CGRectEqualToRect(r, _s)); -} - -- (void)testWhitespaceTolerance -{ - NSString *methodSignature = @"doFoo : \t (NSString *)foo"; - - __block RCTModuleMethod *method; - XCTAssertFalse(RCTLogsError(^{ - method = buildDefaultMethodWithMethodSignature(methodSignature); - })); - - XCTAssertEqualObjects(method.JSMethodName, @"doFoo"); - - XCTAssertFalse(RCTLogsError(^{ - [method invokeWithBridge:nil module:self arguments:@[@"bar"]]; - })); -} - -- (void)testFunctionType -{ - { - NSString *methodSignature = @"doFoo"; - RCTModuleMethod *method = buildDefaultMethodWithMethodSignature(methodSignature); - XCTAssertTrue(method.functionType == RCTFunctionTypeNormal); - } - - { - NSString *methodSignature = @"openURL:(NSURL *)URL resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject"; - RCTModuleMethod *method = buildDefaultMethodWithMethodSignature(methodSignature); - XCTAssertTrue(method.functionType == RCTFunctionTypePromise); - } - - { - NSString *methodSignature = @"echoString:(NSString *)input"; - RCTModuleMethod *method = buildSyncMethodWithMethodSignature(methodSignature); - XCTAssertTrue(method.functionType == RCTFunctionTypeSync); - } -} - -- (void)testReturnsValueForSyncFunction -{ - { - NSString *methodSignature = @"echoString:(NSString *)input"; - RCTModuleMethod *method = buildSyncMethodWithMethodSignature(methodSignature); - id result = [method invokeWithBridge:nil module:self arguments:@[@"Test String Value"]]; - XCTAssertEqualObjects(result, @"Test String Value"); - } - - { - NSString *methodSignature = @"methodThatReturnsNil"; - RCTModuleMethod *method = buildSyncMethodWithMethodSignature(methodSignature); - id result = [method invokeWithBridge:nil module:self arguments:@[]]; - XCTAssertNil(result); - } -} - -- (void)testReturnsNilForDefaultFunction -{ - NSString *methodSignature = @"doFoo"; - RCTModuleMethod *method = buildDefaultMethodWithMethodSignature(methodSignature); - id result = [method invokeWithBridge:nil module:self arguments:@[]]; - XCTAssertNil(result); -} - -- (void)testReturnTypeForSyncFunction -{ - { - NSString *methodSignature = @"methodThatReturnsNil"; - RCTModuleMethod *method = buildSyncMethodWithMethodSignature(methodSignature); - XCTAssertFalse(RCTLogsError(^{ - // Invoke method to trigger parsing - __unused SEL selector = method.selector; - }), @"Unexpected error when parsing sync function with (id) return type"); - } - - { - NSString *methodSignature = @"doFoo"; - RCTModuleMethod *method = buildSyncMethodWithMethodSignature(methodSignature); - XCTAssertTrue(RCTLogsError(^{ - // Invoke method to trigger parsing - __unused SEL selector = method.selector; - }), @"Failed to trigger an error when parsing sync function with non-(id) return type"); - } -} - -@end diff --git a/Examples/UIExplorer/UIExplorerUnitTests/RCTMultipartStreamReaderTests.m b/Examples/UIExplorer/UIExplorerUnitTests/RCTMultipartStreamReaderTests.m deleted file mode 100644 index 6b8297a80703..000000000000 --- a/Examples/UIExplorer/UIExplorerUnitTests/RCTMultipartStreamReaderTests.m +++ /dev/null @@ -1,107 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#import - -#import - -@interface RCTMultipartStreamReaderTests : XCTestCase - -@end - -@implementation RCTMultipartStreamReaderTests - -- (void)testSimpleCase { - NSString *response = - @"preable, should be ignored\r\n" - @"--sample_boundary\r\n" - @"Content-Type: application/json; charset=utf-8\r\n" - @"Content-Length: 2\r\n\r\n" - @"{}\r\n" - @"--sample_boundary--\r\n" - @"epilogue, should be ignored"; - - NSInputStream *inputStream = [NSInputStream inputStreamWithData:[response dataUsingEncoding:NSUTF8StringEncoding]]; - RCTMultipartStreamReader *reader = [[RCTMultipartStreamReader alloc] initWithInputStream:inputStream boundary:@"sample_boundary"]; - __block NSInteger count = 0; - BOOL success = [reader readAllParts:^(NSDictionary *headers, NSData *content, BOOL done) { - XCTAssertTrue(done); - XCTAssertEqualObjects(headers[@"Content-Type"], @"application/json; charset=utf-8"); - XCTAssertEqualObjects([[NSString alloc] initWithData:content encoding:NSUTF8StringEncoding], @"{}"); - count++; - }]; - XCTAssertTrue(success); - XCTAssertEqual(count, 1); -} - -- (void)testMultipleParts { - NSString *response = - @"preable, should be ignored\r\n" - @"--sample_boundary\r\n" - @"1\r\n" - @"--sample_boundary\r\n" - @"2\r\n" - @"--sample_boundary\r\n" - @"3\r\n" - @"--sample_boundary--\r\n" - @"epilogue, should be ignored"; - - NSInputStream *inputStream = [NSInputStream inputStreamWithData:[response dataUsingEncoding:NSUTF8StringEncoding]]; - RCTMultipartStreamReader *reader = [[RCTMultipartStreamReader alloc] initWithInputStream:inputStream boundary:@"sample_boundary"]; - __block NSInteger count = 0; - BOOL success = [reader readAllParts:^(__unused NSDictionary *headers, NSData *content, BOOL done) { - count++; - XCTAssertEqual(done, count == 3); - NSString *expectedBody = [NSString stringWithFormat:@"%ld", (long)count]; - NSString *actualBody = [[NSString alloc] initWithData:content encoding:NSUTF8StringEncoding]; - XCTAssertEqualObjects(actualBody, expectedBody); - }]; - XCTAssertTrue(success); - XCTAssertEqual(count, 3); -} - -- (void)testNoDelimiter { - NSString *response = @"Yolo"; - - NSInputStream *inputStream = [NSInputStream inputStreamWithData:[response dataUsingEncoding:NSUTF8StringEncoding]]; - RCTMultipartStreamReader *reader = [[RCTMultipartStreamReader alloc] initWithInputStream:inputStream boundary:@"sample_boundary"]; - __block NSInteger count = 0; - BOOL success = [reader readAllParts:^(__unused NSDictionary *headers, __unused NSData *content, __unused BOOL done) { - count++; - }]; - XCTAssertFalse(success); - XCTAssertEqual(count, 0); -} - -- (void)testNoCloseDelimiter { - NSString *response = - @"preable, should be ignored\r\n" - @"--sample_boundary\r\n" - @"Content-Type: application/json; charset=utf-8\r\n" - @"Content-Length: 2\r\n\r\n" - @"{}\r\n" - @"--sample_boundary\r\n" - @"incomplete message..."; - - NSInputStream *inputStream = [NSInputStream inputStreamWithData:[response dataUsingEncoding:NSUTF8StringEncoding]]; - RCTMultipartStreamReader *reader = [[RCTMultipartStreamReader alloc] initWithInputStream:inputStream boundary:@"sample_boundary"]; - __block NSInteger count = 0; - BOOL success = [reader readAllParts:^(__unused NSDictionary *headers, __unused NSData *content, __unused BOOL done) { - count++; - }]; - XCTAssertFalse(success); - XCTAssertEqual(count, 1); -} - -@end diff --git a/Examples/UIExplorer/UIExplorerUnitTests/UIExplorerUnitTestsBundle.js b/Examples/UIExplorer/UIExplorerUnitTests/UIExplorerUnitTestsBundle.js deleted file mode 100644 index 0e1e63333a24..000000000000 --- a/Examples/UIExplorer/UIExplorerUnitTests/UIExplorerUnitTestsBundle.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule UIExplorerUnitTestsBundle - */ -'use strict'; - -const __fbBatchedBridge = { // eslint-disable-line no-unused-vars - flushedQueue: function() { - return null; - } -}; diff --git a/Examples/UIExplorer/android/app/BUCK b/Examples/UIExplorer/android/app/BUCK deleted file mode 100644 index e1005c72ba1e..000000000000 --- a/Examples/UIExplorer/android/app/BUCK +++ /dev/null @@ -1,32 +0,0 @@ -include_defs("//ReactAndroid/DEFS") - -android_binary( - name = "app", - keystore = "//keystores:debug", - manifest = "src/main/AndroidManifest.xml", - deps = [ - ":uiexplorer-lib", - ], -) - -android_library( - name = "uiexplorer-lib", - srcs = glob(["src/main/java/**/*.java"]), - deps = [ - ":res", - react_native_dep("third-party/android/support/v4:lib-support-v4"), - react_native_dep("third-party/java/jsr-305:jsr-305"), - react_native_target("java/com/facebook/react:react"), - react_native_target("java/com/facebook/react/modules/core:core"), - react_native_target("java/com/facebook/react/shell:shell"), - react_native_target("jni/prebuilt:android-jsc"), - # .so files are prebuilt by Gradle with `./gradlew :ReactAndroid:packageReactNdkLibsForBuck` - react_native_target("jni/prebuilt:reactnative-libs"), - ], -) - -android_resource( - name = "res", - package = "com.facebook.react.uiapp", - res = "src/main/res", -) diff --git a/Examples/UIExplorer/android/app/src/main/java/com/facebook/react/uiapp/UIExplorerActivity.java b/Examples/UIExplorer/android/app/src/main/java/com/facebook/react/uiapp/UIExplorerActivity.java deleted file mode 100644 index e7b7f2e185a4..000000000000 --- a/Examples/UIExplorer/android/app/src/main/java/com/facebook/react/uiapp/UIExplorerActivity.java +++ /dev/null @@ -1,66 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -package com.facebook.react.uiapp; - -import android.app.Activity; -import android.os.Bundle; - -import com.facebook.react.ReactActivity; -import com.facebook.react.ReactActivityDelegate; - -import javax.annotation.Nullable; - -public class UIExplorerActivity extends ReactActivity { - public static class UIExplorerActivityDelegate extends ReactActivityDelegate { - private static final String PARAM_ROUTE = "route"; - private Bundle mInitialProps = null; - private final @Nullable Activity mActivity; - - public UIExplorerActivityDelegate(Activity activity, String mainComponentName) { - super(activity, mainComponentName); - this.mActivity = activity; - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - // Get remote param before calling super which uses it - Bundle bundle = mActivity.getIntent().getExtras(); - if (bundle != null && bundle.containsKey(PARAM_ROUTE)) { - String routeUri = new StringBuilder("rnuiexplorer://example/") - .append(bundle.getString(PARAM_ROUTE)) - .append("Example") - .toString(); - mInitialProps = new Bundle(); - mInitialProps.putString("exampleFromAppetizeParams", routeUri); - } - super.onCreate(savedInstanceState); - } - - @Override - protected Bundle getLaunchOptions() { - return mInitialProps; - } - } - - @Override - protected ReactActivityDelegate createReactActivityDelegate() { - return new UIExplorerActivityDelegate(this, getMainComponentName()); - } - - @Override - protected String getMainComponentName() { - return "UIExplorerApp"; - } -} diff --git a/Examples/UIExplorer/android/app/src/main/java/com/facebook/react/uiapp/UIExplorerApplication.java b/Examples/UIExplorer/android/app/src/main/java/com/facebook/react/uiapp/UIExplorerApplication.java deleted file mode 100644 index 897f9489dbde..000000000000 --- a/Examples/UIExplorer/android/app/src/main/java/com/facebook/react/uiapp/UIExplorerApplication.java +++ /dev/null @@ -1,58 +0,0 @@ -/** - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -package com.facebook.react.uiapp; - -import android.app.Application; - -import com.facebook.react.ReactApplication; -import com.facebook.react.ReactNativeHost; -import com.facebook.react.ReactPackage; -import com.facebook.react.shell.MainReactPackage; - -import java.util.Arrays; -import java.util.List; - -import javax.annotation.Nullable; - -public class UIExplorerApplication extends Application implements ReactApplication { - private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { - @Override - public String getJSMainModuleName() { - return "Examples/UIExplorer/js/UIExplorerApp.android"; - } - - @Override - public @Nullable String getBundleAssetName() { - return "UIExplorerApp.android.bundle"; - } - - @Override - public boolean getUseDeveloperSupport() { - return true; - } - - @Override - public List getPackages() { - return Arrays.asList( - new MainReactPackage() - ); - } - }; - - @Override - public ReactNativeHost getReactNativeHost() { - return mReactNativeHost; - } -}; diff --git a/Examples/UIExplorer/android/app/src/main/res/values/strings.xml b/Examples/UIExplorer/android/app/src/main/res/values/strings.xml deleted file mode 100644 index 0b8cb6bc3cb4..000000000000 --- a/Examples/UIExplorer/android/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - UIExplorer App - diff --git a/Examples/UIExplorer/js/AdSupportIOSExample.js b/Examples/UIExplorer/js/AdSupportIOSExample.js deleted file mode 100644 index 5410b3d41b65..000000000000 --- a/Examples/UIExplorer/js/AdSupportIOSExample.js +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule AdSupportIOSExample - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); -var { - AdSupportIOS, - StyleSheet, - Text, - View, -} = ReactNative; - -exports.framework = 'React'; -exports.title = 'Advertising ID'; -exports.description = 'Example of using the ad support API.'; - -exports.examples = [ - { - title: 'Ad Support IOS', - render: function(): React.Element { - return ; - }, - } -]; - -class AdSupportIOSExample extends React.Component { - state = { - deviceID: 'No IDFA yet', - hasAdvertiserTracking: 'unset', - }; - - componentDidMount() { - AdSupportIOS.getAdvertisingId( - this._onDeviceIDSuccess, - this._onDeviceIDFailure - ); - - AdSupportIOS.getAdvertisingTrackingEnabled( - this._onHasTrackingSuccess, - this._onHasTrackingFailure - ); - } - - _onHasTrackingSuccess = (hasTracking) => { - this.setState({ - 'hasAdvertiserTracking': hasTracking, - }); - }; - - _onHasTrackingFailure = (e) => { - this.setState({ - 'hasAdvertiserTracking': 'Error!', - }); - }; - - _onDeviceIDSuccess = (deviceID) => { - this.setState({ - 'deviceID': deviceID, - }); - }; - - _onDeviceIDFailure = (e) => { - this.setState({ - 'deviceID': 'Error!', - }); - }; - - render() { - return ( - - - Advertising ID: - {JSON.stringify(this.state.deviceID)} - - - Has Advertiser Tracking: - {JSON.stringify(this.state.hasAdvertiserTracking)} - - - ); - } -} - -var styles = StyleSheet.create({ - title: { - fontWeight: '500', - }, -}); diff --git a/Examples/UIExplorer/js/AssetScaledImageExample.js b/Examples/UIExplorer/js/AssetScaledImageExample.js deleted file mode 100644 index 8b7349e06e7c..000000000000 --- a/Examples/UIExplorer/js/AssetScaledImageExample.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule AssetScaledImageExample - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); -var { - Image, - StyleSheet, - View, - ScrollView -} = ReactNative; - -class AssetScaledImageExample extends React.Component { - state = { - asset: this.props.asset - }; - - render() { - var image = this.state.asset.node.image; - return ( - - - - - - - - - - - - - - - ); - } -} - -var styles = StyleSheet.create({ - row: { - padding: 5, - flex: 1, - flexDirection: 'row', - alignSelf: 'center', - }, - textColumn: { - flex: 1, - flexDirection: 'column', - }, - imageWide: { - borderWidth: 1, - borderColor: 'black', - width: 320, - height: 240, - margin: 5, - }, - imageThumb: { - borderWidth: 1, - borderColor: 'black', - width: 100, - height: 100, - margin: 5, - }, - imageT1: { - borderWidth: 1, - borderColor: 'black', - width: 212, - height: 320, - margin: 5, - }, - imageT2: { - borderWidth: 1, - borderColor: 'black', - width: 100, - height: 320, - margin: 5, - }, -}); - -exports.title = ''; -exports.description = 'Example component that displays the automatic scaling capabilities of the tag'; -module.exports = AssetScaledImageExample; diff --git a/Examples/UIExplorer/js/CameraRollExample.js b/Examples/UIExplorer/js/CameraRollExample.js deleted file mode 100644 index 45627eb1e5e2..000000000000 --- a/Examples/UIExplorer/js/CameraRollExample.js +++ /dev/null @@ -1,154 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule CameraRollExample - * @format - */ -'use strict'; - -const React = require('react'); -const ReactNative = require('react-native'); -const { - CameraRoll, - Image, - Slider, - StyleSheet, - Switch, - Text, - View, - TouchableOpacity, -} = ReactNative; - -const invariant = require('fbjs/lib/invariant'); - -const CameraRollView = require('./CameraRollView'); - -const AssetScaledImageExampleView = require('./AssetScaledImageExample'); - -class CameraRollExample extends React.Component { - state = { - groupTypes: 'SavedPhotos', - sliderValue: 1, - bigImages: true, - }; - _cameraRollView: ?CameraRollView; - render() { - return ( - - - {(this.state.bigImages ? 'Big' : 'Small') + ' Images'} - - {'Group Type: ' + this.state.groupTypes} - { - this._cameraRollView = ref; - }} - batchSize={20} - groupTypes={this.state.groupTypes} - renderImage={this._renderImage} - /> - - ); - } - - loadAsset(asset) { - if (this.props.navigator) { - this.props.navigator.push({ - title: 'Camera Roll Image', - component: AssetScaledImageExampleView, - backButtonTitle: 'Back', - passProps: {asset: asset}, - }); - } - } - - _renderImage = asset => { - const imageSize = this.state.bigImages ? 150 : 75; - const imageStyle = [styles.image, {width: imageSize, height: imageSize}]; - const {location} = asset.node; - const locationStr = location - ? JSON.stringify(location) - : 'Unknown location'; - return ( - - - - - {asset.node.image.uri} - {locationStr} - {asset.node.group_name} - {new Date(asset.node.timestamp).toString()} - - - - ); - }; - - _onSliderChange = value => { - const options = Object.keys(CameraRoll.GroupTypesOptions); - const index = Math.floor(value * options.length * 0.99); - const groupTypes = options[index]; - if (groupTypes !== this.state.groupTypes) { - this.setState({groupTypes: groupTypes}); - } - }; - - _onSwitchChange = value => { - invariant(this._cameraRollView, 'ref should be set'); - this._cameraRollView.rendererChanged(); - this.setState({bigImages: value}); - }; -} - -const styles = StyleSheet.create({ - row: { - flexDirection: 'row', - flex: 1, - }, - url: { - fontSize: 9, - marginBottom: 14, - }, - image: { - margin: 4, - }, - info: { - flex: 1, - }, -}); - -exports.title = 'Camera Roll'; -exports.description = - "Example component that uses CameraRoll to list user's photos"; -exports.examples = [ - { - title: 'Photos', - render(): React.Element { - return ; - }, - }, -]; diff --git a/Examples/UIExplorer/js/ClipboardExample.js b/Examples/UIExplorer/js/ClipboardExample.js deleted file mode 100644 index 56c58930237a..000000000000 --- a/Examples/UIExplorer/js/ClipboardExample.js +++ /dev/null @@ -1,72 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule ClipboardExample - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); -var { - Clipboard, - View, - Text, -} = ReactNative; - -class ClipboardExample extends React.Component { - state = { - content: 'Content will appear here' - }; - - _setClipboardContent = async () => { - Clipboard.setString('Hello World'); - try { - var content = await Clipboard.getString(); - this.setState({content}); - } catch (e) { - this.setState({content:e.message}); - } - }; - - render() { - return ( - - - Tap to put "Hello World" in the clipboard - - - {this.state.content} - - - ); - } -} - -exports.title = 'Clipboard'; -exports.description = 'Show Clipboard contents.'; -exports.examples = [ - { - title: 'Clipboard.setString() and getString()', - render() { - return ; - } - } -]; diff --git a/Examples/UIExplorer/js/DatePickerAndroidExample.js b/Examples/UIExplorer/js/DatePickerAndroidExample.js deleted file mode 100644 index 8996471a6fdf..000000000000 --- a/Examples/UIExplorer/js/DatePickerAndroidExample.js +++ /dev/null @@ -1,146 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * @providesModule DatePickerAndroidExample - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); -var { - DatePickerAndroid, - StyleSheet, - Text, - TouchableWithoutFeedback, -} = ReactNative; - -var UIExplorerBlock = require('./UIExplorerBlock'); -var UIExplorerPage = require('./UIExplorerPage'); - -class DatePickerAndroidExample extends React.Component { - static title = 'DatePickerAndroid'; - static description = 'Standard Android date picker dialog'; - - state = { - presetDate: new Date(2020, 4, 5), - simpleDate: new Date(2020, 4, 5), - spinnerDate: new Date(2020, 4, 5), - calendarDate: new Date(2020, 4, 5), - defaultDate: new Date(2020, 4, 5), - allDate: new Date(2020, 4, 5), - simpleText: 'pick a date', - spinnerText: 'pick a date', - calendarText: 'pick a date', - defaultText: 'pick a date', - minText: 'pick a date, no earlier than today', - maxText: 'pick a date, no later than today', - presetText: 'pick a date, preset to 2020/5/5', - allText: 'pick a date between 2020/5/1 and 2020/5/10', - }; - - showPicker = async (stateKey, options) => { - try { - var newState = {}; - const {action, year, month, day} = await DatePickerAndroid.open(options); - if (action === DatePickerAndroid.dismissedAction) { - newState[stateKey + 'Text'] = 'dismissed'; - } else { - var date = new Date(year, month, day); - newState[stateKey + 'Text'] = date.toLocaleDateString(); - newState[stateKey + 'Date'] = date; - } - this.setState(newState); - } catch ({code, message}) { - console.warn(`Error in example '${stateKey}': `, message); - } - }; - - render() { - return ( - - - - {this.state.simpleText} - - - - - {this.state.spinnerText} - - - - - {this.state.calendarText} - - - - - {this.state.defaultText} - - - - - {this.state.presetText} - - - - - {this.state.minText} - - - - - {this.state.maxText} - - - - - {this.state.allText} - - - - ); - } -} - -var styles = StyleSheet.create({ - text: { - color: 'black', - }, -}); - -module.exports = DatePickerAndroidExample; diff --git a/Examples/UIExplorer/js/ExampleTypes.js b/Examples/UIExplorer/js/ExampleTypes.js deleted file mode 100644 index 76ec2dfa3467..000000000000 --- a/Examples/UIExplorer/js/ExampleTypes.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @providesModule ExampleTypes - * @flow - */ -'use strict'; - -import type React from 'react'; - -export type Example = { - title: string, - render: () => ?React.Element, - description?: string, - platform?: string, -}; - -export type ExampleModule = { - title: string, - description: string, - examples: Array, -}; diff --git a/Examples/UIExplorer/js/GeolocationExample.js b/Examples/UIExplorer/js/GeolocationExample.js deleted file mode 100644 index e8ab9bab4423..000000000000 --- a/Examples/UIExplorer/js/GeolocationExample.js +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule GeolocationExample - */ -/* eslint no-console: 0 */ -'use strict'; - - -var React = require('react'); -var ReactNative = require('react-native'); -var { - StyleSheet, - Text, - View, -} = ReactNative; - -exports.framework = 'React'; -exports.title = 'Geolocation'; -exports.description = 'Examples of using the Geolocation API.'; - -exports.examples = [ - { - title: 'navigator.geolocation', - render: function(): React.Element { - return ; - }, - } -]; - -class GeolocationExample extends React.Component { - state = { - initialPosition: 'unknown', - lastPosition: 'unknown', - }; - - watchID: ?number = null; - - componentDidMount() { - navigator.geolocation.getCurrentPosition( - (position) => { - var initialPosition = JSON.stringify(position); - this.setState({initialPosition}); - }, - (error) => alert(JSON.stringify(error)), - {enableHighAccuracy: true, timeout: 20000, maximumAge: 1000} - ); - this.watchID = navigator.geolocation.watchPosition((position) => { - var lastPosition = JSON.stringify(position); - this.setState({lastPosition}); - }); - } - - componentWillUnmount() { - this.watchID != null && navigator.geolocation.clearWatch(this.watchID); - } - - render() { - return ( - - - Initial position: - {this.state.initialPosition} - - - Current position: - {this.state.lastPosition} - - - ); - } -} - -var styles = StyleSheet.create({ - title: { - fontWeight: '500', - }, -}); diff --git a/Examples/UIExplorer/js/ImageCapInsetsExample.js b/Examples/UIExplorer/js/ImageCapInsetsExample.js deleted file mode 100644 index 513a521eecb0..000000000000 --- a/Examples/UIExplorer/js/ImageCapInsetsExample.js +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @providesModule ImageCapInsetsExample - * @flow - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); - -var nativeImageSource = require('nativeImageSource'); -var { - Image, - StyleSheet, - Text, - View, -} = ReactNative; - -class ImageCapInsetsExample extends React.Component { - render() { - return ( - - - - capInsets: none - - - - - - capInsets: 15 - - - - - ); - } -} - -var styles = StyleSheet.create({ - background: { - backgroundColor: '#F6F6F6', - justifyContent: 'center', - alignItems: 'center', - }, - horizontal: { - flexDirection: 'row', - }, - storyBackground: { - width: 250, - height: 150, - borderWidth: 1, - }, - text: { - fontSize: 13.5, - } -}); - -module.exports = ImageCapInsetsExample; diff --git a/Examples/UIExplorer/js/ImageEditingExample.js b/Examples/UIExplorer/js/ImageEditingExample.js deleted file mode 100644 index dc6953e1e65c..000000000000 --- a/Examples/UIExplorer/js/ImageEditingExample.js +++ /dev/null @@ -1,331 +0,0 @@ -/* - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule ImageEditingExample - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); -var { - CameraRoll, - Image, - ImageEditor, - Platform, - ScrollView, - StyleSheet, - Text, - TouchableHighlight, - View, -} = ReactNative; - -var PAGE_SIZE = 20; - -type ImageOffset = { - x: number; - y: number; -}; - -type ImageSize = { - width: number; - height: number; -}; - -type ImageCropData = { - offset: ImageOffset; - size: ImageSize; - displaySize?: ?ImageSize; - resizeMode?: ?any; -}; - -class SquareImageCropper extends React.Component { - state: any; - _isMounted: boolean; - _transformData: ImageCropData; - - constructor(props) { - super(props); - this._isMounted = true; - this.state = { - randomPhoto: null, - measuredSize: null, - croppedImageURI: null, - cropError: null, - }; - this._fetchRandomPhoto(); - } - - async _fetchRandomPhoto() { - try { - const data = await CameraRoll.getPhotos({first: PAGE_SIZE}); - if (!this._isMounted) { - return; - } - var edges = data.edges; - var edge = edges[Math.floor(Math.random() * edges.length)]; - var randomPhoto = edge && edge.node && edge.node.image; - if (randomPhoto) { - this.setState({randomPhoto}); - } - } catch (error) { - console.warn("Can't get a photo from camera roll", error); - } - } - - componentWillUnmount() { - this._isMounted = false; - } - - render() { - if (!this.state.measuredSize) { - return ( - { - var measuredWidth = event.nativeEvent.layout.width; - if (!measuredWidth) { - return; - } - this.setState({ - measuredSize: {width: measuredWidth, height: measuredWidth}, - }); - }} - /> - ); - } - - if (!this.state.croppedImageURI) { - return this._renderImageCropper(); - } - return this._renderCroppedImage(); - } - - _renderImageCropper() { - if (!this.state.randomPhoto) { - return ( - - ); - } - var error = null; - if (this.state.cropError) { - error = ( - {this.state.cropError.message} - ); - } - return ( - - Drag the image within the square to crop: - this._transformData = data} - /> - - - - Crop - - - - {error} - - ); - } - - _renderCroppedImage() { - return ( - - Here is the cropped image: - - - - - Try again - - - - - ); - } - - _crop() { - ImageEditor.cropImage( - this.state.randomPhoto.uri, - this._transformData, - (croppedImageURI) => this.setState({croppedImageURI}), - (cropError) => this.setState({cropError}) - ); - } - - _reset() { - this.setState({ - randomPhoto: null, - croppedImageURI: null, - cropError: null, - }); - this._fetchRandomPhoto(); - } - -} - -class ImageCropper extends React.Component { - _contentOffset: ImageOffset; - _maximumZoomScale: number; - _minimumZoomScale: number; - _scaledImageSize: ImageSize; - _horizontal: boolean; - - componentWillMount() { - // Scale an image to the minimum size that is large enough to completely - // fill the crop box. - var widthRatio = this.props.image.width / this.props.size.width; - var heightRatio = this.props.image.height / this.props.size.height; - this._horizontal = widthRatio > heightRatio; - if (this._horizontal) { - this._scaledImageSize = { - width: this.props.image.width / heightRatio, - height: this.props.size.height, - }; - } else { - this._scaledImageSize = { - width: this.props.size.width, - height: this.props.image.height / widthRatio, - }; - if (Platform.OS === 'android') { - // hack to work around Android ScrollView a) not supporting zoom, and - // b) not supporting vertical scrolling when nested inside another - // vertical ScrollView (which it is, when displayed inside UIExplorer) - this._scaledImageSize.width *= 2; - this._scaledImageSize.height *= 2; - this._horizontal = true; - } - } - this._contentOffset = { - x: (this._scaledImageSize.width - this.props.size.width) / 2, - y: (this._scaledImageSize.height - this.props.size.height) / 2, - }; - this._maximumZoomScale = Math.min( - this.props.image.width / this._scaledImageSize.width, - this.props.image.height / this._scaledImageSize.height - ); - this._minimumZoomScale = Math.max( - this.props.size.width / this._scaledImageSize.width, - this.props.size.height / this._scaledImageSize.height - ); - this._updateTransformData( - this._contentOffset, - this._scaledImageSize, - this.props.size - ); - } - - _onScroll(event) { - this._updateTransformData( - event.nativeEvent.contentOffset, - event.nativeEvent.contentSize, - event.nativeEvent.layoutMeasurement - ); - } - - _updateTransformData(offset, scaledImageSize, croppedImageSize) { - var offsetRatioX = offset.x / scaledImageSize.width; - var offsetRatioY = offset.y / scaledImageSize.height; - var sizeRatioX = croppedImageSize.width / scaledImageSize.width; - var sizeRatioY = croppedImageSize.height / scaledImageSize.height; - - var cropData: ImageCropData = { - offset: { - x: this.props.image.width * offsetRatioX, - y: this.props.image.height * offsetRatioY, - }, - size: { - width: this.props.image.width * sizeRatioX, - height: this.props.image.height * sizeRatioY, - }, - }; - this.props.onTransformDataChange && this.props.onTransformDataChange(cropData); - } - - render() { - return ( - - - - ); - } - -} - -exports.framework = 'React'; -exports.title = 'ImageEditor'; -exports.description = 'Cropping and scaling with ImageEditor'; -exports.examples = [{ - title: 'Image Cropping', - render() { - return ; - } -}]; - -var styles = StyleSheet.create({ - container: { - flex: 1, - alignSelf: 'stretch', - }, - imageCropper: { - alignSelf: 'center', - marginTop: 12, - }, - cropButtonTouchable: { - alignSelf: 'center', - marginTop: 12, - }, - cropButton: { - padding: 12, - backgroundColor: 'blue', - borderRadius: 4, - }, - cropButtonLabel: { - color: 'white', - fontSize: 16, - fontWeight: '500', - }, -}); diff --git a/Examples/UIExplorer/js/LinkingExample.js b/Examples/UIExplorer/js/LinkingExample.js deleted file mode 100644 index 0bda4bb350a1..000000000000 --- a/Examples/UIExplorer/js/LinkingExample.js +++ /dev/null @@ -1,98 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * @providesModule LinkingExample - */ -'use strict'; - -var React = require('react'); -var PropTypes = require('prop-types'); -var ReactNative = require('react-native'); -var { - Linking, - StyleSheet, - Text, - TouchableOpacity, - View, -} = ReactNative; -var UIExplorerBlock = require('./UIExplorerBlock'); - -class OpenURLButton extends React.Component { - static propTypes = { - url: PropTypes.string, - }; - - handleClick = () => { - Linking.canOpenURL(this.props.url).then(supported => { - if (supported) { - Linking.openURL(this.props.url); - } else { - console.log('Don\'t know how to open URI: ' + this.props.url); - } - }); - }; - - render() { - return ( - - - Open {this.props.url} - - - ); - } -} - -class IntentAndroidExample extends React.Component { - static title = 'Linking'; - static description = 'Shows how to use Linking to open URLs.'; - - render() { - return ( - - - - - - - - - ); - } -} - -var styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: 'white', - padding: 10, - paddingTop: 30, - }, - button: { - padding: 10, - backgroundColor: '#3B5998', - marginBottom: 10, - }, - text: { - color: 'white', - }, -}); - -module.exports = IntentAndroidExample; diff --git a/Examples/UIExplorer/js/NativeAnimationsExample.js b/Examples/UIExplorer/js/NativeAnimationsExample.js deleted file mode 100644 index d9550530ed85..000000000000 --- a/Examples/UIExplorer/js/NativeAnimationsExample.js +++ /dev/null @@ -1,493 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule NativeAnimationsExample - */ -'use strict'; - -const React = require('react'); -const ReactNative = require('react-native'); -const { - View, - Text, - Animated, - StyleSheet, - TouchableWithoutFeedback, - Slider, -} = ReactNative; - -var AnimatedSlider = Animated.createAnimatedComponent(Slider); - -class Tester extends React.Component { - state = { - native: new Animated.Value(0), - js: new Animated.Value(0), - }; - - current = 0; - - onPress = () => { - const animConfig = ( - this.current && this.props.reverseConfig ? this.props.reverseConfig : this.props.config - ); - this.current = this.current ? 0 : 1; - const config: Object = { - ...animConfig, - toValue: this.current, - }; - - Animated[this.props.type](this.state.native, { ...config, useNativeDriver: true }).start(); - Animated[this.props.type](this.state.js, { ...config, useNativeDriver: false }).start(); - }; - - render() { - return ( - - - - Native: - - - {this.props.children(this.state.native)} - - - JavaScript: - - - {this.props.children(this.state.js)} - - - - ); - } -} - -class ValueListenerExample extends React.Component { - state = { - anim: new Animated.Value(0), - progress: 0, - }; - _current = 0; - - componentDidMount() { - this.state.anim.addListener((e) => this.setState({ progress: e.value })); - } - - componentWillUnmount() { - this.state.anim.removeAllListeners(); - } - - _onPress = () => { - this._current = this._current ? 0 : 1; - const config = { - duration: 1000, - toValue: this._current, - }; - - Animated.timing(this.state.anim, { ...config, useNativeDriver: true }).start(); - }; - - render() { - return ( - - - - - - Value: {this.state.progress} - - - ); - } -} - -const UIExplorerSettingSwitchRow = require('UIExplorerSettingSwitchRow'); -class InternalSettings extends React.Component { - _stallInterval: ?number; - state: {busyTime: number | string, filteredStall: number}; - render() { - return ( - - { - this._stallInterval = setInterval(() => { - const start = Date.now(); - console.warn('burn CPU'); - while ((Date.now() - start) < 100) {} - }, 300); - }} - onDisable={() => { - clearInterval(this._stallInterval || 0); - }} - /> - { - require('JSEventLoopWatchdog').install({thresholdMS: 25}); - this.setState({busyTime: ''}); - require('JSEventLoopWatchdog').addHandler({ - onStall: ({busyTime}) => this.setState((state) => ({ - busyTime, - filteredStall: (state.filteredStall || 0) * 0.97 + busyTime * 0.03, - })), - }); - }} - onDisable={() => { - console.warn('Cannot disable yet....'); - }} - /> - {this.state && - JS Stall filtered: {Math.round(this.state.filteredStall)}, last: {this.state.busyTime} - } - - ); - } -} - -class EventExample extends React.Component { - state = { - scrollX: new Animated.Value(0), - }; - - render() { - const opacity = this.state.scrollX.interpolate({ - inputRange: [0, 200], - outputRange: [1, 0], - }); - return ( - - - - - Scroll me! - - - - ); - } -} - -const styles = StyleSheet.create({ - row: { - padding: 10, - zIndex: 1, - }, - block: { - width: 50, - height: 50, - backgroundColor: 'blue', - }, -}); - -exports.framework = 'React'; -exports.title = 'Native Animated Example'; -exports.description = 'Test out Native Animations'; - -exports.examples = [ -{ - title: 'Multistage With Multiply and rotation', - render: function() { - return ( - - {anim => ( - - )} - - ); - }, - }, - { - title: 'Multistage With Multiply', - render: function() { - return ( - - {anim => ( - - )} - - ); - }, - }, - { - title: 'Scale interpolation with clamping', - render: function() { - return ( - - {anim => ( - - )} - - ); - }, - }, - { - title: 'Opacity with delay', - render: function() { - return ( - - {anim => ( - - )} - - ); - }, - }, - { - title: 'Rotate interpolation', - render: function() { - return ( - - {anim => ( - - )} - - ); - }, - }, - { - title: 'translateX => Animated.spring', - render: function() { - return ( - - {anim => ( - - )} - - ); - }, - },{ - title: 'translateX => Animated.decay', - render: function() { - return ( - - {anim => ( - - )} - - ); - }, - },{ - title: 'Drive custom property', - render: function() { - return ( - - {anim => ( - - )} - - ); - }, - }, - { - title: 'Animated value listener', - render: function() { - return ( - - ); - }, - }, - { - title: 'Animated events', - render: function() { - return ( - - ); - }, - }, - { - title: 'Internal Settings', - render: function() { - return ( - - ); - }, - }, -]; diff --git a/Examples/UIExplorer/js/NavigatorIOSColorsExample.js b/Examples/UIExplorer/js/NavigatorIOSColorsExample.js deleted file mode 100644 index 18ef3010dc35..000000000000 --- a/Examples/UIExplorer/js/NavigatorIOSColorsExample.js +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * @providesModule NavigatorIOSColorsExample - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); -var { - NavigatorIOS, - StatusBar, - StyleSheet, - Text, - View -} = ReactNative; - -class EmptyPage extends React.Component { - render() { - return ( - - - {this.props.text} - - - ); - } -} - -class NavigatorIOSColors extends React.Component { - static title = ' - Custom'; - static description = 'iOS navigation with custom nav bar colors'; - - render() { - // Set StatusBar with light contents to get better contrast - StatusBar.setBarStyle('light-content'); - - return ( - ', - rightButtonTitle: 'Done', - onRightButtonPress: () => { - StatusBar.setBarStyle('default'); - this.props.onExampleExit(); - }, - passProps: { - text: 'The nav bar has custom colors with tintColor, ' + - 'barTintColor and titleTextColor props.', - }, - }} - tintColor="#FFFFFF" - barTintColor="#183E63" - titleTextColor="#FFFFFF" - translucent={true} - /> - ); - } -} - -var styles = StyleSheet.create({ - container: { - flex: 1, - }, - emptyPage: { - flex: 1, - paddingTop: 64, - }, - emptyPageText: { - margin: 10, - }, -}); - -NavigatorIOSColors.external = true; - -module.exports = NavigatorIOSColors; diff --git a/Examples/UIExplorer/js/OrientationChangeExample.js b/Examples/UIExplorer/js/OrientationChangeExample.js deleted file mode 100644 index 1bcb767c72a7..000000000000 --- a/Examples/UIExplorer/js/OrientationChangeExample.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @providesModule OrientationChangeExample - * @flow - */ -'use strict'; - -const React = require('react'); -const ReactNative = require('react-native'); -const { - DeviceEventEmitter, - Text, - View, -} = ReactNative; - -import type EmitterSubscription from 'EmitterSubscription'; - -class OrientationChangeExample extends React.Component { - _orientationSubscription: EmitterSubscription; - - state = { - currentOrientation: '', - orientationDegrees: 0, - isLandscape: false, - }; - - componentDidMount() { - this._orientationSubscription = DeviceEventEmitter.addListener( - 'namedOrientationDidChange', this._onOrientationChange, - ); - } - - componentWillUnmount() { - this._orientationSubscription.remove(); - } - - _onOrientationChange = (orientation: Object) => { - this.setState({ - currentOrientation: orientation.name, - orientationDegrees: orientation.rotationDegrees, - isLandscape: orientation.isLandscape, - }); - } - - render() { - return ( - - {JSON.stringify(this.state)} - - ); - } -} - -exports.title = 'OrientationChangeExample'; -exports.description = 'listening to orientation changes'; -exports.examples = [ - { - title: 'OrientationChangeExample', - description: 'listening to device orientation changes', - render() { return ; }, - }, -]; diff --git a/Examples/UIExplorer/js/PickerExample.js b/Examples/UIExplorer/js/PickerExample.js deleted file mode 100644 index c5bf301032c9..000000000000 --- a/Examples/UIExplorer/js/PickerExample.js +++ /dev/null @@ -1,142 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule PickerExample - */ -'use strict'; - -const React = require('react'); -const ReactNative = require('react-native'); -const StyleSheet = require('StyleSheet'); -const UIExplorerBlock = require('UIExplorerBlock'); -const UIExplorerPage = require('UIExplorerPage'); - -const { - Picker, - Text, -} = ReactNative; - -const Item = Picker.Item; - -class PickerExample extends React.Component { - static title = ''; - static description = 'Provides multiple options to choose from, using either a dropdown menu or a dialog.'; - - state = { - selected1: 'key1', - selected2: 'key1', - selected3: 'key1', - color: 'red', - mode: Picker.MODE_DIALOG, - }; - - render() { - return ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cannot change the value of this picker because it doesn't update selectedValue. - - - - - - - - - - - - - - - - ); - } - - changeMode = () => { - const newMode = this.state.mode === Picker.MODE_DIALOG - ? Picker.MODE_DROPDOWN - : Picker.MODE_DIALOG; - this.setState({mode: newMode}); - }; - - onValueChange = (key: string, value: string) => { - const newState = {}; - newState[key] = value; - this.setState(newState); - }; -} - -var styles = StyleSheet.create({ - picker: { - width: 100, - }, -}); - -module.exports = PickerExample; diff --git a/Examples/UIExplorer/js/ProgressBarAndroidExample.android.js b/Examples/UIExplorer/js/ProgressBarAndroidExample.android.js deleted file mode 100644 index 82e8c0e65aef..000000000000 --- a/Examples/UIExplorer/js/ProgressBarAndroidExample.android.js +++ /dev/null @@ -1,83 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule ProgressBarAndroidExample - */ -'use strict'; - -var ProgressBar = require('ProgressBarAndroid'); -var React = require('React'); -var UIExplorerBlock = require('UIExplorerBlock'); -var UIExplorerPage = require('UIExplorerPage'); - -var TimerMixin = require('react-timer-mixin'); - -var MovingBar = React.createClass({ - mixins: [TimerMixin], - - getInitialState: function() { - return { - progress: 0 - }; - }, - - componentDidMount: function() { - this.setInterval( - () => { - var progress = (this.state.progress + 0.02) % 1; - this.setState({progress: progress}); - }, 50 - ); - }, - - render: function() { - return ; - }, -}); - -class ProgressBarAndroidExample extends React.Component { - static title = ''; - static description = 'Horizontal bar to show the progress of some operation.'; - - render() { - return ( - - - - - - - - - - - - - - - - - - ); - } -} - -module.exports = ProgressBarAndroidExample; diff --git a/Examples/UIExplorer/js/ProgressViewIOSExample.js b/Examples/UIExplorer/js/ProgressViewIOSExample.js deleted file mode 100644 index b97d7fcf5f6b..000000000000 --- a/Examples/UIExplorer/js/ProgressViewIOSExample.js +++ /dev/null @@ -1,93 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule ProgressViewIOSExample - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); -var { - ProgressViewIOS, - StyleSheet, - View, -} = ReactNative; -var TimerMixin = require('react-timer-mixin'); - -var ProgressViewExample = React.createClass({ - mixins: [TimerMixin], - - getInitialState() { - return { - progress: 0, - }; - }, - - componentDidMount() { - this.updateProgress(); - }, - - updateProgress() { - var progress = this.state.progress + 0.01; - this.setState({ progress }); - this.requestAnimationFrame(() => this.updateProgress()); - }, - - getProgress(offset) { - var progress = this.state.progress + offset; - return Math.sin(progress % Math.PI) % 1; - }, - - render() { - return ( - - - - - - - - ); - }, -}); - -exports.displayName = (undefined: ?string); -exports.framework = 'React'; -exports.title = 'ProgressViewIOS'; -exports.description = 'ProgressViewIOS'; -exports.examples = [{ - title: 'ProgressViewIOS', - render() { - return ( - - ); - } -}]; - -var styles = StyleSheet.create({ - container: { - marginTop: -20, - backgroundColor: 'transparent', - }, - progressView: { - marginTop: 20, - } -}); diff --git a/Examples/UIExplorer/js/RCTRootViewIOSExample.js b/Examples/UIExplorer/js/RCTRootViewIOSExample.js deleted file mode 100644 index ef83eb8192a4..000000000000 --- a/Examples/UIExplorer/js/RCTRootViewIOSExample.js +++ /dev/null @@ -1,107 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule RCTRootViewIOSExample - */ - -'use strict'; - -const React = require('react'); -const ReactNative = require('react-native'); -const { - StyleSheet, - Text, - View, -} = ReactNative; - -const requireNativeComponent = require('requireNativeComponent'); - -class AppPropertiesUpdateExample extends React.Component { - render() { - // Do not require this unless we are actually rendering. - const UpdatePropertiesExampleView = requireNativeComponent('UpdatePropertiesExampleView'); - return ( - - - Press the button to update the field below by passing new properties to the RN app. - - - - Error: This demo is accessible only from UIExplorer app - - - - ); - } -} - -class RootViewSizeFlexibilityExample extends React.Component { - render() { - // Do not require this unless we are actually rendering. - const FlexibleSizeExampleView = requireNativeComponent('FlexibleSizeExampleView'); - return ( - - - Press the button to resize it. On resize, RCTRootViewDelegate is notified. You can use it to handle content size updates. - - - - Error: This demo is accessible only from UIExplorer app - - - - ); - } -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#F5FCFF', - }, - text: { - marginBottom: 20 - }, - nativeView: { - height: 140, - width: 280 - } -}); - -exports.title = 'RCTRootView'; -exports.description = 'Examples that show useful methods when embedding React Native in a native application'; -exports.examples = [ -{ - title: 'Updating app properties in runtime', - render(): React.Element { - return ( - - ); - }, -}, -{ - title: 'RCTRootView\'s size flexibility', - render(): React.Element { - return ( - - ); - }, -}]; diff --git a/Examples/UIExplorer/js/RootViewSizeFlexibilityExampleApp.js b/Examples/UIExplorer/js/RootViewSizeFlexibilityExampleApp.js deleted file mode 100644 index 0f2b88ab387a..000000000000 --- a/Examples/UIExplorer/js/RootViewSizeFlexibilityExampleApp.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule RootViewSizeFlexibilityExampleApp - */ -'use strict'; - -const React = require('react'); -const ReactNative = require('react-native'); -const { - StyleSheet, - Text, - TouchableHighlight, - View, -} = ReactNative; - -class RootViewSizeFlexibilityExampleApp extends React.Component { - state: any; - - constructor(props: {toggled: boolean}) { - super(props); - this.state = { toggled: false }; - } - - _onPressButton() { - this.setState({ toggled: !this.state.toggled }); - } - - render() { - const viewStyle = this.state.toggled ? styles.bigContainer : styles.smallContainer; - - return ( - - - - - React Native Button - - - - - ); - } - -} - -const styles = StyleSheet.create({ - bigContainer: { - flex: 1, - height: 60, - backgroundColor: 'gray', - }, - smallContainer: { - flex: 1, - height: 40, - backgroundColor: 'gray', - }, - center: { - flex: 1, - alignItems: 'center', - justifyContent: 'center', - }, - whiteText: { - color: 'white', - } -}); - -module.exports = RootViewSizeFlexibilityExampleApp; diff --git a/Examples/UIExplorer/js/ScrollViewSimpleExample.js b/Examples/UIExplorer/js/ScrollViewSimpleExample.js deleted file mode 100644 index 7e3e1f35fddd..000000000000 --- a/Examples/UIExplorer/js/ScrollViewSimpleExample.js +++ /dev/null @@ -1,90 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule ScrollViewSimpleExample - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); -var { - ScrollView, - StyleSheet, - Text, - TouchableOpacity -} = ReactNative; - -var NUM_ITEMS = 20; - -class ScrollViewSimpleExample extends React.Component { - static title = ''; - static description = 'Component that enables scrolling through child components.'; - - makeItems = (nItems: number, styles): Array => { - var items = []; - for (var i = 0; i < nItems; i++) { - items[i] = ( - - {'Item ' + i} - - ); - } - return items; - }; - - render() { - // One of the items is a horizontal scroll view - var items = this.makeItems(NUM_ITEMS, styles.itemWrapper); - items[4] = ( - - {this.makeItems(NUM_ITEMS, [styles.itemWrapper, styles.horizontalItemWrapper])} - - ); - - var verticalScrollView = ( - - {items} - - ); - - return verticalScrollView; - } -} - -var styles = StyleSheet.create({ - verticalScrollView: { - margin: 10, - }, - itemWrapper: { - backgroundColor: '#dddddd', - alignItems: 'center', - borderRadius: 5, - borderWidth: 5, - borderColor: '#a52a2a', - padding: 30, - margin: 5, - }, - horizontalItemWrapper: { - padding: 50 - } -}); - -module.exports = ScrollViewSimpleExample; diff --git a/Examples/UIExplorer/js/SetPropertiesExampleApp.js b/Examples/UIExplorer/js/SetPropertiesExampleApp.js deleted file mode 100644 index 911688089da6..000000000000 --- a/Examples/UIExplorer/js/SetPropertiesExampleApp.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule SetPropertiesExampleApp - */ -'use strict'; - -const React = require('react'); -const ReactNative = require('react-native'); -const { - Text, - View, -} = ReactNative; - -class SetPropertiesExampleApp extends React.Component { - - render() { - const wrapperStyle = { - backgroundColor: this.props.color, - flex: 1, - alignItems: 'center', - justifyContent: 'center' - }; - - return ( - - - Embedded React Native view - - - ); - } - -} - -module.exports = SetPropertiesExampleApp; diff --git a/Examples/UIExplorer/js/SnapshotExample.js b/Examples/UIExplorer/js/SnapshotExample.js deleted file mode 100644 index 744e594405e2..000000000000 --- a/Examples/UIExplorer/js/SnapshotExample.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule SnapshotExample - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); -var { - Image, - StyleSheet, - Text, - UIManager, - View, -} = ReactNative; - -class ScreenshotExample extends React.Component { - state = { - uri: undefined, - }; - - render() { - return ( - - - Click to take a screenshot - - - - ); - } - - takeScreenshot = () => { - UIManager - .takeSnapshot('window', {format: 'jpeg', quality: 0.8}) // See UIManager.js for options - .then((uri) => this.setState({uri})) - .catch((error) => alert(error)); - }; -} - -var style = StyleSheet.create({ - button: { - marginBottom: 10, - fontWeight: '500', - }, - image: { - flex: 1, - height: 300, - resizeMode: 'contain', - backgroundColor: 'black', - }, -}); - -exports.title = 'Snapshot / Screenshot'; -exports.description = 'API to capture images from the screen.'; -exports.examples = [ - { - title: 'Take screenshot', - render(): React.Element { return ; } - }, -]; diff --git a/Examples/UIExplorer/js/TimePickerAndroidExample.js b/Examples/UIExplorer/js/TimePickerAndroidExample.js deleted file mode 100644 index 955209d75e86..000000000000 --- a/Examples/UIExplorer/js/TimePickerAndroidExample.js +++ /dev/null @@ -1,113 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * @providesModule TimePickerAndroidExample - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); -var { - TimePickerAndroid, - StyleSheet, - Text, - TouchableWithoutFeedback, -} = ReactNative; - -var UIExplorerBlock = require('./UIExplorerBlock'); -var UIExplorerPage = require('./UIExplorerPage'); - -class TimePickerAndroidExample extends React.Component { - static title = 'TimePickerAndroid'; - static description = 'Standard Android time picker dialog'; - - state = { - isoFormatText: 'pick a time (24-hour format)', - presetHour: 4, - presetMinute: 4, - presetText: 'pick a time, default: 4:04AM', - simpleText: 'pick a time', - }; - - showPicker = async (stateKey, options) => { - try { - const {action, minute, hour} = await TimePickerAndroid.open(options); - var newState = {}; - if (action === TimePickerAndroid.timeSetAction) { - newState[stateKey + 'Text'] = _formatTime(hour, minute); - newState[stateKey + 'Hour'] = hour; - newState[stateKey + 'Minute'] = minute; - } else if (action === TimePickerAndroid.dismissedAction) { - newState[stateKey + 'Text'] = 'dismissed'; - } - this.setState(newState); - } catch ({code, message}) { - console.warn(`Error in example '${stateKey}': `, message); - } - }; - - render() { - return ( - - - - {this.state.simpleText} - - - - - {this.state.presetText} - - - - - - {this.state.isoFormatText} - - - - ); - } -} - -/** - * Returns e.g. '3:05'. - */ -function _formatTime(hour, minute) { - return hour + ':' + (minute < 10 ? '0' + minute : minute); -} - -var styles = StyleSheet.create({ - text: { - color: 'black', - }, -}); - -module.exports = TimePickerAndroidExample; - diff --git a/Examples/UIExplorer/js/ToastAndroidExample.android.js b/Examples/UIExplorer/js/ToastAndroidExample.android.js deleted file mode 100644 index 35e6e8b9ca0f..000000000000 --- a/Examples/UIExplorer/js/ToastAndroidExample.android.js +++ /dev/null @@ -1,108 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule ToastAndroidExample - */ - -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); -var { - StyleSheet, - Text, - ToastAndroid, - TouchableWithoutFeedback, -} = ReactNative; - -var UIExplorerBlock = require('UIExplorerBlock'); -var UIExplorerPage = require('UIExplorerPage'); - -class ToastExample extends React.Component { - static title = 'Toast Example'; - static description = 'Example that demonstrates the use of an Android Toast to provide feedback.'; - state = {}; - - render() { - return ( - - - - ToastAndroid.show('This is a toast with short duration', ToastAndroid.SHORT)}> - Click me. - - - - - ToastAndroid.show('This is a toast with long duration', ToastAndroid.LONG)}> - Click me. - - - - - ToastAndroid.showWithGravity( - 'This is a toast with top gravity', - ToastAndroid.SHORT, - ToastAndroid.TOP, - ) - }> - Click me. - - - - - ToastAndroid.showWithGravity( - 'This is a toast with center gravity', - ToastAndroid.SHORT, - ToastAndroid.CENTER, - ) - }> - Click me. - - - - - ToastAndroid.showWithGravity( - 'This is a toast with bottom gravity', - ToastAndroid.SHORT, - ToastAndroid.BOTTOM, - ) - }> - Click me. - - - - ); - } -} - -var styles = StyleSheet.create({ - text: { - color: 'black', - }, -}); - -module.exports = ToastExample; diff --git a/Examples/UIExplorer/js/ToolbarAndroidExample.android.js b/Examples/UIExplorer/js/ToolbarAndroidExample.android.js deleted file mode 100644 index 5fc0c174eebf..000000000000 --- a/Examples/UIExplorer/js/ToolbarAndroidExample.android.js +++ /dev/null @@ -1,171 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule ToolbarAndroidExample - */ -'use strict'; - -var React = require('react'); -var ReactNative = require('react-native'); - -var nativeImageSource = require('nativeImageSource'); -var { - StyleSheet, - Text, - View, -} = ReactNative; -var UIExplorerBlock = require('./UIExplorerBlock'); -var UIExplorerPage = require('./UIExplorerPage'); - -var Switch = require('Switch'); -var ToolbarAndroid = require('ToolbarAndroid'); - -class ToolbarAndroidExample extends React.Component { - static title = ''; - static description = 'Examples of using the Android toolbar.'; - - state = { - actionText: 'Example app with toolbar component', - toolbarSwitch: false, - colorProps: { - titleColor: '#3b5998', - subtitleColor: '#6a7180', - }, - }; - - render() { - return ( - - - this.setState({actionText: 'Icon clicked'})} - style={styles.toolbar} - subtitle={this.state.actionText} - title="Toolbar" /> - {this.state.actionText} - - - - - this.setState({'toolbarSwitch': value})} /> - {'\'Tis but a switch'} - - - - - - - - - - - this.setState({colorProps: {}})} - title="Wow, such toolbar" - style={styles.toolbar} - subtitle="Much native" - {...this.state.colorProps} /> - - Touch the icon to reset the custom colors to the default (theme-provided) ones. - - - - - - - - - - ); - } - - _onActionSelected = (position) => { - this.setState({ - actionText: 'Selected ' + toolbarActions[position].title, - }); - }; -} - -var toolbarActions = [ - {title: 'Create', icon: nativeImageSource({ - android: 'ic_create_black_48dp', - width: 96, - height: 96 - }), show: 'always'}, - {title: 'Filter'}, - {title: 'Settings', icon: nativeImageSource({ - android: 'ic_settings_black_48dp', - width: 96, - height: 96 - }), show: 'always'}, -]; - -var styles = StyleSheet.create({ - toolbar: { - backgroundColor: '#e9eaed', - height: 56, - }, -}); - -module.exports = ToolbarAndroidExample; diff --git a/Examples/UIExplorer/js/UIExplorerActions.js b/Examples/UIExplorer/js/UIExplorerActions.js deleted file mode 100644 index d1983e90736e..000000000000 --- a/Examples/UIExplorer/js/UIExplorerActions.js +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @flow - * @providesModule UIExplorerActions - */ -'use strict'; - -export type UIExplorerBackAction = { - type: 'UIExplorerBackAction', -}; - -export type UIExplorerListAction = { - type: 'UIExplorerListAction', -}; - -export type UIExplorerExampleAction = { - type: 'UIExplorerExampleAction', - openExample: string, -}; - -export type UIExplorerAction = ( - UIExplorerBackAction | - UIExplorerListAction | - UIExplorerExampleAction -); - - -function Back(): UIExplorerBackAction { - return { - type: 'UIExplorerBackAction', - }; -} - -function ExampleList(): UIExplorerListAction { - return { - type: 'UIExplorerListAction', - }; -} - -function ExampleAction(openExample: string): UIExplorerExampleAction { - return { - type: 'UIExplorerExampleAction', - openExample, - }; -} - -const UIExplorerActions = { - Back, - ExampleList, - ExampleAction, -}; - -module.exports = UIExplorerActions; diff --git a/Examples/UIExplorer/js/UIExplorerApp.android.js b/Examples/UIExplorer/js/UIExplorerApp.android.js deleted file mode 100644 index 1e13a212ceb6..000000000000 --- a/Examples/UIExplorer/js/UIExplorerApp.android.js +++ /dev/null @@ -1,237 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @providesModule UIExplorerApp - * @flow - */ -'use strict'; - -const AppRegistry = require('AppRegistry'); -const AsyncStorage = require('AsyncStorage'); -const BackHandler = require('BackHandler'); -const Dimensions = require('Dimensions'); -const DrawerLayoutAndroid = require('DrawerLayoutAndroid'); -const Linking = require('Linking'); -const React = require('react'); -const StatusBar = require('StatusBar'); -const StyleSheet = require('StyleSheet'); -const ToolbarAndroid = require('ToolbarAndroid'); -const UIExplorerActions = require('./UIExplorerActions'); -const UIExplorerExampleContainer = require('./UIExplorerExampleContainer'); -const UIExplorerExampleList = require('./UIExplorerExampleList'); -const UIExplorerList = require('./UIExplorerList'); -const UIExplorerNavigationReducer = require('./UIExplorerNavigationReducer'); -const UIManager = require('UIManager'); -const URIActionMap = require('./URIActionMap'); -const View = require('View'); - -const nativeImageSource = require('nativeImageSource'); - -import type { UIExplorerNavigationState } from './UIExplorerNavigationReducer'; - -UIManager.setLayoutAnimationEnabledExperimental(true); - -const DRAWER_WIDTH_LEFT = 56; - -type Props = { - exampleFromAppetizeParams: string, -}; - -const APP_STATE_KEY = 'UIExplorerAppState.v2'; - -const HEADER_LOGO_ICON = nativeImageSource({ - android: 'launcher_icon', - width: 132, - height: 144 -}); - -const HEADER_NAV_ICON = nativeImageSource({ - android: 'ic_menu_black_24dp', - width: 48, - height: 48 -}); - -class UIExplorerApp extends React.Component { - props: Props; - state: UIExplorerNavigationState; - - componentWillMount() { - BackHandler.addEventListener('hardwareBackPress', this._handleBackButtonPress); - } - - componentDidMount() { - Linking.getInitialURL().then((url) => { - AsyncStorage.getItem(APP_STATE_KEY, (err, storedString) => { - const exampleAction = URIActionMap(this.props.exampleFromAppetizeParams); - const urlAction = URIActionMap(url); - const launchAction = exampleAction || urlAction; - if (err || !storedString) { - const initialAction = launchAction || {type: 'InitialAction'}; - this.setState(UIExplorerNavigationReducer(null, initialAction)); - return; - } - const storedState = JSON.parse(storedString); - if (launchAction) { - this.setState(UIExplorerNavigationReducer(storedState, launchAction)); - return; - } - this.setState(storedState); - }); - }); - } - - render() { - if (!this.state) { - return null; - } - return ( - { - this._overrideBackPressForDrawerLayout = true; - }} - onDrawerClose={() => { - this._overrideBackPressForDrawerLayout = false; - }} - ref={(drawer) => { this.drawer = drawer; }} - renderNavigationView={this._renderDrawerContent} - statusBarBackgroundColor="#589c90"> - {this._renderApp()} - - ); - } - - _renderDrawerContent = () => { - return ( - - - - ); - }; - - _renderApp() { - const { - openExample, - } = this.state; - - if (openExample) { - const ExampleModule = UIExplorerList.Modules[openExample]; - if (ExampleModule.external) { - return ( - { - this._handleAction(UIExplorerActions.Back()); - }} - ref={(example) => { this._exampleRef = example; }} - /> - ); - } else if (ExampleModule) { - return ( - - this.drawer.openDrawer()} - style={styles.toolbar} - title={ExampleModule.title} - /> - { this._exampleRef = example; }} - /> - - ); - } - } - - return ( - - this.drawer.openDrawer()} - style={styles.toolbar} - title="UIExplorer" - /> - - - ); - } - - _handleAction = (action: Object): boolean => { - this.drawer && this.drawer.closeDrawer(); - const newState = UIExplorerNavigationReducer(this.state, action); - if (this.state !== newState) { - this.setState( - newState, - () => AsyncStorage.setItem(APP_STATE_KEY, JSON.stringify(this.state)) - ); - return true; - } - return false; - }; - - _handleBackButtonPress = () => { - if (this._overrideBackPressForDrawerLayout) { - // This hack is necessary because drawer layout provides an imperative API - // with open and close methods. This code would be cleaner if the drawer - // layout provided an `isOpen` prop and allowed us to pass a `onDrawerClose` handler. - this.drawer && this.drawer.closeDrawer(); - return true; - } - if ( - this._exampleRef && - this._exampleRef.handleBackAction && - this._exampleRef.handleBackAction() - ) { - return true; - } - return this._handleAction(UIExplorerActions.Back()); - }; -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - }, - toolbar: { - backgroundColor: '#E9EAED', - height: 56, - }, - drawerContentWrapper: { - flex: 1, - paddingTop: StatusBar.currentHeight, - backgroundColor: 'white', - }, -}); - -AppRegistry.registerComponent('UIExplorerApp', () => UIExplorerApp); - -module.exports = UIExplorerApp; diff --git a/Examples/UIExplorer/js/UIExplorerApp.ios.js b/Examples/UIExplorer/js/UIExplorerApp.ios.js deleted file mode 100644 index f57e4fbf8c35..000000000000 --- a/Examples/UIExplorer/js/UIExplorerApp.ios.js +++ /dev/null @@ -1,202 +0,0 @@ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * The examples provided by Facebook are for non-commercial testing and - * evaluation purposes only. - * - * Facebook reserves all rights not expressly granted. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL - * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * @providesModule UIExplorerApp - * @flow - */ -'use strict'; - -const AsyncStorage = require('AsyncStorage'); -const BackHandler = require('BackHandler'); -const Linking = require('Linking'); -const React = require('react'); -const ReactNative = require('react-native'); -const UIExplorerActions = require('./UIExplorerActions'); -const UIExplorerExampleContainer = require('./UIExplorerExampleContainer'); -const UIExplorerExampleList = require('./UIExplorerExampleList'); -const UIExplorerList = require('./UIExplorerList.ios'); -const UIExplorerNavigationReducer = require('./UIExplorerNavigationReducer'); -const URIActionMap = require('./URIActionMap'); - -const { - Button, - AppRegistry, - SnapshotViewIOS, - StyleSheet, - Text, - View, -} = ReactNative; - -import type { UIExplorerExample } from './UIExplorerList.ios'; -import type { UIExplorerAction } from './UIExplorerActions'; -import type { UIExplorerNavigationState } from './UIExplorerNavigationReducer'; - -type Props = { - exampleFromAppetizeParams: string, -}; - -const APP_STATE_KEY = 'UIExplorerAppState.v2'; - -const Header = ({ onBack, title}) => ( - - - {title} - - {onBack && -