├── .eslintignore ├── .eslintrc.js ├── .gitattributes ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ └── start-a-new-issue.md └── workflows │ └── github-dependents-info.yml ├── .gitignore ├── .npmignore ├── .prettierrc.js ├── .watchmanconfig ├── DEPENDENTS.md ├── LICENSE ├── README.md ├── ReactNativeKeyboardManager.podspec ├── Sample ├── .eslintrc.js ├── .gitignore ├── .prettierrc.js ├── .watchmanconfig ├── README.md ├── app.json ├── babel.config.js ├── index.js ├── install.sh ├── ios │ ├── .xcode.env │ ├── Podfile │ ├── Podfile.lock │ ├── ReactNativeKeyboardManagerSample.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── ReactNativeKeyboardManagerSample.xcscheme │ ├── ReactNativeKeyboardManagerSample.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ ├── ReactNativeKeyboardManagerSample │ │ ├── AppDelegate.h │ │ ├── AppDelegate.mm │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ ├── LaunchScreen.storyboard │ │ ├── PrivacyInfo.xcprivacy │ │ └── main.m │ └── ReactNativeKeyboardManagerSampleTests │ │ ├── Info.plist │ │ └── ReactNativeKeyboardManagerSampleTests.m ├── jest.config.js ├── metro.config.js ├── package.json ├── src │ ├── App.tsx │ ├── FormScreen.tsx │ └── OtherScreen.tsx ├── tsconfig.json └── yarn.lock ├── babel.config.js ├── dist └── .gitkeep ├── ios ├── ReactNativeKeyboardManager.xcodeproj │ └── project.pbxproj └── ReactNativeKeyboardManager │ ├── KeyboardManager.swift │ ├── RCTBaseTextInputView+Hack.h │ ├── RCTBaseTextInputView+Hack.m │ ├── RNKMPreviousNextViewManager.h │ ├── RNKMPreviousNextViewManager.m │ ├── ReactNativeKeyboardManager-Bridging-Header.h │ ├── ReactNativeKeyboardManager.h │ └── ReactNativeKeyboardManager.m ├── jest └── mock.js ├── package.json ├── screenshots ├── 01.png ├── 02.png ├── 03.png ├── drag-and-drop-01.png └── drag-and-drop-02.png ├── scripts └── publish.js ├── src └── index.ts ├── tsconfig.json └── yarn.lock /.eslintignore: -------------------------------------------------------------------------------- 1 | /dist 2 | /node_modules 3 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: '@react-native', 4 | }; 5 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | Sample/** linguist-vendored 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: douglasjunior 4 | patreon: douglasjunior # Replace with a single Patreon username 5 | open_collective: rn-keyboard-manager # Replace with a single Open Collective username 6 | custom: paypal.me/douglasnassif 7 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/start-a-new-issue.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Start a new issue 3 | about: Create a new issue to report a bug, feature or suggestion requests. 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 13 | 14 | - How did you link to the library (autolinking, manual, rn link, cocoapods)? 15 | - What version of React Native? 16 | - What version of the library? 17 | - iOS version? 18 | - Did the problem happen after updating React Native? 19 | - Are you using the library for the first time? 20 | - It's a bug? Provide a link to a minimal reproduction case. 21 | -------------------------------------------------------------------------------- /.github/workflows/github-dependents-info.yml: -------------------------------------------------------------------------------- 1 | # GitHub Dependents Info workflow 2 | # More info at https://github.com/nvuillam/github-dependents-info/ 3 | name: GitHub Dependents Info 4 | 5 | # Let by default 6 | on: 7 | # On manual launch 8 | workflow_dispatch: 9 | # On every push on selected branches (usually just main) 10 | # push: 11 | # branches: [main] 12 | # Scheduled interval: Use CRON format https://crontab.guru/ 13 | schedule: 14 | - cron: "0 0 * * 6" # Every sunday at midnight 15 | 16 | permissions: read-all 17 | 18 | concurrency: 19 | group: ${{ github.ref }}-${{ github.workflow }} 20 | cancel-in-progress: true 21 | 22 | jobs: 23 | build: 24 | name: GitHub Dependents Info 25 | runs-on: ubuntu-latest 26 | permissions: 27 | contents: write 28 | pull-requests: write 29 | steps: 30 | # Git Checkout 31 | - name: Checkout Code 32 | uses: actions/checkout@v4 33 | with: 34 | token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }} 35 | fetch-depth: 0 36 | 37 | # Collect data & generate markdown 38 | - name: GitHub Dependents Info 39 | uses: nvuillam/github-dependents-info@v1.5.1 # If you trust me enough you can replace version by "main" :) 40 | # See documentation for variables details: https://github.com/nvuillam/github-dependents-info?tab=readme-ov-file#%EF%B8%8F-usage 41 | with: 42 | repo: ${{ github.repository }} 43 | outputrepo: ${{ github.repository }} 44 | markdownfile: ./DEPENDENTS.md 45 | # badgemarkdownfile: README.md 46 | sort: stars 47 | # minstars: "0" 48 | env: 49 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 50 | 51 | # Workaround for git issues 52 | - name: Prepare commit 53 | run: sudo chown -R $USER:$USER . 54 | 55 | # Create pull request 56 | - name: Create Pull Request 57 | id: cpr 58 | uses: peter-evans/create-pull-request@v6 59 | with: 60 | token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }} 61 | branch: github-dependents-info-auto-update 62 | commit-message: "[GitHub Dependents Info] Updated markdown file(s)" 63 | delete-branch: true 64 | title: "[GitHub Dependents Info] Updated markdown file" 65 | body: "_Generated with [github-dependents-info](https://github.com/nvuillam/github-dependents-info), by [Nicolas Vuillamy](https://github.com/nvuillam)_" 66 | labels: documentation 67 | - name: Create PR output 68 | run: | 69 | echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" 70 | echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" 71 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # Xcode 6 | # 7 | build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | ios/.xcode.env.local 24 | 25 | # Android/IntelliJ 26 | # 27 | build/ 28 | .idea 29 | .gradle 30 | local.properties 31 | *.iml 32 | *.hprof 33 | .cxx/ 34 | *.keystore 35 | !debug.keystore 36 | 37 | # node.js 38 | # 39 | node_modules/ 40 | npm-debug.log 41 | yarn-error.log 42 | 43 | # fastlane 44 | # 45 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 46 | # screenshots whenever they are needed. 47 | # For more information about the recommended setup visit: 48 | # https://docs.fastlane.tools/best-practices/source-control/ 49 | 50 | **/fastlane/report.xml 51 | **/fastlane/Preview.html 52 | **/fastlane/screenshots 53 | **/fastlane/test_output 54 | 55 | # Bundle artifact 56 | *.jsbundle 57 | 58 | # Ruby / CocoaPods 59 | /ios/Pods/ 60 | /vendor/bundle/ 61 | 62 | # Temporary files created by Metro to check the health of the file watcher 63 | .metro-health-check* 64 | 65 | /dist 66 | !/dist/.gitkeep 67 | 68 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .vscode/ 2 | .github/ 3 | .prettierrc.js 4 | .eslintrc.js 5 | .eslintignore 6 | tsconfig.json 7 | babel.config.js 8 | node_modules/ 9 | __tests__/ 10 | screenshots/ 11 | Sample/ 12 | src/ 13 | scripts/ 14 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | arrowParens: 'avoid', 3 | bracketSameLine: true, 4 | bracketSpacing: false, 5 | singleQuote: true, 6 | trailingComma: 'all', 7 | }; 8 | -------------------------------------------------------------------------------- /.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Douglas Nassif Roma Junior 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # React-Native Keyboard Manager 2 | 3 | [![License MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/douglasjunior/react-native-keyboard-manager/blob/master/LICENSE) 4 | [![npm version](https://img.shields.io/npm/v/react-native-keyboard-manager.svg)](https://www.npmjs.com/package/react-native-keyboard-manager) 5 | [![npm downloads](https://img.shields.io/npm/dt/react-native-keyboard-manager.svg)](#install) 6 | 7 | Library to prevent issues of keyboard sliding up and cover inputs on React-Native iOS projects ⚛. Thanks to awesome [IQKeyboardManager](https://github.com/hackiftekhar/IQKeyboardManager) ❤️. 8 | 9 | This is only for iOS, Android no needed. For Android just add `android:windowSoftInputMode="adjustResize"` to your activity. 10 | 11 | ## Screenshots 12 | 13 | | Enabled | Disabled | 14 | | - | - | 15 | | | | 16 | 17 | | | 18 | | - | 19 | | _Credits: IQKeyboardManager_ | 20 | 21 | ## NOTES: 22 | 23 | - for RN 0.72.0 or later use `react-native-keyboard-manager@latest` 24 | - for RN 0.60.0 ... 0.71.X, use `react-native-keyboard-manager@6.5.11-2` 25 | - for RN 0.53.0 ... 0.59.10, use `react-native-keyboard-manager@4.0.13-12` 26 | - for RN 0.47.0 ... 0.52.2, use `react-native-keyboard-manager@4.0.13-5` 27 | - for RN 0.40.0 ... 0.46.4, use `react-native-keyboard-manager@4.0.13-1` 28 | 29 | ## Install 30 | 31 | 1. Install the JavaScript dependency: 32 | 33 | ```sh 34 | yarn add react-native-keyboard-manager 35 | ``` 36 | Or 37 | ```sh 38 | npm i -S react-native-keyboard-manager 39 | ``` 40 | 41 | 1. Add the CocoaPods dependency to your `ios/Podfile`: 42 | 43 | ```ruby 44 | # Add temporary IQKeyboardManagerSwift fork to solve problems with PrivacyInfo.xcprivacy 45 | pod 'IQKeyboardManagerSwift', :git => 'https://github.com/douglasjunior/IQKeyboardManager.git', :branch => 'react-native-keyboard-manager' 46 | ``` 47 | 48 | > To automate this process on Expo you may need to create a plugin, see https://github.com/douglasjunior/react-native-keyboard-manager/issues/111#issuecomment-2153101561 49 | 50 | 1. Run the CocoaPods installation: 51 | 52 | ```sh 53 | cd ios 54 | pod install 55 | ``` 56 | 57 | 1. (optional) To force `IQKeyboardManagerSwift` update with the latest commit: 58 | 59 | ```sh 60 | cd ios 61 | pod update IQKeyboardManagerSwift 62 | ``` 63 | 64 | Done! 🎉 65 | 66 | ## Post install 67 | 68 | Because [IQKeyboardManager](https://github.com/hackiftekhar/IQKeyboardManager) is written in `Swift`, you need to enable `Swift` on your native Xcode project. 69 | 70 | 1. Open `ios/YourAppName.xcworkspace` in Xcode 71 | 1. Right-click on `YourAppName` in the `Project Navigator` on the left, and click `New File`. 72 | 1. Create a single empty `Swift` file to the project (make sure that `YourAppName` target is selected when adding) 73 | 1. When Xcode asks, press **Create Bridging Header** and do not remove `Swift` file then. 74 | 1. Re-run your build. 75 | 76 | ## Usage 77 | 78 | It does not need any extra library setup to work, just [install](#install) and go. 79 | 80 | But, if you need some configuration, there are some options available. 81 | 82 | ```js 83 | import { Platform } from 'react-native'; 84 | import KeyboardManager from 'react-native-keyboard-manager'; 85 | 86 | if (Platform.OS === 'ios') { 87 | KeyboardManager.setEnable(true); 88 | KeyboardManager.setEnableDebugging(false); 89 | KeyboardManager.setKeyboardDistanceFromTextField(10); 90 | KeyboardManager.setLayoutIfNeededOnUpdate(true); 91 | KeyboardManager.setEnableAutoToolbar(true); 92 | KeyboardManager.setToolbarDoneBarButtonItemText("Done"); 93 | KeyboardManager.setToolbarManageBehaviourBy("subviews"); // "subviews" | "tag" | "position" 94 | KeyboardManager.setToolbarPreviousNextButtonEnable(false); 95 | KeyboardManager.setToolbarTintColor('#0000FF'); // Only #000000 format is supported 96 | KeyboardManager.setToolbarBarTintColor('#FFFFFF'); // Only #000000 format is supported 97 | KeyboardManager.setShouldShowToolbarPlaceholder(true); 98 | KeyboardManager.setOverrideKeyboardAppearance(false); 99 | KeyboardManager.setKeyboardAppearance("default"); // "default" | "light" | "dark" 100 | KeyboardManager.setShouldResignOnTouchOutside(true); 101 | KeyboardManager.setShouldPlayInputClicks(true); 102 | KeyboardManager.resignFirstResponder(); 103 | KeyboardManager.isKeyboardShowing() 104 | .then((isShowing) => { 105 | // ... 106 | }); 107 | } 108 | ``` 109 | 110 | For more details, see the [Sample Project](https://github.com/douglasjunior/react-native-keyboard-manager/blob/master/Sample/src/FormScreen.tsx) and the official [IQKeyboardManager documentation](https://github.com/hackiftekhar/IQKeyboardManager/). 111 | 112 | ### Enable Next/Previous buttons 113 | 114 | If you want to use Next/Previous buttons, enable it. 115 | 116 | ```js 117 | if (Platform.OS === 'ios') { 118 | KeyboardManager.setToolbarPreviousNextButtonEnable(true); 119 | } 120 | ``` 121 | 122 | And if you want to use Next/Previous buttons inside a `Modal`, you need to wrap the fields in a `PreviousNextView`. 123 | 124 | ```jsx 125 | import { PreviousNextView } from 'react-native-keyboard-manager'; 126 | 127 | class App extends Component { 128 | render() { 129 | return ( 130 | 131 | // others views 132 | 133 | // others views 134 | 135 | // all TextInput 136 | 137 | 138 | 139 | ); 140 | } 141 | } 142 | ``` 143 | 144 | # Mock with jest 145 | 146 | ```js 147 | jest.mock('react-native-keyboard-manager', () => require('react-native-keyboard-manager/jest/mock')); 148 | ``` 149 | 150 | # Known issues 151 | 152 | - If your project is managed by Expo, you will need to eject. 153 | - Pod install failed on M1 machines: https://github.com/douglasjunior/react-native-keyboard-manager/issues/104 154 | - ~~Problem with "@react-navigation/native-stack" and "IQKeyboardManager" on iOS: https://github.com/douglasjunior/react-native-keyboard-manager/issues/89~~ 155 | - Seems to be fixed in version `6.5.16-0` 156 | 157 | ## Contribute 158 | 159 | New features, bug fixes and improvements are welcome! For questions and suggestions use the [issues](https://github.com/douglasjunior/react-native-keyboard-manager/issues). 160 | 161 | Become a Patron! 162 | [![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://paypal.me/douglasnassif) 163 | 164 | ## Star History 165 | 166 | [![Star History Chart](https://api.star-history.com/svg?repos=douglasjunior/react-native-keyboard-manager&type=Date)](https://star-history.com/#douglasjunior/react-native-keyboard-manager&Date) 167 | 168 | ## License 169 | 170 | ``` 171 | The MIT License (MIT) 172 | 173 | Copyright (c) 2017 Douglas Nassif Roma Junior 174 | ``` 175 | 176 | See the full [license file](https://github.com/douglasjunior/react-native-keyboard-manager/blob/master/LICENSE). 177 | 178 | ## IQKeyboardManager License 179 | 180 | ``` 181 | The MIT License (MIT) 182 | 183 | Copyright (c) 2013-16 Iftekhar Qurashi 184 | ``` 185 | 186 | See the full [IQKeyboardManager license file](https://github.com/hackiftekhar/IQKeyboardManager/blob/master/LICENSE.md). 187 | -------------------------------------------------------------------------------- /ReactNativeKeyboardManager.podspec: -------------------------------------------------------------------------------- 1 | require 'json' 2 | 3 | packageJson = JSON.parse(File.read('package.json')) 4 | version = packageJson["version"] 5 | repository = packageJson["repository"]["url"] 6 | iqVersion = version.split('-').first 7 | 8 | Pod::Spec.new do |s| 9 | s.name = "ReactNativeKeyboardManager" 10 | s.version = version 11 | s.description = packageJson["description"] 12 | s.homepage = packageJson["homepage"] 13 | s.summary = packageJson["description"] 14 | s.license = packageJson["license"] 15 | s.authors = packageJson["author"] 16 | s.source = { :git => repository, :tag => version } 17 | s.platform = :ios, "9.0" 18 | s.preserve_paths = 'README.md', 'package.json', '*.js' 19 | s.source_files = 'ios/ReactNativeKeyboardManager/**/*.{h,m}' 20 | 21 | s.dependency 'React-Core' 22 | s.dependency 'React-RCTText' 23 | s.dependency 'IQKeyboardManagerSwift', iqVersion 24 | end 25 | -------------------------------------------------------------------------------- /Sample/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: '@react-native', 4 | }; 5 | -------------------------------------------------------------------------------- /Sample/.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # Xcode 6 | # 7 | build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | **/.xcode.env.local 24 | 25 | # Android/IntelliJ 26 | # 27 | build/ 28 | .idea 29 | .gradle 30 | local.properties 31 | *.iml 32 | *.hprof 33 | .cxx/ 34 | *.keystore 35 | !debug.keystore 36 | 37 | # node.js 38 | # 39 | node_modules/ 40 | npm-debug.log 41 | yarn-error.log 42 | 43 | # fastlane 44 | # 45 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 46 | # screenshots whenever they are needed. 47 | # For more information about the recommended setup visit: 48 | # https://docs.fastlane.tools/best-practices/source-control/ 49 | 50 | **/fastlane/report.xml 51 | **/fastlane/Preview.html 52 | **/fastlane/screenshots 53 | **/fastlane/test_output 54 | 55 | # Bundle artifact 56 | *.jsbundle 57 | 58 | # Ruby / CocoaPods 59 | **/Pods/ 60 | /vendor/bundle/ 61 | 62 | # Temporary files created by Metro to check the health of the file watcher 63 | .metro-health-check* 64 | 65 | # testing 66 | /coverage 67 | 68 | # Yarn 69 | .yarn/* 70 | !.yarn/patches 71 | !.yarn/plugins 72 | !.yarn/releases 73 | !.yarn/sdks 74 | !.yarn/versions 75 | -------------------------------------------------------------------------------- /Sample/.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | arrowParens: 'avoid', 3 | bracketSameLine: true, 4 | bracketSpacing: false, 5 | singleQuote: true, 6 | trailingComma: 'all', 7 | }; 8 | -------------------------------------------------------------------------------- /Sample/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /Sample/README.md: -------------------------------------------------------------------------------- 1 | This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli). 2 | 3 | # Getting Started 4 | 5 | >**Note**: Make sure you have completed the [React Native - Environment Setup](https://reactnative.dev/docs/environment-setup) instructions till "Creating a new application" step, before proceeding. 6 | 7 | ## Step 1: Start the Metro Server 8 | 9 | First, you will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native. 10 | 11 | To start Metro, run the following command from the _root_ of your React Native project: 12 | 13 | ```bash 14 | # using npm 15 | npm start 16 | 17 | # OR using Yarn 18 | yarn start 19 | ``` 20 | 21 | ## Step 2: Start your Application 22 | 23 | Let Metro Bundler run in its _own_ terminal. Open a _new_ terminal from the _root_ of your React Native project. Run the following command to start your _Android_ or _iOS_ app: 24 | 25 | ### For Android 26 | 27 | ```bash 28 | # using npm 29 | npm run android 30 | 31 | # OR using Yarn 32 | yarn android 33 | ``` 34 | 35 | ### For iOS 36 | 37 | ```bash 38 | # using npm 39 | npm run ios 40 | 41 | # OR using Yarn 42 | yarn ios 43 | ``` 44 | 45 | If everything is set up _correctly_, you should see your new app running in your _Android Emulator_ or _iOS Simulator_ shortly provided you have set up your emulator/simulator correctly. 46 | 47 | This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively. 48 | 49 | ## Step 3: Modifying your App 50 | 51 | Now that you have successfully run the app, let's modify it. 52 | 53 | 1. Open `App.tsx` in your text editor of choice and edit some lines. 54 | 2. For **Android**: Press the R key twice or select **"Reload"** from the **Developer Menu** (Ctrl + M (on Window and Linux) or Cmd ⌘ + M (on macOS)) to see your changes! 55 | 56 | For **iOS**: Hit Cmd ⌘ + R in your iOS Simulator to reload the app and see your changes! 57 | 58 | ## Congratulations! :tada: 59 | 60 | You've successfully run and modified your React Native App. :partying_face: 61 | 62 | ### Now what? 63 | 64 | - If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps). 65 | - If you're curious to learn more about React Native, check out the [Introduction to React Native](https://reactnative.dev/docs/getting-started). 66 | 67 | # Troubleshooting 68 | 69 | If you can't get this to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page. 70 | 71 | # Learn More 72 | 73 | To learn more about React Native, take a look at the following resources: 74 | 75 | - [React Native Website](https://reactnative.dev) - learn more about React Native. 76 | - [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment. 77 | - [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**. 78 | - [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts. 79 | - [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native. 80 | -------------------------------------------------------------------------------- /Sample/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ReactNativeKeyboardManagerSample", 3 | "displayName": "ReactNativeKeyboardManagerSample" 4 | } 5 | -------------------------------------------------------------------------------- /Sample/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['module:@react-native/babel-preset'], 3 | }; 4 | -------------------------------------------------------------------------------- /Sample/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @format 3 | */ 4 | 5 | import {AppRegistry} from 'react-native'; 6 | import App from './src/App.tsx'; 7 | import {name as appName} from './app.json'; 8 | 9 | AppRegistry.registerComponent(appName, () => App); 10 | -------------------------------------------------------------------------------- /Sample/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rm -rf ../node_modules/ 4 | rm -rf .git/ 5 | rm -rf node_modules/ 6 | rm -rf ios/Pods 7 | 8 | yarn install 9 | 10 | cd ios 11 | pod install 12 | 13 | # Force to update the IQKeyboardManagerSwift fork 14 | pod update IQKeyboardManagerSwift 15 | -------------------------------------------------------------------------------- /Sample/ios/.xcode.env: -------------------------------------------------------------------------------- 1 | # This `.xcode.env` file is versioned and is used to source the environment 2 | # used when running script phases inside Xcode. 3 | # To customize your local environment, you can create an `.xcode.env.local` 4 | # file that is not versioned. 5 | 6 | # NODE_BINARY variable contains the PATH to the node executable. 7 | # 8 | # Customize the NODE_BINARY variable here. 9 | # For example, to use nvm with brew, add the following line 10 | # . "$(brew --prefix nvm)/nvm.sh" --no-use 11 | export NODE_BINARY=$(command -v node) 12 | -------------------------------------------------------------------------------- /Sample/ios/Podfile: -------------------------------------------------------------------------------- 1 | # Resolve react_native_pods.rb with node to allow for hoisting 2 | require Pod::Executable.execute_command('node', ['-p', 3 | 'require.resolve( 4 | "react-native/scripts/react_native_pods.rb", 5 | {paths: [process.argv[1]]}, 6 | )', __dir__]).strip 7 | 8 | platform :ios, min_ios_version_supported 9 | prepare_react_native_project! 10 | 11 | linkage = ENV['USE_FRAMEWORKS'] 12 | if linkage != nil 13 | Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green 14 | use_frameworks! :linkage => linkage.to_sym 15 | end 16 | 17 | target 'ReactNativeKeyboardManagerSample' do 18 | config = use_native_modules! 19 | 20 | use_react_native!( 21 | :path => config[:reactNativePath], 22 | # An absolute path to your application root. 23 | :app_path => "#{Pod::Config.instance.installation_root}/.." 24 | ) 25 | 26 | pod 'IQKeyboardManagerSwift', :git => 'https://github.com/douglasjunior/IQKeyboardManager.git', :branch => 'react-native-keyboard-manager' 27 | 28 | target 'ReactNativeKeyboardManagerSampleTests' do 29 | inherit! :complete 30 | # Pods for testing 31 | end 32 | 33 | post_install do |installer| 34 | # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 35 | react_native_post_install( 36 | installer, 37 | config[:reactNativePath], 38 | :mac_catalyst_enabled => false, 39 | # :ccache_enabled => true 40 | ) 41 | end 42 | end 43 | -------------------------------------------------------------------------------- /Sample/ios/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - boost (1.83.0) 3 | - DoubleConversion (1.1.6) 4 | - FBLazyVector (0.74.0) 5 | - fmt (9.1.0) 6 | - glog (0.3.5) 7 | - hermes-engine (0.74.0): 8 | - hermes-engine/Pre-built (= 0.74.0) 9 | - hermes-engine/Pre-built (0.74.0) 10 | - IQKeyboardManagerSwift (6.5.16) 11 | - RCT-Folly (2024.01.01.00): 12 | - boost 13 | - DoubleConversion 14 | - fmt (= 9.1.0) 15 | - glog 16 | - RCT-Folly/Default (= 2024.01.01.00) 17 | - RCT-Folly/Default (2024.01.01.00): 18 | - boost 19 | - DoubleConversion 20 | - fmt (= 9.1.0) 21 | - glog 22 | - RCT-Folly/Fabric (2024.01.01.00): 23 | - boost 24 | - DoubleConversion 25 | - fmt (= 9.1.0) 26 | - glog 27 | - RCTDeprecation (0.74.0) 28 | - RCTRequired (0.74.0) 29 | - RCTTypeSafety (0.74.0): 30 | - FBLazyVector (= 0.74.0) 31 | - RCTRequired (= 0.74.0) 32 | - React-Core (= 0.74.0) 33 | - React (0.74.0): 34 | - React-Core (= 0.74.0) 35 | - React-Core/DevSupport (= 0.74.0) 36 | - React-Core/RCTWebSocket (= 0.74.0) 37 | - React-RCTActionSheet (= 0.74.0) 38 | - React-RCTAnimation (= 0.74.0) 39 | - React-RCTBlob (= 0.74.0) 40 | - React-RCTImage (= 0.74.0) 41 | - React-RCTLinking (= 0.74.0) 42 | - React-RCTNetwork (= 0.74.0) 43 | - React-RCTSettings (= 0.74.0) 44 | - React-RCTText (= 0.74.0) 45 | - React-RCTVibration (= 0.74.0) 46 | - React-callinvoker (0.74.0) 47 | - React-Codegen (0.74.0): 48 | - DoubleConversion 49 | - glog 50 | - hermes-engine 51 | - RCT-Folly 52 | - RCTRequired 53 | - RCTTypeSafety 54 | - React-Core 55 | - React-debug 56 | - React-Fabric 57 | - React-FabricImage 58 | - React-featureflags 59 | - React-graphics 60 | - React-jsi 61 | - React-jsiexecutor 62 | - React-NativeModulesApple 63 | - React-rendererdebug 64 | - React-utils 65 | - ReactCommon/turbomodule/bridging 66 | - ReactCommon/turbomodule/core 67 | - React-Core (0.74.0): 68 | - glog 69 | - hermes-engine 70 | - RCT-Folly (= 2024.01.01.00) 71 | - RCTDeprecation 72 | - React-Core/Default (= 0.74.0) 73 | - React-cxxreact 74 | - React-featureflags 75 | - React-hermes 76 | - React-jsi 77 | - React-jsiexecutor 78 | - React-jsinspector 79 | - React-perflogger 80 | - React-runtimescheduler 81 | - React-utils 82 | - SocketRocket (= 0.7.0) 83 | - Yoga 84 | - React-Core/CoreModulesHeaders (0.74.0): 85 | - glog 86 | - hermes-engine 87 | - RCT-Folly (= 2024.01.01.00) 88 | - RCTDeprecation 89 | - React-Core/Default 90 | - React-cxxreact 91 | - React-featureflags 92 | - React-hermes 93 | - React-jsi 94 | - React-jsiexecutor 95 | - React-jsinspector 96 | - React-perflogger 97 | - React-runtimescheduler 98 | - React-utils 99 | - SocketRocket (= 0.7.0) 100 | - Yoga 101 | - React-Core/Default (0.74.0): 102 | - glog 103 | - hermes-engine 104 | - RCT-Folly (= 2024.01.01.00) 105 | - RCTDeprecation 106 | - React-cxxreact 107 | - React-featureflags 108 | - React-hermes 109 | - React-jsi 110 | - React-jsiexecutor 111 | - React-jsinspector 112 | - React-perflogger 113 | - React-runtimescheduler 114 | - React-utils 115 | - SocketRocket (= 0.7.0) 116 | - Yoga 117 | - React-Core/DevSupport (0.74.0): 118 | - glog 119 | - hermes-engine 120 | - RCT-Folly (= 2024.01.01.00) 121 | - RCTDeprecation 122 | - React-Core/Default (= 0.74.0) 123 | - React-Core/RCTWebSocket (= 0.74.0) 124 | - React-cxxreact 125 | - React-featureflags 126 | - React-hermes 127 | - React-jsi 128 | - React-jsiexecutor 129 | - React-jsinspector 130 | - React-perflogger 131 | - React-runtimescheduler 132 | - React-utils 133 | - SocketRocket (= 0.7.0) 134 | - Yoga 135 | - React-Core/RCTActionSheetHeaders (0.74.0): 136 | - glog 137 | - hermes-engine 138 | - RCT-Folly (= 2024.01.01.00) 139 | - RCTDeprecation 140 | - React-Core/Default 141 | - React-cxxreact 142 | - React-featureflags 143 | - React-hermes 144 | - React-jsi 145 | - React-jsiexecutor 146 | - React-jsinspector 147 | - React-perflogger 148 | - React-runtimescheduler 149 | - React-utils 150 | - SocketRocket (= 0.7.0) 151 | - Yoga 152 | - React-Core/RCTAnimationHeaders (0.74.0): 153 | - glog 154 | - hermes-engine 155 | - RCT-Folly (= 2024.01.01.00) 156 | - RCTDeprecation 157 | - React-Core/Default 158 | - React-cxxreact 159 | - React-featureflags 160 | - React-hermes 161 | - React-jsi 162 | - React-jsiexecutor 163 | - React-jsinspector 164 | - React-perflogger 165 | - React-runtimescheduler 166 | - React-utils 167 | - SocketRocket (= 0.7.0) 168 | - Yoga 169 | - React-Core/RCTBlobHeaders (0.74.0): 170 | - glog 171 | - hermes-engine 172 | - RCT-Folly (= 2024.01.01.00) 173 | - RCTDeprecation 174 | - React-Core/Default 175 | - React-cxxreact 176 | - React-featureflags 177 | - React-hermes 178 | - React-jsi 179 | - React-jsiexecutor 180 | - React-jsinspector 181 | - React-perflogger 182 | - React-runtimescheduler 183 | - React-utils 184 | - SocketRocket (= 0.7.0) 185 | - Yoga 186 | - React-Core/RCTImageHeaders (0.74.0): 187 | - glog 188 | - hermes-engine 189 | - RCT-Folly (= 2024.01.01.00) 190 | - RCTDeprecation 191 | - React-Core/Default 192 | - React-cxxreact 193 | - React-featureflags 194 | - React-hermes 195 | - React-jsi 196 | - React-jsiexecutor 197 | - React-jsinspector 198 | - React-perflogger 199 | - React-runtimescheduler 200 | - React-utils 201 | - SocketRocket (= 0.7.0) 202 | - Yoga 203 | - React-Core/RCTLinkingHeaders (0.74.0): 204 | - glog 205 | - hermes-engine 206 | - RCT-Folly (= 2024.01.01.00) 207 | - RCTDeprecation 208 | - React-Core/Default 209 | - React-cxxreact 210 | - React-featureflags 211 | - React-hermes 212 | - React-jsi 213 | - React-jsiexecutor 214 | - React-jsinspector 215 | - React-perflogger 216 | - React-runtimescheduler 217 | - React-utils 218 | - SocketRocket (= 0.7.0) 219 | - Yoga 220 | - React-Core/RCTNetworkHeaders (0.74.0): 221 | - glog 222 | - hermes-engine 223 | - RCT-Folly (= 2024.01.01.00) 224 | - RCTDeprecation 225 | - React-Core/Default 226 | - React-cxxreact 227 | - React-featureflags 228 | - React-hermes 229 | - React-jsi 230 | - React-jsiexecutor 231 | - React-jsinspector 232 | - React-perflogger 233 | - React-runtimescheduler 234 | - React-utils 235 | - SocketRocket (= 0.7.0) 236 | - Yoga 237 | - React-Core/RCTSettingsHeaders (0.74.0): 238 | - glog 239 | - hermes-engine 240 | - RCT-Folly (= 2024.01.01.00) 241 | - RCTDeprecation 242 | - React-Core/Default 243 | - React-cxxreact 244 | - React-featureflags 245 | - React-hermes 246 | - React-jsi 247 | - React-jsiexecutor 248 | - React-jsinspector 249 | - React-perflogger 250 | - React-runtimescheduler 251 | - React-utils 252 | - SocketRocket (= 0.7.0) 253 | - Yoga 254 | - React-Core/RCTTextHeaders (0.74.0): 255 | - glog 256 | - hermes-engine 257 | - RCT-Folly (= 2024.01.01.00) 258 | - RCTDeprecation 259 | - React-Core/Default 260 | - React-cxxreact 261 | - React-featureflags 262 | - React-hermes 263 | - React-jsi 264 | - React-jsiexecutor 265 | - React-jsinspector 266 | - React-perflogger 267 | - React-runtimescheduler 268 | - React-utils 269 | - SocketRocket (= 0.7.0) 270 | - Yoga 271 | - React-Core/RCTVibrationHeaders (0.74.0): 272 | - glog 273 | - hermes-engine 274 | - RCT-Folly (= 2024.01.01.00) 275 | - RCTDeprecation 276 | - React-Core/Default 277 | - React-cxxreact 278 | - React-featureflags 279 | - React-hermes 280 | - React-jsi 281 | - React-jsiexecutor 282 | - React-jsinspector 283 | - React-perflogger 284 | - React-runtimescheduler 285 | - React-utils 286 | - SocketRocket (= 0.7.0) 287 | - Yoga 288 | - React-Core/RCTWebSocket (0.74.0): 289 | - glog 290 | - hermes-engine 291 | - RCT-Folly (= 2024.01.01.00) 292 | - RCTDeprecation 293 | - React-Core/Default (= 0.74.0) 294 | - React-cxxreact 295 | - React-featureflags 296 | - React-hermes 297 | - React-jsi 298 | - React-jsiexecutor 299 | - React-jsinspector 300 | - React-perflogger 301 | - React-runtimescheduler 302 | - React-utils 303 | - SocketRocket (= 0.7.0) 304 | - Yoga 305 | - React-CoreModules (0.74.0): 306 | - DoubleConversion 307 | - fmt (= 9.1.0) 308 | - RCT-Folly (= 2024.01.01.00) 309 | - RCTTypeSafety (= 0.74.0) 310 | - React-Codegen 311 | - React-Core/CoreModulesHeaders (= 0.74.0) 312 | - React-jsi (= 0.74.0) 313 | - React-jsinspector 314 | - React-NativeModulesApple 315 | - React-RCTBlob 316 | - React-RCTImage (= 0.74.0) 317 | - ReactCommon 318 | - SocketRocket (= 0.7.0) 319 | - React-cxxreact (0.74.0): 320 | - boost (= 1.83.0) 321 | - DoubleConversion 322 | - fmt (= 9.1.0) 323 | - glog 324 | - hermes-engine 325 | - RCT-Folly (= 2024.01.01.00) 326 | - React-callinvoker (= 0.74.0) 327 | - React-debug (= 0.74.0) 328 | - React-jsi (= 0.74.0) 329 | - React-jsinspector 330 | - React-logger (= 0.74.0) 331 | - React-perflogger (= 0.74.0) 332 | - React-runtimeexecutor (= 0.74.0) 333 | - React-debug (0.74.0) 334 | - React-Fabric (0.74.0): 335 | - DoubleConversion 336 | - fmt (= 9.1.0) 337 | - glog 338 | - hermes-engine 339 | - RCT-Folly/Fabric (= 2024.01.01.00) 340 | - RCTRequired 341 | - RCTTypeSafety 342 | - React-Core 343 | - React-cxxreact 344 | - React-debug 345 | - React-Fabric/animations (= 0.74.0) 346 | - React-Fabric/attributedstring (= 0.74.0) 347 | - React-Fabric/componentregistry (= 0.74.0) 348 | - React-Fabric/componentregistrynative (= 0.74.0) 349 | - React-Fabric/components (= 0.74.0) 350 | - React-Fabric/core (= 0.74.0) 351 | - React-Fabric/imagemanager (= 0.74.0) 352 | - React-Fabric/leakchecker (= 0.74.0) 353 | - React-Fabric/mounting (= 0.74.0) 354 | - React-Fabric/scheduler (= 0.74.0) 355 | - React-Fabric/telemetry (= 0.74.0) 356 | - React-Fabric/templateprocessor (= 0.74.0) 357 | - React-Fabric/textlayoutmanager (= 0.74.0) 358 | - React-Fabric/uimanager (= 0.74.0) 359 | - React-graphics 360 | - React-jsi 361 | - React-jsiexecutor 362 | - React-logger 363 | - React-rendererdebug 364 | - React-runtimescheduler 365 | - React-utils 366 | - ReactCommon/turbomodule/core 367 | - React-Fabric/animations (0.74.0): 368 | - DoubleConversion 369 | - fmt (= 9.1.0) 370 | - glog 371 | - hermes-engine 372 | - RCT-Folly/Fabric (= 2024.01.01.00) 373 | - RCTRequired 374 | - RCTTypeSafety 375 | - React-Core 376 | - React-cxxreact 377 | - React-debug 378 | - React-graphics 379 | - React-jsi 380 | - React-jsiexecutor 381 | - React-logger 382 | - React-rendererdebug 383 | - React-runtimescheduler 384 | - React-utils 385 | - ReactCommon/turbomodule/core 386 | - React-Fabric/attributedstring (0.74.0): 387 | - DoubleConversion 388 | - fmt (= 9.1.0) 389 | - glog 390 | - hermes-engine 391 | - RCT-Folly/Fabric (= 2024.01.01.00) 392 | - RCTRequired 393 | - RCTTypeSafety 394 | - React-Core 395 | - React-cxxreact 396 | - React-debug 397 | - React-graphics 398 | - React-jsi 399 | - React-jsiexecutor 400 | - React-logger 401 | - React-rendererdebug 402 | - React-runtimescheduler 403 | - React-utils 404 | - ReactCommon/turbomodule/core 405 | - React-Fabric/componentregistry (0.74.0): 406 | - DoubleConversion 407 | - fmt (= 9.1.0) 408 | - glog 409 | - hermes-engine 410 | - RCT-Folly/Fabric (= 2024.01.01.00) 411 | - RCTRequired 412 | - RCTTypeSafety 413 | - React-Core 414 | - React-cxxreact 415 | - React-debug 416 | - React-graphics 417 | - React-jsi 418 | - React-jsiexecutor 419 | - React-logger 420 | - React-rendererdebug 421 | - React-runtimescheduler 422 | - React-utils 423 | - ReactCommon/turbomodule/core 424 | - React-Fabric/componentregistrynative (0.74.0): 425 | - DoubleConversion 426 | - fmt (= 9.1.0) 427 | - glog 428 | - hermes-engine 429 | - RCT-Folly/Fabric (= 2024.01.01.00) 430 | - RCTRequired 431 | - RCTTypeSafety 432 | - React-Core 433 | - React-cxxreact 434 | - React-debug 435 | - React-graphics 436 | - React-jsi 437 | - React-jsiexecutor 438 | - React-logger 439 | - React-rendererdebug 440 | - React-runtimescheduler 441 | - React-utils 442 | - ReactCommon/turbomodule/core 443 | - React-Fabric/components (0.74.0): 444 | - DoubleConversion 445 | - fmt (= 9.1.0) 446 | - glog 447 | - hermes-engine 448 | - RCT-Folly/Fabric (= 2024.01.01.00) 449 | - RCTRequired 450 | - RCTTypeSafety 451 | - React-Core 452 | - React-cxxreact 453 | - React-debug 454 | - React-Fabric/components/inputaccessory (= 0.74.0) 455 | - React-Fabric/components/legacyviewmanagerinterop (= 0.74.0) 456 | - React-Fabric/components/modal (= 0.74.0) 457 | - React-Fabric/components/rncore (= 0.74.0) 458 | - React-Fabric/components/root (= 0.74.0) 459 | - React-Fabric/components/safeareaview (= 0.74.0) 460 | - React-Fabric/components/scrollview (= 0.74.0) 461 | - React-Fabric/components/text (= 0.74.0) 462 | - React-Fabric/components/textinput (= 0.74.0) 463 | - React-Fabric/components/unimplementedview (= 0.74.0) 464 | - React-Fabric/components/view (= 0.74.0) 465 | - React-graphics 466 | - React-jsi 467 | - React-jsiexecutor 468 | - React-logger 469 | - React-rendererdebug 470 | - React-runtimescheduler 471 | - React-utils 472 | - ReactCommon/turbomodule/core 473 | - React-Fabric/components/inputaccessory (0.74.0): 474 | - DoubleConversion 475 | - fmt (= 9.1.0) 476 | - glog 477 | - hermes-engine 478 | - RCT-Folly/Fabric (= 2024.01.01.00) 479 | - RCTRequired 480 | - RCTTypeSafety 481 | - React-Core 482 | - React-cxxreact 483 | - React-debug 484 | - React-graphics 485 | - React-jsi 486 | - React-jsiexecutor 487 | - React-logger 488 | - React-rendererdebug 489 | - React-runtimescheduler 490 | - React-utils 491 | - ReactCommon/turbomodule/core 492 | - React-Fabric/components/legacyviewmanagerinterop (0.74.0): 493 | - DoubleConversion 494 | - fmt (= 9.1.0) 495 | - glog 496 | - hermes-engine 497 | - RCT-Folly/Fabric (= 2024.01.01.00) 498 | - RCTRequired 499 | - RCTTypeSafety 500 | - React-Core 501 | - React-cxxreact 502 | - React-debug 503 | - React-graphics 504 | - React-jsi 505 | - React-jsiexecutor 506 | - React-logger 507 | - React-rendererdebug 508 | - React-runtimescheduler 509 | - React-utils 510 | - ReactCommon/turbomodule/core 511 | - React-Fabric/components/modal (0.74.0): 512 | - DoubleConversion 513 | - fmt (= 9.1.0) 514 | - glog 515 | - hermes-engine 516 | - RCT-Folly/Fabric (= 2024.01.01.00) 517 | - RCTRequired 518 | - RCTTypeSafety 519 | - React-Core 520 | - React-cxxreact 521 | - React-debug 522 | - React-graphics 523 | - React-jsi 524 | - React-jsiexecutor 525 | - React-logger 526 | - React-rendererdebug 527 | - React-runtimescheduler 528 | - React-utils 529 | - ReactCommon/turbomodule/core 530 | - React-Fabric/components/rncore (0.74.0): 531 | - DoubleConversion 532 | - fmt (= 9.1.0) 533 | - glog 534 | - hermes-engine 535 | - RCT-Folly/Fabric (= 2024.01.01.00) 536 | - RCTRequired 537 | - RCTTypeSafety 538 | - React-Core 539 | - React-cxxreact 540 | - React-debug 541 | - React-graphics 542 | - React-jsi 543 | - React-jsiexecutor 544 | - React-logger 545 | - React-rendererdebug 546 | - React-runtimescheduler 547 | - React-utils 548 | - ReactCommon/turbomodule/core 549 | - React-Fabric/components/root (0.74.0): 550 | - DoubleConversion 551 | - fmt (= 9.1.0) 552 | - glog 553 | - hermes-engine 554 | - RCT-Folly/Fabric (= 2024.01.01.00) 555 | - RCTRequired 556 | - RCTTypeSafety 557 | - React-Core 558 | - React-cxxreact 559 | - React-debug 560 | - React-graphics 561 | - React-jsi 562 | - React-jsiexecutor 563 | - React-logger 564 | - React-rendererdebug 565 | - React-runtimescheduler 566 | - React-utils 567 | - ReactCommon/turbomodule/core 568 | - React-Fabric/components/safeareaview (0.74.0): 569 | - DoubleConversion 570 | - fmt (= 9.1.0) 571 | - glog 572 | - hermes-engine 573 | - RCT-Folly/Fabric (= 2024.01.01.00) 574 | - RCTRequired 575 | - RCTTypeSafety 576 | - React-Core 577 | - React-cxxreact 578 | - React-debug 579 | - React-graphics 580 | - React-jsi 581 | - React-jsiexecutor 582 | - React-logger 583 | - React-rendererdebug 584 | - React-runtimescheduler 585 | - React-utils 586 | - ReactCommon/turbomodule/core 587 | - React-Fabric/components/scrollview (0.74.0): 588 | - DoubleConversion 589 | - fmt (= 9.1.0) 590 | - glog 591 | - hermes-engine 592 | - RCT-Folly/Fabric (= 2024.01.01.00) 593 | - RCTRequired 594 | - RCTTypeSafety 595 | - React-Core 596 | - React-cxxreact 597 | - React-debug 598 | - React-graphics 599 | - React-jsi 600 | - React-jsiexecutor 601 | - React-logger 602 | - React-rendererdebug 603 | - React-runtimescheduler 604 | - React-utils 605 | - ReactCommon/turbomodule/core 606 | - React-Fabric/components/text (0.74.0): 607 | - DoubleConversion 608 | - fmt (= 9.1.0) 609 | - glog 610 | - hermes-engine 611 | - RCT-Folly/Fabric (= 2024.01.01.00) 612 | - RCTRequired 613 | - RCTTypeSafety 614 | - React-Core 615 | - React-cxxreact 616 | - React-debug 617 | - React-graphics 618 | - React-jsi 619 | - React-jsiexecutor 620 | - React-logger 621 | - React-rendererdebug 622 | - React-runtimescheduler 623 | - React-utils 624 | - ReactCommon/turbomodule/core 625 | - React-Fabric/components/textinput (0.74.0): 626 | - DoubleConversion 627 | - fmt (= 9.1.0) 628 | - glog 629 | - hermes-engine 630 | - RCT-Folly/Fabric (= 2024.01.01.00) 631 | - RCTRequired 632 | - RCTTypeSafety 633 | - React-Core 634 | - React-cxxreact 635 | - React-debug 636 | - React-graphics 637 | - React-jsi 638 | - React-jsiexecutor 639 | - React-logger 640 | - React-rendererdebug 641 | - React-runtimescheduler 642 | - React-utils 643 | - ReactCommon/turbomodule/core 644 | - React-Fabric/components/unimplementedview (0.74.0): 645 | - DoubleConversion 646 | - fmt (= 9.1.0) 647 | - glog 648 | - hermes-engine 649 | - RCT-Folly/Fabric (= 2024.01.01.00) 650 | - RCTRequired 651 | - RCTTypeSafety 652 | - React-Core 653 | - React-cxxreact 654 | - React-debug 655 | - React-graphics 656 | - React-jsi 657 | - React-jsiexecutor 658 | - React-logger 659 | - React-rendererdebug 660 | - React-runtimescheduler 661 | - React-utils 662 | - ReactCommon/turbomodule/core 663 | - React-Fabric/components/view (0.74.0): 664 | - DoubleConversion 665 | - fmt (= 9.1.0) 666 | - glog 667 | - hermes-engine 668 | - RCT-Folly/Fabric (= 2024.01.01.00) 669 | - RCTRequired 670 | - RCTTypeSafety 671 | - React-Core 672 | - React-cxxreact 673 | - React-debug 674 | - React-graphics 675 | - React-jsi 676 | - React-jsiexecutor 677 | - React-logger 678 | - React-rendererdebug 679 | - React-runtimescheduler 680 | - React-utils 681 | - ReactCommon/turbomodule/core 682 | - Yoga 683 | - React-Fabric/core (0.74.0): 684 | - DoubleConversion 685 | - fmt (= 9.1.0) 686 | - glog 687 | - hermes-engine 688 | - RCT-Folly/Fabric (= 2024.01.01.00) 689 | - RCTRequired 690 | - RCTTypeSafety 691 | - React-Core 692 | - React-cxxreact 693 | - React-debug 694 | - React-graphics 695 | - React-jsi 696 | - React-jsiexecutor 697 | - React-logger 698 | - React-rendererdebug 699 | - React-runtimescheduler 700 | - React-utils 701 | - ReactCommon/turbomodule/core 702 | - React-Fabric/imagemanager (0.74.0): 703 | - DoubleConversion 704 | - fmt (= 9.1.0) 705 | - glog 706 | - hermes-engine 707 | - RCT-Folly/Fabric (= 2024.01.01.00) 708 | - RCTRequired 709 | - RCTTypeSafety 710 | - React-Core 711 | - React-cxxreact 712 | - React-debug 713 | - React-graphics 714 | - React-jsi 715 | - React-jsiexecutor 716 | - React-logger 717 | - React-rendererdebug 718 | - React-runtimescheduler 719 | - React-utils 720 | - ReactCommon/turbomodule/core 721 | - React-Fabric/leakchecker (0.74.0): 722 | - DoubleConversion 723 | - fmt (= 9.1.0) 724 | - glog 725 | - hermes-engine 726 | - RCT-Folly/Fabric (= 2024.01.01.00) 727 | - RCTRequired 728 | - RCTTypeSafety 729 | - React-Core 730 | - React-cxxreact 731 | - React-debug 732 | - React-graphics 733 | - React-jsi 734 | - React-jsiexecutor 735 | - React-logger 736 | - React-rendererdebug 737 | - React-runtimescheduler 738 | - React-utils 739 | - ReactCommon/turbomodule/core 740 | - React-Fabric/mounting (0.74.0): 741 | - DoubleConversion 742 | - fmt (= 9.1.0) 743 | - glog 744 | - hermes-engine 745 | - RCT-Folly/Fabric (= 2024.01.01.00) 746 | - RCTRequired 747 | - RCTTypeSafety 748 | - React-Core 749 | - React-cxxreact 750 | - React-debug 751 | - React-graphics 752 | - React-jsi 753 | - React-jsiexecutor 754 | - React-logger 755 | - React-rendererdebug 756 | - React-runtimescheduler 757 | - React-utils 758 | - ReactCommon/turbomodule/core 759 | - React-Fabric/scheduler (0.74.0): 760 | - DoubleConversion 761 | - fmt (= 9.1.0) 762 | - glog 763 | - hermes-engine 764 | - RCT-Folly/Fabric (= 2024.01.01.00) 765 | - RCTRequired 766 | - RCTTypeSafety 767 | - React-Core 768 | - React-cxxreact 769 | - React-debug 770 | - React-graphics 771 | - React-jsi 772 | - React-jsiexecutor 773 | - React-logger 774 | - React-rendererdebug 775 | - React-runtimescheduler 776 | - React-utils 777 | - ReactCommon/turbomodule/core 778 | - React-Fabric/telemetry (0.74.0): 779 | - DoubleConversion 780 | - fmt (= 9.1.0) 781 | - glog 782 | - hermes-engine 783 | - RCT-Folly/Fabric (= 2024.01.01.00) 784 | - RCTRequired 785 | - RCTTypeSafety 786 | - React-Core 787 | - React-cxxreact 788 | - React-debug 789 | - React-graphics 790 | - React-jsi 791 | - React-jsiexecutor 792 | - React-logger 793 | - React-rendererdebug 794 | - React-runtimescheduler 795 | - React-utils 796 | - ReactCommon/turbomodule/core 797 | - React-Fabric/templateprocessor (0.74.0): 798 | - DoubleConversion 799 | - fmt (= 9.1.0) 800 | - glog 801 | - hermes-engine 802 | - RCT-Folly/Fabric (= 2024.01.01.00) 803 | - RCTRequired 804 | - RCTTypeSafety 805 | - React-Core 806 | - React-cxxreact 807 | - React-debug 808 | - React-graphics 809 | - React-jsi 810 | - React-jsiexecutor 811 | - React-logger 812 | - React-rendererdebug 813 | - React-runtimescheduler 814 | - React-utils 815 | - ReactCommon/turbomodule/core 816 | - React-Fabric/textlayoutmanager (0.74.0): 817 | - DoubleConversion 818 | - fmt (= 9.1.0) 819 | - glog 820 | - hermes-engine 821 | - RCT-Folly/Fabric (= 2024.01.01.00) 822 | - RCTRequired 823 | - RCTTypeSafety 824 | - React-Core 825 | - React-cxxreact 826 | - React-debug 827 | - React-Fabric/uimanager 828 | - React-graphics 829 | - React-jsi 830 | - React-jsiexecutor 831 | - React-logger 832 | - React-rendererdebug 833 | - React-runtimescheduler 834 | - React-utils 835 | - ReactCommon/turbomodule/core 836 | - React-Fabric/uimanager (0.74.0): 837 | - DoubleConversion 838 | - fmt (= 9.1.0) 839 | - glog 840 | - hermes-engine 841 | - RCT-Folly/Fabric (= 2024.01.01.00) 842 | - RCTRequired 843 | - RCTTypeSafety 844 | - React-Core 845 | - React-cxxreact 846 | - React-debug 847 | - React-graphics 848 | - React-jsi 849 | - React-jsiexecutor 850 | - React-logger 851 | - React-rendererdebug 852 | - React-runtimescheduler 853 | - React-utils 854 | - ReactCommon/turbomodule/core 855 | - React-FabricImage (0.74.0): 856 | - DoubleConversion 857 | - fmt (= 9.1.0) 858 | - glog 859 | - hermes-engine 860 | - RCT-Folly/Fabric (= 2024.01.01.00) 861 | - RCTRequired (= 0.74.0) 862 | - RCTTypeSafety (= 0.74.0) 863 | - React-Fabric 864 | - React-graphics 865 | - React-ImageManager 866 | - React-jsi 867 | - React-jsiexecutor (= 0.74.0) 868 | - React-logger 869 | - React-rendererdebug 870 | - React-utils 871 | - ReactCommon 872 | - Yoga 873 | - React-featureflags (0.74.0) 874 | - React-graphics (0.74.0): 875 | - DoubleConversion 876 | - fmt (= 9.1.0) 877 | - glog 878 | - RCT-Folly/Fabric (= 2024.01.01.00) 879 | - React-Core/Default (= 0.74.0) 880 | - React-utils 881 | - React-hermes (0.74.0): 882 | - DoubleConversion 883 | - fmt (= 9.1.0) 884 | - glog 885 | - hermes-engine 886 | - RCT-Folly (= 2024.01.01.00) 887 | - React-cxxreact (= 0.74.0) 888 | - React-jsi 889 | - React-jsiexecutor (= 0.74.0) 890 | - React-jsinspector 891 | - React-perflogger (= 0.74.0) 892 | - React-runtimeexecutor 893 | - React-ImageManager (0.74.0): 894 | - glog 895 | - RCT-Folly/Fabric 896 | - React-Core/Default 897 | - React-debug 898 | - React-Fabric 899 | - React-graphics 900 | - React-rendererdebug 901 | - React-utils 902 | - React-jserrorhandler (0.74.0): 903 | - RCT-Folly/Fabric (= 2024.01.01.00) 904 | - React-debug 905 | - React-jsi 906 | - React-Mapbuffer 907 | - React-jsi (0.74.0): 908 | - boost (= 1.83.0) 909 | - DoubleConversion 910 | - fmt (= 9.1.0) 911 | - glog 912 | - hermes-engine 913 | - RCT-Folly (= 2024.01.01.00) 914 | - React-jsiexecutor (0.74.0): 915 | - DoubleConversion 916 | - fmt (= 9.1.0) 917 | - glog 918 | - hermes-engine 919 | - RCT-Folly (= 2024.01.01.00) 920 | - React-cxxreact (= 0.74.0) 921 | - React-jsi (= 0.74.0) 922 | - React-jsinspector 923 | - React-perflogger (= 0.74.0) 924 | - React-jsinspector (0.74.0): 925 | - DoubleConversion 926 | - glog 927 | - hermes-engine 928 | - RCT-Folly (= 2024.01.01.00) 929 | - React-featureflags 930 | - React-jsi 931 | - React-runtimeexecutor (= 0.74.0) 932 | - React-jsitracing (0.74.0): 933 | - React-jsi 934 | - React-logger (0.74.0): 935 | - glog 936 | - React-Mapbuffer (0.74.0): 937 | - glog 938 | - React-debug 939 | - react-native-safe-area-context (4.10.1): 940 | - React-Core 941 | - React-nativeconfig (0.74.0) 942 | - React-NativeModulesApple (0.74.0): 943 | - glog 944 | - hermes-engine 945 | - React-callinvoker 946 | - React-Core 947 | - React-cxxreact 948 | - React-jsi 949 | - React-jsinspector 950 | - React-runtimeexecutor 951 | - ReactCommon/turbomodule/bridging 952 | - ReactCommon/turbomodule/core 953 | - React-perflogger (0.74.0) 954 | - React-RCTActionSheet (0.74.0): 955 | - React-Core/RCTActionSheetHeaders (= 0.74.0) 956 | - React-RCTAnimation (0.74.0): 957 | - RCT-Folly (= 2024.01.01.00) 958 | - RCTTypeSafety 959 | - React-Codegen 960 | - React-Core/RCTAnimationHeaders 961 | - React-jsi 962 | - React-NativeModulesApple 963 | - ReactCommon 964 | - React-RCTAppDelegate (0.74.0): 965 | - RCT-Folly (= 2024.01.01.00) 966 | - RCTRequired 967 | - RCTTypeSafety 968 | - React-Codegen 969 | - React-Core 970 | - React-CoreModules 971 | - React-debug 972 | - React-Fabric 973 | - React-graphics 974 | - React-hermes 975 | - React-nativeconfig 976 | - React-NativeModulesApple 977 | - React-RCTFabric 978 | - React-RCTImage 979 | - React-RCTNetwork 980 | - React-rendererdebug 981 | - React-RuntimeApple 982 | - React-RuntimeCore 983 | - React-RuntimeHermes 984 | - React-runtimescheduler 985 | - React-utils 986 | - ReactCommon 987 | - React-RCTBlob (0.74.0): 988 | - DoubleConversion 989 | - fmt (= 9.1.0) 990 | - hermes-engine 991 | - RCT-Folly (= 2024.01.01.00) 992 | - React-Codegen 993 | - React-Core/RCTBlobHeaders 994 | - React-Core/RCTWebSocket 995 | - React-jsi 996 | - React-jsinspector 997 | - React-NativeModulesApple 998 | - React-RCTNetwork 999 | - ReactCommon 1000 | - React-RCTFabric (0.74.0): 1001 | - glog 1002 | - hermes-engine 1003 | - RCT-Folly/Fabric (= 2024.01.01.00) 1004 | - React-Core 1005 | - React-debug 1006 | - React-Fabric 1007 | - React-FabricImage 1008 | - React-featureflags 1009 | - React-graphics 1010 | - React-ImageManager 1011 | - React-jsi 1012 | - React-jsinspector 1013 | - React-nativeconfig 1014 | - React-RCTImage 1015 | - React-RCTText 1016 | - React-rendererdebug 1017 | - React-runtimescheduler 1018 | - React-utils 1019 | - Yoga 1020 | - React-RCTImage (0.74.0): 1021 | - RCT-Folly (= 2024.01.01.00) 1022 | - RCTTypeSafety 1023 | - React-Codegen 1024 | - React-Core/RCTImageHeaders 1025 | - React-jsi 1026 | - React-NativeModulesApple 1027 | - React-RCTNetwork 1028 | - ReactCommon 1029 | - React-RCTLinking (0.74.0): 1030 | - React-Codegen 1031 | - React-Core/RCTLinkingHeaders (= 0.74.0) 1032 | - React-jsi (= 0.74.0) 1033 | - React-NativeModulesApple 1034 | - ReactCommon 1035 | - ReactCommon/turbomodule/core (= 0.74.0) 1036 | - React-RCTNetwork (0.74.0): 1037 | - RCT-Folly (= 2024.01.01.00) 1038 | - RCTTypeSafety 1039 | - React-Codegen 1040 | - React-Core/RCTNetworkHeaders 1041 | - React-jsi 1042 | - React-NativeModulesApple 1043 | - ReactCommon 1044 | - React-RCTSettings (0.74.0): 1045 | - RCT-Folly (= 2024.01.01.00) 1046 | - RCTTypeSafety 1047 | - React-Codegen 1048 | - React-Core/RCTSettingsHeaders 1049 | - React-jsi 1050 | - React-NativeModulesApple 1051 | - ReactCommon 1052 | - React-RCTText (0.74.0): 1053 | - React-Core/RCTTextHeaders (= 0.74.0) 1054 | - Yoga 1055 | - React-RCTVibration (0.74.0): 1056 | - RCT-Folly (= 2024.01.01.00) 1057 | - React-Codegen 1058 | - React-Core/RCTVibrationHeaders 1059 | - React-jsi 1060 | - React-NativeModulesApple 1061 | - ReactCommon 1062 | - React-rendererdebug (0.74.0): 1063 | - DoubleConversion 1064 | - fmt (= 9.1.0) 1065 | - RCT-Folly (= 2024.01.01.00) 1066 | - React-debug 1067 | - React-rncore (0.74.0) 1068 | - React-RuntimeApple (0.74.0): 1069 | - hermes-engine 1070 | - RCT-Folly/Fabric (= 2024.01.01.00) 1071 | - React-callinvoker 1072 | - React-Core/Default 1073 | - React-CoreModules 1074 | - React-cxxreact 1075 | - React-jserrorhandler 1076 | - React-jsi 1077 | - React-jsiexecutor 1078 | - React-jsinspector 1079 | - React-Mapbuffer 1080 | - React-NativeModulesApple 1081 | - React-RCTFabric 1082 | - React-RuntimeCore 1083 | - React-runtimeexecutor 1084 | - React-RuntimeHermes 1085 | - React-utils 1086 | - React-RuntimeCore (0.74.0): 1087 | - glog 1088 | - hermes-engine 1089 | - RCT-Folly/Fabric (= 2024.01.01.00) 1090 | - React-cxxreact 1091 | - React-featureflags 1092 | - React-jserrorhandler 1093 | - React-jsi 1094 | - React-jsiexecutor 1095 | - React-jsinspector 1096 | - React-runtimeexecutor 1097 | - React-runtimescheduler 1098 | - React-utils 1099 | - React-runtimeexecutor (0.74.0): 1100 | - React-jsi (= 0.74.0) 1101 | - React-RuntimeHermes (0.74.0): 1102 | - hermes-engine 1103 | - RCT-Folly/Fabric (= 2024.01.01.00) 1104 | - React-featureflags 1105 | - React-hermes 1106 | - React-jsi 1107 | - React-jsinspector 1108 | - React-jsitracing 1109 | - React-nativeconfig 1110 | - React-RuntimeCore 1111 | - React-utils 1112 | - React-runtimescheduler (0.74.0): 1113 | - glog 1114 | - hermes-engine 1115 | - RCT-Folly (= 2024.01.01.00) 1116 | - React-callinvoker 1117 | - React-cxxreact 1118 | - React-debug 1119 | - React-featureflags 1120 | - React-jsi 1121 | - React-rendererdebug 1122 | - React-runtimeexecutor 1123 | - React-utils 1124 | - React-utils (0.74.0): 1125 | - glog 1126 | - hermes-engine 1127 | - RCT-Folly (= 2024.01.01.00) 1128 | - React-debug 1129 | - React-jsi (= 0.74.0) 1130 | - ReactCommon (0.74.0): 1131 | - ReactCommon/turbomodule (= 0.74.0) 1132 | - ReactCommon/turbomodule (0.74.0): 1133 | - DoubleConversion 1134 | - fmt (= 9.1.0) 1135 | - glog 1136 | - hermes-engine 1137 | - RCT-Folly (= 2024.01.01.00) 1138 | - React-callinvoker (= 0.74.0) 1139 | - React-cxxreact (= 0.74.0) 1140 | - React-jsi (= 0.74.0) 1141 | - React-logger (= 0.74.0) 1142 | - React-perflogger (= 0.74.0) 1143 | - ReactCommon/turbomodule/bridging (= 0.74.0) 1144 | - ReactCommon/turbomodule/core (= 0.74.0) 1145 | - ReactCommon/turbomodule/bridging (0.74.0): 1146 | - DoubleConversion 1147 | - fmt (= 9.1.0) 1148 | - glog 1149 | - hermes-engine 1150 | - RCT-Folly (= 2024.01.01.00) 1151 | - React-callinvoker (= 0.74.0) 1152 | - React-cxxreact (= 0.74.0) 1153 | - React-jsi (= 0.74.0) 1154 | - React-logger (= 0.74.0) 1155 | - React-perflogger (= 0.74.0) 1156 | - ReactCommon/turbomodule/core (0.74.0): 1157 | - DoubleConversion 1158 | - fmt (= 9.1.0) 1159 | - glog 1160 | - hermes-engine 1161 | - RCT-Folly (= 2024.01.01.00) 1162 | - React-callinvoker (= 0.74.0) 1163 | - React-cxxreact (= 0.74.0) 1164 | - React-debug (= 0.74.0) 1165 | - React-jsi (= 0.74.0) 1166 | - React-logger (= 0.74.0) 1167 | - React-perflogger (= 0.74.0) 1168 | - React-utils (= 0.74.0) 1169 | - ReactNativeKeyboardManager (6.5.16-0): 1170 | - IQKeyboardManagerSwift (= 6.5.16) 1171 | - React-Core 1172 | - React-RCTText 1173 | - RNScreens (3.31.1): 1174 | - DoubleConversion 1175 | - glog 1176 | - hermes-engine 1177 | - RCT-Folly (= 2024.01.01.00) 1178 | - RCTRequired 1179 | - RCTTypeSafety 1180 | - React-Codegen 1181 | - React-Core 1182 | - React-debug 1183 | - React-Fabric 1184 | - React-featureflags 1185 | - React-graphics 1186 | - React-ImageManager 1187 | - React-NativeModulesApple 1188 | - React-RCTFabric 1189 | - React-RCTImage 1190 | - React-rendererdebug 1191 | - React-utils 1192 | - ReactCommon/turbomodule/bridging 1193 | - ReactCommon/turbomodule/core 1194 | - Yoga 1195 | - SocketRocket (0.7.0) 1196 | - Yoga (0.0.0) 1197 | 1198 | DEPENDENCIES: 1199 | - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) 1200 | - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) 1201 | - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) 1202 | - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`) 1203 | - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) 1204 | - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) 1205 | - IQKeyboardManagerSwift (from `https://github.com/douglasjunior/IQKeyboardManager.git`, branch `react-native-keyboard-manager`) 1206 | - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) 1207 | - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) 1208 | - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) 1209 | - RCTRequired (from `../node_modules/react-native/Libraries/Required`) 1210 | - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) 1211 | - React (from `../node_modules/react-native/`) 1212 | - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) 1213 | - React-Codegen (from `build/generated/ios`) 1214 | - React-Core (from `../node_modules/react-native/`) 1215 | - React-Core/RCTWebSocket (from `../node_modules/react-native/`) 1216 | - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) 1217 | - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) 1218 | - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) 1219 | - React-Fabric (from `../node_modules/react-native/ReactCommon`) 1220 | - React-FabricImage (from `../node_modules/react-native/ReactCommon`) 1221 | - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`) 1222 | - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) 1223 | - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) 1224 | - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) 1225 | - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) 1226 | - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) 1227 | - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) 1228 | - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) 1229 | - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) 1230 | - React-logger (from `../node_modules/react-native/ReactCommon/logger`) 1231 | - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) 1232 | - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) 1233 | - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) 1234 | - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) 1235 | - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) 1236 | - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) 1237 | - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) 1238 | - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) 1239 | - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) 1240 | - React-RCTFabric (from `../node_modules/react-native/React`) 1241 | - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) 1242 | - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) 1243 | - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) 1244 | - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) 1245 | - React-RCTText (from `../node_modules/react-native/Libraries/Text`) 1246 | - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) 1247 | - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) 1248 | - React-rncore (from `../node_modules/react-native/ReactCommon`) 1249 | - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) 1250 | - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`) 1251 | - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) 1252 | - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`) 1253 | - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) 1254 | - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) 1255 | - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) 1256 | - ReactNativeKeyboardManager (from `../node_modules/react-native-keyboard-manager`) 1257 | - RNScreens (from `../node_modules/react-native-screens`) 1258 | - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) 1259 | 1260 | SPEC REPOS: 1261 | trunk: 1262 | - SocketRocket 1263 | 1264 | EXTERNAL SOURCES: 1265 | boost: 1266 | :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" 1267 | DoubleConversion: 1268 | :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" 1269 | FBLazyVector: 1270 | :path: "../node_modules/react-native/Libraries/FBLazyVector" 1271 | fmt: 1272 | :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec" 1273 | glog: 1274 | :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" 1275 | hermes-engine: 1276 | :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" 1277 | :tag: hermes-2024-02-20-RNv0.74.0-999cfd9979b5f57b1269119679ab8cdf60897de9 1278 | IQKeyboardManagerSwift: 1279 | :branch: react-native-keyboard-manager 1280 | :git: https://github.com/douglasjunior/IQKeyboardManager.git 1281 | RCT-Folly: 1282 | :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" 1283 | RCTDeprecation: 1284 | :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" 1285 | RCTRequired: 1286 | :path: "../node_modules/react-native/Libraries/Required" 1287 | RCTTypeSafety: 1288 | :path: "../node_modules/react-native/Libraries/TypeSafety" 1289 | React: 1290 | :path: "../node_modules/react-native/" 1291 | React-callinvoker: 1292 | :path: "../node_modules/react-native/ReactCommon/callinvoker" 1293 | React-Codegen: 1294 | :path: build/generated/ios 1295 | React-Core: 1296 | :path: "../node_modules/react-native/" 1297 | React-CoreModules: 1298 | :path: "../node_modules/react-native/React/CoreModules" 1299 | React-cxxreact: 1300 | :path: "../node_modules/react-native/ReactCommon/cxxreact" 1301 | React-debug: 1302 | :path: "../node_modules/react-native/ReactCommon/react/debug" 1303 | React-Fabric: 1304 | :path: "../node_modules/react-native/ReactCommon" 1305 | React-FabricImage: 1306 | :path: "../node_modules/react-native/ReactCommon" 1307 | React-featureflags: 1308 | :path: "../node_modules/react-native/ReactCommon/react/featureflags" 1309 | React-graphics: 1310 | :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" 1311 | React-hermes: 1312 | :path: "../node_modules/react-native/ReactCommon/hermes" 1313 | React-ImageManager: 1314 | :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" 1315 | React-jserrorhandler: 1316 | :path: "../node_modules/react-native/ReactCommon/jserrorhandler" 1317 | React-jsi: 1318 | :path: "../node_modules/react-native/ReactCommon/jsi" 1319 | React-jsiexecutor: 1320 | :path: "../node_modules/react-native/ReactCommon/jsiexecutor" 1321 | React-jsinspector: 1322 | :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" 1323 | React-jsitracing: 1324 | :path: "../node_modules/react-native/ReactCommon/hermes/executor/" 1325 | React-logger: 1326 | :path: "../node_modules/react-native/ReactCommon/logger" 1327 | React-Mapbuffer: 1328 | :path: "../node_modules/react-native/ReactCommon" 1329 | react-native-safe-area-context: 1330 | :path: "../node_modules/react-native-safe-area-context" 1331 | React-nativeconfig: 1332 | :path: "../node_modules/react-native/ReactCommon" 1333 | React-NativeModulesApple: 1334 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" 1335 | React-perflogger: 1336 | :path: "../node_modules/react-native/ReactCommon/reactperflogger" 1337 | React-RCTActionSheet: 1338 | :path: "../node_modules/react-native/Libraries/ActionSheetIOS" 1339 | React-RCTAnimation: 1340 | :path: "../node_modules/react-native/Libraries/NativeAnimation" 1341 | React-RCTAppDelegate: 1342 | :path: "../node_modules/react-native/Libraries/AppDelegate" 1343 | React-RCTBlob: 1344 | :path: "../node_modules/react-native/Libraries/Blob" 1345 | React-RCTFabric: 1346 | :path: "../node_modules/react-native/React" 1347 | React-RCTImage: 1348 | :path: "../node_modules/react-native/Libraries/Image" 1349 | React-RCTLinking: 1350 | :path: "../node_modules/react-native/Libraries/LinkingIOS" 1351 | React-RCTNetwork: 1352 | :path: "../node_modules/react-native/Libraries/Network" 1353 | React-RCTSettings: 1354 | :path: "../node_modules/react-native/Libraries/Settings" 1355 | React-RCTText: 1356 | :path: "../node_modules/react-native/Libraries/Text" 1357 | React-RCTVibration: 1358 | :path: "../node_modules/react-native/Libraries/Vibration" 1359 | React-rendererdebug: 1360 | :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" 1361 | React-rncore: 1362 | :path: "../node_modules/react-native/ReactCommon" 1363 | React-RuntimeApple: 1364 | :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios" 1365 | React-RuntimeCore: 1366 | :path: "../node_modules/react-native/ReactCommon/react/runtime" 1367 | React-runtimeexecutor: 1368 | :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" 1369 | React-RuntimeHermes: 1370 | :path: "../node_modules/react-native/ReactCommon/react/runtime" 1371 | React-runtimescheduler: 1372 | :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" 1373 | React-utils: 1374 | :path: "../node_modules/react-native/ReactCommon/react/utils" 1375 | ReactCommon: 1376 | :path: "../node_modules/react-native/ReactCommon" 1377 | ReactNativeKeyboardManager: 1378 | :path: "../node_modules/react-native-keyboard-manager" 1379 | RNScreens: 1380 | :path: "../node_modules/react-native-screens" 1381 | Yoga: 1382 | :path: "../node_modules/react-native/ReactCommon/yoga" 1383 | 1384 | CHECKOUT OPTIONS: 1385 | IQKeyboardManagerSwift: 1386 | :commit: 718cbed77cdd5ecd8b779afe543ba5b2df45b40a 1387 | :git: https://github.com/douglasjunior/IQKeyboardManager.git 1388 | 1389 | SPEC CHECKSUMS: 1390 | boost: d3f49c53809116a5d38da093a8aa78bf551aed09 1391 | DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5 1392 | FBLazyVector: 026c8f4ae67b06e088ae01baa2271ef8a26c0e8c 1393 | fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120 1394 | glog: c5d68082e772fa1c511173d6b30a9de2c05a69a2 1395 | hermes-engine: 6eae7edb2f563ee41d7c1f91f4f2e57c26d8a5c3 1396 | IQKeyboardManagerSwift: 90ba81812fbbd6694924a95a271fa3affdf04a14 1397 | RCT-Folly: 045d6ecaa59d826c5736dfba0b2f4083ff8d79df 1398 | RCTDeprecation: 3ca8b6c36bfb302e1895b72cfe7db0de0c92cd47 1399 | RCTRequired: 9fc183af555fd0c89a366c34c1ae70b7e03b1dc5 1400 | RCTTypeSafety: db1dd5ad1081a5e160d30bb29ef922693d5ac4b1 1401 | React: 8650d592d90b99097504b8dcfebab883972aed71 1402 | React-callinvoker: 6bb8b399ab8cec59e52458c3a592aa1fca130b68 1403 | React-Codegen: 7014b8564cb45f51d01c950256456e20f679d42e 1404 | React-Core: 119ddf031a18926c2f59849bedcc83c1ba347419 1405 | React-CoreModules: 087c24b785afc79d29d23bffe7b02f79bb00cf76 1406 | React-cxxreact: 67a110c97ed6a53b393be3c90fc3f0b482770bd1 1407 | React-debug: 41175f3e30dfa8af6eab2631261e1eac26307f9f 1408 | React-Fabric: 235d71c7d7973fb5c3f099f2962d6b5362be6107 1409 | React-FabricImage: 44f4ee8c9331688ab5e907a40cbd49010b05e687 1410 | React-featureflags: 5e7e78c607661fe7f72bc38c6f03736e0876753a 1411 | React-graphics: 354adf8693bf849e696bf5096abc8cdc22c78ab4 1412 | React-hermes: 17c369e15cfb535d7bc880d432e0e291c81d10d9 1413 | React-ImageManager: 74e0898e24b12c45c40019b8558a1310d0b2a47c 1414 | React-jserrorhandler: 33cb327f5c6e1571b362f1a9c762ff839a5adb15 1415 | React-jsi: 1e0be0c7526a8fdd3b9e8c086bddcddbad263cd5 1416 | React-jsiexecutor: 04c1e790290e8cc3cd18e59c9cc5bdd18af325ef 1417 | React-jsinspector: 5daae7b6729d84bd61026899a6f664bdcff3ac28 1418 | React-jsitracing: 36a2bbc272300313653d980de5ab700ec86c534a 1419 | React-logger: 03f2f7b955cfe24593a2b8c9705c23e142d1ad24 1420 | React-Mapbuffer: 5e05d78fe6505f4a054b86f415733d4ad02dd314 1421 | react-native-safe-area-context: dcab599c527c2d7de2d76507a523d20a0b83823d 1422 | React-nativeconfig: 951ec32f632e81cbd7d40aebb3211313251c092e 1423 | React-NativeModulesApple: 0b3a42ca90069119ef79d8b2327d01441d71abd4 1424 | React-perflogger: 271f1111779fef70f9502d1d38da5132e5585230 1425 | React-RCTActionSheet: 5d6fb9adb11ab1bfbce6695a2b785767e4658c53 1426 | React-RCTAnimation: 86ace32c56e69b3822e7e5184ea83a79d47fc7b9 1427 | React-RCTAppDelegate: 74b45c4e3c1c23db88385d74cf4f5a8500694527 1428 | React-RCTBlob: fb91c62a549f004e251235c65c665c6890a923a3 1429 | React-RCTFabric: af6b9bc4aa9dfa0af1a1bcf5d8e5c5b1f17ae99c 1430 | React-RCTImage: b482f07cfdbe8e413edbf9d85953cecdb569472c 1431 | React-RCTLinking: fbd73a66cab34df69b2389c17f200e4722890fd9 1432 | React-RCTNetwork: fbdd716fbd6e53feb6d8e00eeb85e8184ad42ac8 1433 | React-RCTSettings: 11c3051b965593988298a3f5fb39e23bf6f7df9f 1434 | React-RCTText: f240b4d39c36c295204d29e7634a2fac450b6d29 1435 | React-RCTVibration: 1750f80b39e1ad9b4f509f4fdf19a803f7ab0d38 1436 | React-rendererdebug: a89ffa25c7670de8f22e0b322dfdd8333bc0d126 1437 | React-rncore: a3ab9e7271a5c692918e2a483beb900ff0a51169 1438 | React-RuntimeApple: cdc563e811785f675925032d3bc4092a2aaa0b82 1439 | React-RuntimeCore: f4af3a86a6a69d31721067f17196a582da25d2fc 1440 | React-runtimeexecutor: 4471221991b6e518466a0422fbeb2158c07c36e1 1441 | React-RuntimeHermes: 3d9f53ac3330bb71d42f2acb9a3061a0b992be5c 1442 | React-runtimescheduler: 7fe561d179b97cecd0c2bec0bbd08f9fd8581c26 1443 | React-utils: f013537c3371270d2095bff1d594d00d4bc9261b 1444 | ReactCommon: 2cde697fd80bd31da1d6448d25a5803088585219 1445 | ReactNativeKeyboardManager: 704d89bde3cb1e0f432bc273a44eec96eab9d90f 1446 | RNScreens: b32a9ff15bea7fcdbe5dff6477bc503f792b1208 1447 | SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d 1448 | Yoga: 56f906bf6c11c931588191dde1229fd3e4e3d557 1449 | 1450 | PODFILE CHECKSUM: 23adb97c732c72bd2c9eafb316dd8826f75b1ef1 1451 | 1452 | COCOAPODS: 1.14.2 1453 | -------------------------------------------------------------------------------- /Sample/ios/ReactNativeKeyboardManagerSample.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 54; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 00E356F31AD99517003FC87E /* ReactNativeKeyboardManagerSampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ReactNativeKeyboardManagerSampleTests.m */; }; 11 | 0C80B921A6F3F58F76C31292 /* libPods-ReactNativeKeyboardManagerSample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-ReactNativeKeyboardManagerSample.a */; }; 12 | 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; 13 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 14 | 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 15 | 7699B88040F8A987B510C191 /* libPods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.a */; }; 16 | 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; 17 | /* End PBXBuildFile section */ 18 | 19 | /* Begin PBXContainerItemProxy section */ 20 | 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { 21 | isa = PBXContainerItemProxy; 22 | containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; 23 | proxyType = 1; 24 | remoteGlobalIDString = 13B07F861A680F5B00A75B9A; 25 | remoteInfo = ReactNativeKeyboardManagerSample; 26 | }; 27 | /* End PBXContainerItemProxy section */ 28 | 29 | /* Begin PBXFileReference section */ 30 | 00E356EE1AD99517003FC87E /* ReactNativeKeyboardManagerSampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ReactNativeKeyboardManagerSampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 31 | 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 32 | 00E356F21AD99517003FC87E /* ReactNativeKeyboardManagerSampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ReactNativeKeyboardManagerSampleTests.m; sourceTree = ""; }; 33 | 13B07F961A680F5B00A75B9A /* ReactNativeKeyboardManagerSample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ReactNativeKeyboardManagerSample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 34 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = ReactNativeKeyboardManagerSample/AppDelegate.h; sourceTree = ""; }; 35 | 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = ReactNativeKeyboardManagerSample/AppDelegate.mm; sourceTree = ""; }; 36 | 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = ReactNativeKeyboardManagerSample/Images.xcassets; sourceTree = ""; }; 37 | 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = ReactNativeKeyboardManagerSample/Info.plist; sourceTree = ""; }; 38 | 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ReactNativeKeyboardManagerSample/main.m; sourceTree = ""; }; 39 | 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = ReactNativeKeyboardManagerSample/PrivacyInfo.xcprivacy; sourceTree = ""; }; 40 | 19F6CBCC0A4E27FBF8BF4A61 /* libPods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 41 | 3B4392A12AC88292D35C810B /* Pods-ReactNativeKeyboardManagerSample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeKeyboardManagerSample.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeKeyboardManagerSample/Pods-ReactNativeKeyboardManagerSample.debug.xcconfig"; sourceTree = ""; }; 42 | 5709B34CF0A7D63546082F79 /* Pods-ReactNativeKeyboardManagerSample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeKeyboardManagerSample.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeKeyboardManagerSample/Pods-ReactNativeKeyboardManagerSample.release.xcconfig"; sourceTree = ""; }; 43 | 5B7EB9410499542E8C5724F5 /* Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.debug.xcconfig"; sourceTree = ""; }; 44 | 5DCACB8F33CDC322A6C60F78 /* libPods-ReactNativeKeyboardManagerSample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeKeyboardManagerSample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 45 | 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = ReactNativeKeyboardManagerSample/LaunchScreen.storyboard; sourceTree = ""; }; 46 | 89C6BE57DB24E9ADA2F236DE /* Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.release.xcconfig"; sourceTree = ""; }; 47 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; 48 | /* End PBXFileReference section */ 49 | 50 | /* Begin PBXFrameworksBuildPhase section */ 51 | 00E356EB1AD99517003FC87E /* Frameworks */ = { 52 | isa = PBXFrameworksBuildPhase; 53 | buildActionMask = 2147483647; 54 | files = ( 55 | 7699B88040F8A987B510C191 /* libPods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.a in Frameworks */, 56 | ); 57 | runOnlyForDeploymentPostprocessing = 0; 58 | }; 59 | 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { 60 | isa = PBXFrameworksBuildPhase; 61 | buildActionMask = 2147483647; 62 | files = ( 63 | 0C80B921A6F3F58F76C31292 /* libPods-ReactNativeKeyboardManagerSample.a in Frameworks */, 64 | ); 65 | runOnlyForDeploymentPostprocessing = 0; 66 | }; 67 | /* End PBXFrameworksBuildPhase section */ 68 | 69 | /* Begin PBXGroup section */ 70 | 00E356EF1AD99517003FC87E /* ReactNativeKeyboardManagerSampleTests */ = { 71 | isa = PBXGroup; 72 | children = ( 73 | 00E356F21AD99517003FC87E /* ReactNativeKeyboardManagerSampleTests.m */, 74 | 00E356F01AD99517003FC87E /* Supporting Files */, 75 | ); 76 | path = ReactNativeKeyboardManagerSampleTests; 77 | sourceTree = ""; 78 | }; 79 | 00E356F01AD99517003FC87E /* Supporting Files */ = { 80 | isa = PBXGroup; 81 | children = ( 82 | 00E356F11AD99517003FC87E /* Info.plist */, 83 | ); 84 | name = "Supporting Files"; 85 | sourceTree = ""; 86 | }; 87 | 13B07FAE1A68108700A75B9A /* ReactNativeKeyboardManagerSample */ = { 88 | isa = PBXGroup; 89 | children = ( 90 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 91 | 13B07FB01A68108700A75B9A /* AppDelegate.mm */, 92 | 13B07FB51A68108700A75B9A /* Images.xcassets */, 93 | 13B07FB61A68108700A75B9A /* Info.plist */, 94 | 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, 95 | 13B07FB71A68108700A75B9A /* main.m */, 96 | 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */, 97 | ); 98 | name = ReactNativeKeyboardManagerSample; 99 | sourceTree = ""; 100 | }; 101 | 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { 102 | isa = PBXGroup; 103 | children = ( 104 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */, 105 | 5DCACB8F33CDC322A6C60F78 /* libPods-ReactNativeKeyboardManagerSample.a */, 106 | 19F6CBCC0A4E27FBF8BF4A61 /* libPods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.a */, 107 | ); 108 | name = Frameworks; 109 | sourceTree = ""; 110 | }; 111 | 832341AE1AAA6A7D00B99B32 /* Libraries */ = { 112 | isa = PBXGroup; 113 | children = ( 114 | ); 115 | name = Libraries; 116 | sourceTree = ""; 117 | }; 118 | 83CBB9F61A601CBA00E9B192 = { 119 | isa = PBXGroup; 120 | children = ( 121 | 13B07FAE1A68108700A75B9A /* ReactNativeKeyboardManagerSample */, 122 | 832341AE1AAA6A7D00B99B32 /* Libraries */, 123 | 00E356EF1AD99517003FC87E /* ReactNativeKeyboardManagerSampleTests */, 124 | 83CBBA001A601CBA00E9B192 /* Products */, 125 | 2D16E6871FA4F8E400B85C8A /* Frameworks */, 126 | BBD78D7AC51CEA395F1C20DB /* Pods */, 127 | ); 128 | indentWidth = 2; 129 | sourceTree = ""; 130 | tabWidth = 2; 131 | usesTabs = 0; 132 | }; 133 | 83CBBA001A601CBA00E9B192 /* Products */ = { 134 | isa = PBXGroup; 135 | children = ( 136 | 13B07F961A680F5B00A75B9A /* ReactNativeKeyboardManagerSample.app */, 137 | 00E356EE1AD99517003FC87E /* ReactNativeKeyboardManagerSampleTests.xctest */, 138 | ); 139 | name = Products; 140 | sourceTree = ""; 141 | }; 142 | BBD78D7AC51CEA395F1C20DB /* Pods */ = { 143 | isa = PBXGroup; 144 | children = ( 145 | 3B4392A12AC88292D35C810B /* Pods-ReactNativeKeyboardManagerSample.debug.xcconfig */, 146 | 5709B34CF0A7D63546082F79 /* Pods-ReactNativeKeyboardManagerSample.release.xcconfig */, 147 | 5B7EB9410499542E8C5724F5 /* Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.debug.xcconfig */, 148 | 89C6BE57DB24E9ADA2F236DE /* Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.release.xcconfig */, 149 | ); 150 | path = Pods; 151 | sourceTree = ""; 152 | }; 153 | /* End PBXGroup section */ 154 | 155 | /* Begin PBXNativeTarget section */ 156 | 00E356ED1AD99517003FC87E /* ReactNativeKeyboardManagerSampleTests */ = { 157 | isa = PBXNativeTarget; 158 | buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ReactNativeKeyboardManagerSampleTests" */; 159 | buildPhases = ( 160 | A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */, 161 | 00E356EA1AD99517003FC87E /* Sources */, 162 | 00E356EB1AD99517003FC87E /* Frameworks */, 163 | 00E356EC1AD99517003FC87E /* Resources */, 164 | C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */, 165 | F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */, 166 | ); 167 | buildRules = ( 168 | ); 169 | dependencies = ( 170 | 00E356F51AD99517003FC87E /* PBXTargetDependency */, 171 | ); 172 | name = ReactNativeKeyboardManagerSampleTests; 173 | productName = ReactNativeKeyboardManagerSampleTests; 174 | productReference = 00E356EE1AD99517003FC87E /* ReactNativeKeyboardManagerSampleTests.xctest */; 175 | productType = "com.apple.product-type.bundle.unit-test"; 176 | }; 177 | 13B07F861A680F5B00A75B9A /* ReactNativeKeyboardManagerSample */ = { 178 | isa = PBXNativeTarget; 179 | buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ReactNativeKeyboardManagerSample" */; 180 | buildPhases = ( 181 | C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, 182 | 13B07F871A680F5B00A75B9A /* Sources */, 183 | 13B07F8C1A680F5B00A75B9A /* Frameworks */, 184 | 13B07F8E1A680F5B00A75B9A /* Resources */, 185 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 186 | 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */, 187 | E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, 188 | ); 189 | buildRules = ( 190 | ); 191 | dependencies = ( 192 | ); 193 | name = ReactNativeKeyboardManagerSample; 194 | productName = ReactNativeKeyboardManagerSample; 195 | productReference = 13B07F961A680F5B00A75B9A /* ReactNativeKeyboardManagerSample.app */; 196 | productType = "com.apple.product-type.application"; 197 | }; 198 | /* End PBXNativeTarget section */ 199 | 200 | /* Begin PBXProject section */ 201 | 83CBB9F71A601CBA00E9B192 /* Project object */ = { 202 | isa = PBXProject; 203 | attributes = { 204 | LastUpgradeCheck = 1210; 205 | TargetAttributes = { 206 | 00E356ED1AD99517003FC87E = { 207 | CreatedOnToolsVersion = 6.2; 208 | TestTargetID = 13B07F861A680F5B00A75B9A; 209 | }; 210 | 13B07F861A680F5B00A75B9A = { 211 | LastSwiftMigration = 1120; 212 | }; 213 | }; 214 | }; 215 | buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "ReactNativeKeyboardManagerSample" */; 216 | compatibilityVersion = "Xcode 12.0"; 217 | developmentRegion = en; 218 | hasScannedForEncodings = 0; 219 | knownRegions = ( 220 | en, 221 | Base, 222 | ); 223 | mainGroup = 83CBB9F61A601CBA00E9B192; 224 | productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; 225 | projectDirPath = ""; 226 | projectRoot = ""; 227 | targets = ( 228 | 13B07F861A680F5B00A75B9A /* ReactNativeKeyboardManagerSample */, 229 | 00E356ED1AD99517003FC87E /* ReactNativeKeyboardManagerSampleTests */, 230 | ); 231 | }; 232 | /* End PBXProject section */ 233 | 234 | /* Begin PBXResourcesBuildPhase section */ 235 | 00E356EC1AD99517003FC87E /* Resources */ = { 236 | isa = PBXResourcesBuildPhase; 237 | buildActionMask = 2147483647; 238 | files = ( 239 | ); 240 | runOnlyForDeploymentPostprocessing = 0; 241 | }; 242 | 13B07F8E1A680F5B00A75B9A /* Resources */ = { 243 | isa = PBXResourcesBuildPhase; 244 | buildActionMask = 2147483647; 245 | files = ( 246 | 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, 247 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 248 | ); 249 | runOnlyForDeploymentPostprocessing = 0; 250 | }; 251 | /* End PBXResourcesBuildPhase section */ 252 | 253 | /* Begin PBXShellScriptBuildPhase section */ 254 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { 255 | isa = PBXShellScriptBuildPhase; 256 | buildActionMask = 2147483647; 257 | files = ( 258 | ); 259 | inputPaths = ( 260 | "$(SRCROOT)/.xcode.env.local", 261 | "$(SRCROOT)/.xcode.env", 262 | ); 263 | name = "Bundle React Native code and images"; 264 | outputPaths = ( 265 | ); 266 | runOnlyForDeploymentPostprocessing = 0; 267 | shellPath = /bin/sh; 268 | shellScript = "set -e\n\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; 269 | }; 270 | 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { 271 | isa = PBXShellScriptBuildPhase; 272 | buildActionMask = 2147483647; 273 | files = ( 274 | ); 275 | inputFileListPaths = ( 276 | "${PODS_ROOT}/Target Support Files/Pods-ReactNativeKeyboardManagerSample/Pods-ReactNativeKeyboardManagerSample-frameworks-${CONFIGURATION}-input-files.xcfilelist", 277 | ); 278 | name = "[CP] Embed Pods Frameworks"; 279 | outputFileListPaths = ( 280 | "${PODS_ROOT}/Target Support Files/Pods-ReactNativeKeyboardManagerSample/Pods-ReactNativeKeyboardManagerSample-frameworks-${CONFIGURATION}-output-files.xcfilelist", 281 | ); 282 | runOnlyForDeploymentPostprocessing = 0; 283 | shellPath = /bin/sh; 284 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeKeyboardManagerSample/Pods-ReactNativeKeyboardManagerSample-frameworks.sh\"\n"; 285 | showEnvVarsInLog = 0; 286 | }; 287 | A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = { 288 | isa = PBXShellScriptBuildPhase; 289 | buildActionMask = 2147483647; 290 | files = ( 291 | ); 292 | inputFileListPaths = ( 293 | ); 294 | inputPaths = ( 295 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 296 | "${PODS_ROOT}/Manifest.lock", 297 | ); 298 | name = "[CP] Check Pods Manifest.lock"; 299 | outputFileListPaths = ( 300 | ); 301 | outputPaths = ( 302 | "$(DERIVED_FILE_DIR)/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests-checkManifestLockResult.txt", 303 | ); 304 | runOnlyForDeploymentPostprocessing = 0; 305 | shellPath = /bin/sh; 306 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; 307 | showEnvVarsInLog = 0; 308 | }; 309 | C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = { 310 | isa = PBXShellScriptBuildPhase; 311 | buildActionMask = 2147483647; 312 | files = ( 313 | ); 314 | inputFileListPaths = ( 315 | ); 316 | inputPaths = ( 317 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 318 | "${PODS_ROOT}/Manifest.lock", 319 | ); 320 | name = "[CP] Check Pods Manifest.lock"; 321 | outputFileListPaths = ( 322 | ); 323 | outputPaths = ( 324 | "$(DERIVED_FILE_DIR)/Pods-ReactNativeKeyboardManagerSample-checkManifestLockResult.txt", 325 | ); 326 | runOnlyForDeploymentPostprocessing = 0; 327 | shellPath = /bin/sh; 328 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; 329 | showEnvVarsInLog = 0; 330 | }; 331 | C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */ = { 332 | isa = PBXShellScriptBuildPhase; 333 | buildActionMask = 2147483647; 334 | files = ( 335 | ); 336 | inputFileListPaths = ( 337 | "${PODS_ROOT}/Target Support Files/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", 338 | ); 339 | name = "[CP] Embed Pods Frameworks"; 340 | outputFileListPaths = ( 341 | "${PODS_ROOT}/Target Support Files/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", 342 | ); 343 | runOnlyForDeploymentPostprocessing = 0; 344 | shellPath = /bin/sh; 345 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests-frameworks.sh\"\n"; 346 | showEnvVarsInLog = 0; 347 | }; 348 | E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { 349 | isa = PBXShellScriptBuildPhase; 350 | buildActionMask = 2147483647; 351 | files = ( 352 | ); 353 | inputFileListPaths = ( 354 | "${PODS_ROOT}/Target Support Files/Pods-ReactNativeKeyboardManagerSample/Pods-ReactNativeKeyboardManagerSample-resources-${CONFIGURATION}-input-files.xcfilelist", 355 | ); 356 | name = "[CP] Copy Pods Resources"; 357 | outputFileListPaths = ( 358 | "${PODS_ROOT}/Target Support Files/Pods-ReactNativeKeyboardManagerSample/Pods-ReactNativeKeyboardManagerSample-resources-${CONFIGURATION}-output-files.xcfilelist", 359 | ); 360 | runOnlyForDeploymentPostprocessing = 0; 361 | shellPath = /bin/sh; 362 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeKeyboardManagerSample/Pods-ReactNativeKeyboardManagerSample-resources.sh\"\n"; 363 | showEnvVarsInLog = 0; 364 | }; 365 | F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = { 366 | isa = PBXShellScriptBuildPhase; 367 | buildActionMask = 2147483647; 368 | files = ( 369 | ); 370 | inputFileListPaths = ( 371 | "${PODS_ROOT}/Target Support Files/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests-resources-${CONFIGURATION}-input-files.xcfilelist", 372 | ); 373 | name = "[CP] Copy Pods Resources"; 374 | outputFileListPaths = ( 375 | "${PODS_ROOT}/Target Support Files/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests-resources-${CONFIGURATION}-output-files.xcfilelist", 376 | ); 377 | runOnlyForDeploymentPostprocessing = 0; 378 | shellPath = /bin/sh; 379 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests/Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests-resources.sh\"\n"; 380 | showEnvVarsInLog = 0; 381 | }; 382 | /* End PBXShellScriptBuildPhase section */ 383 | 384 | /* Begin PBXSourcesBuildPhase section */ 385 | 00E356EA1AD99517003FC87E /* Sources */ = { 386 | isa = PBXSourcesBuildPhase; 387 | buildActionMask = 2147483647; 388 | files = ( 389 | 00E356F31AD99517003FC87E /* ReactNativeKeyboardManagerSampleTests.m in Sources */, 390 | ); 391 | runOnlyForDeploymentPostprocessing = 0; 392 | }; 393 | 13B07F871A680F5B00A75B9A /* Sources */ = { 394 | isa = PBXSourcesBuildPhase; 395 | buildActionMask = 2147483647; 396 | files = ( 397 | 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, 398 | 13B07FC11A68108700A75B9A /* main.m in Sources */, 399 | ); 400 | runOnlyForDeploymentPostprocessing = 0; 401 | }; 402 | /* End PBXSourcesBuildPhase section */ 403 | 404 | /* Begin PBXTargetDependency section */ 405 | 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { 406 | isa = PBXTargetDependency; 407 | target = 13B07F861A680F5B00A75B9A /* ReactNativeKeyboardManagerSample */; 408 | targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; 409 | }; 410 | /* End PBXTargetDependency section */ 411 | 412 | /* Begin XCBuildConfiguration section */ 413 | 00E356F61AD99517003FC87E /* Debug */ = { 414 | isa = XCBuildConfiguration; 415 | baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.debug.xcconfig */; 416 | buildSettings = { 417 | BUNDLE_LOADER = "$(TEST_HOST)"; 418 | GCC_PREPROCESSOR_DEFINITIONS = ( 419 | "DEBUG=1", 420 | "$(inherited)", 421 | ); 422 | INFOPLIST_FILE = ReactNativeKeyboardManagerSampleTests/Info.plist; 423 | IPHONEOS_DEPLOYMENT_TARGET = 13.4; 424 | LD_RUNPATH_SEARCH_PATHS = ( 425 | "$(inherited)", 426 | "@executable_path/Frameworks", 427 | "@loader_path/Frameworks", 428 | ); 429 | OTHER_LDFLAGS = ( 430 | "-ObjC", 431 | "-lc++", 432 | "$(inherited)", 433 | ); 434 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 435 | PRODUCT_NAME = "$(TARGET_NAME)"; 436 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ReactNativeKeyboardManagerSample.app/ReactNativeKeyboardManagerSample"; 437 | }; 438 | name = Debug; 439 | }; 440 | 00E356F71AD99517003FC87E /* Release */ = { 441 | isa = XCBuildConfiguration; 442 | baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-ReactNativeKeyboardManagerSample-ReactNativeKeyboardManagerSampleTests.release.xcconfig */; 443 | buildSettings = { 444 | BUNDLE_LOADER = "$(TEST_HOST)"; 445 | COPY_PHASE_STRIP = NO; 446 | INFOPLIST_FILE = ReactNativeKeyboardManagerSampleTests/Info.plist; 447 | IPHONEOS_DEPLOYMENT_TARGET = 13.4; 448 | LD_RUNPATH_SEARCH_PATHS = ( 449 | "$(inherited)", 450 | "@executable_path/Frameworks", 451 | "@loader_path/Frameworks", 452 | ); 453 | OTHER_LDFLAGS = ( 454 | "-ObjC", 455 | "-lc++", 456 | "$(inherited)", 457 | ); 458 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 459 | PRODUCT_NAME = "$(TARGET_NAME)"; 460 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ReactNativeKeyboardManagerSample.app/ReactNativeKeyboardManagerSample"; 461 | }; 462 | name = Release; 463 | }; 464 | 13B07F941A680F5B00A75B9A /* Debug */ = { 465 | isa = XCBuildConfiguration; 466 | baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-ReactNativeKeyboardManagerSample.debug.xcconfig */; 467 | buildSettings = { 468 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 469 | CLANG_ENABLE_MODULES = YES; 470 | CURRENT_PROJECT_VERSION = 1; 471 | ENABLE_BITCODE = NO; 472 | INFOPLIST_FILE = ReactNativeKeyboardManagerSample/Info.plist; 473 | LD_RUNPATH_SEARCH_PATHS = ( 474 | "$(inherited)", 475 | "@executable_path/Frameworks", 476 | ); 477 | MARKETING_VERSION = 1.0; 478 | OTHER_LDFLAGS = ( 479 | "$(inherited)", 480 | "-ObjC", 481 | "-lc++", 482 | ); 483 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 484 | PRODUCT_NAME = ReactNativeKeyboardManagerSample; 485 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 486 | SWIFT_VERSION = 5.0; 487 | VERSIONING_SYSTEM = "apple-generic"; 488 | }; 489 | name = Debug; 490 | }; 491 | 13B07F951A680F5B00A75B9A /* Release */ = { 492 | isa = XCBuildConfiguration; 493 | baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-ReactNativeKeyboardManagerSample.release.xcconfig */; 494 | buildSettings = { 495 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 496 | CLANG_ENABLE_MODULES = YES; 497 | CURRENT_PROJECT_VERSION = 1; 498 | INFOPLIST_FILE = ReactNativeKeyboardManagerSample/Info.plist; 499 | LD_RUNPATH_SEARCH_PATHS = ( 500 | "$(inherited)", 501 | "@executable_path/Frameworks", 502 | ); 503 | MARKETING_VERSION = 1.0; 504 | OTHER_LDFLAGS = ( 505 | "$(inherited)", 506 | "-ObjC", 507 | "-lc++", 508 | ); 509 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 510 | PRODUCT_NAME = ReactNativeKeyboardManagerSample; 511 | SWIFT_VERSION = 5.0; 512 | VERSIONING_SYSTEM = "apple-generic"; 513 | }; 514 | name = Release; 515 | }; 516 | 83CBBA201A601CBA00E9B192 /* Debug */ = { 517 | isa = XCBuildConfiguration; 518 | buildSettings = { 519 | ALWAYS_SEARCH_USER_PATHS = NO; 520 | CC = ""; 521 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 522 | CLANG_CXX_LANGUAGE_STANDARD = "c++20"; 523 | CLANG_CXX_LIBRARY = "libc++"; 524 | CLANG_ENABLE_MODULES = YES; 525 | CLANG_ENABLE_OBJC_ARC = YES; 526 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 527 | CLANG_WARN_BOOL_CONVERSION = YES; 528 | CLANG_WARN_COMMA = YES; 529 | CLANG_WARN_CONSTANT_CONVERSION = YES; 530 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 531 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 532 | CLANG_WARN_EMPTY_BODY = YES; 533 | CLANG_WARN_ENUM_CONVERSION = YES; 534 | CLANG_WARN_INFINITE_RECURSION = YES; 535 | CLANG_WARN_INT_CONVERSION = YES; 536 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 537 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 538 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 539 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 540 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 541 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 542 | CLANG_WARN_STRICT_PROTOTYPES = YES; 543 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 544 | CLANG_WARN_UNREACHABLE_CODE = YES; 545 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 546 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 547 | COPY_PHASE_STRIP = NO; 548 | CXX = ""; 549 | ENABLE_STRICT_OBJC_MSGSEND = YES; 550 | ENABLE_TESTABILITY = YES; 551 | "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; 552 | GCC_C_LANGUAGE_STANDARD = gnu99; 553 | GCC_DYNAMIC_NO_PIC = NO; 554 | GCC_NO_COMMON_BLOCKS = YES; 555 | GCC_OPTIMIZATION_LEVEL = 0; 556 | GCC_PREPROCESSOR_DEFINITIONS = ( 557 | "DEBUG=1", 558 | "$(inherited)", 559 | ); 560 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 561 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 562 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 563 | GCC_WARN_UNDECLARED_SELECTOR = YES; 564 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 565 | GCC_WARN_UNUSED_FUNCTION = YES; 566 | GCC_WARN_UNUSED_VARIABLE = YES; 567 | IPHONEOS_DEPLOYMENT_TARGET = 13.4; 568 | LD = ""; 569 | LDPLUSPLUS = ""; 570 | LD_RUNPATH_SEARCH_PATHS = ( 571 | /usr/lib/swift, 572 | "$(inherited)", 573 | ); 574 | LIBRARY_SEARCH_PATHS = ( 575 | "\"$(SDKROOT)/usr/lib/swift\"", 576 | "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", 577 | "\"$(inherited)\"", 578 | ); 579 | MTL_ENABLE_DEBUG_INFO = YES; 580 | ONLY_ACTIVE_ARCH = YES; 581 | OTHER_CPLUSPLUSFLAGS = ( 582 | "$(OTHER_CFLAGS)", 583 | "-DFOLLY_NO_CONFIG", 584 | "-DFOLLY_MOBILE=1", 585 | "-DFOLLY_USE_LIBCPP=1", 586 | "-DFOLLY_CFG_NO_COROUTINES=1", 587 | "-DFOLLY_HAVE_CLOCK_GETTIME=1", 588 | ); 589 | OTHER_LDFLAGS = ( 590 | "$(inherited)", 591 | " ", 592 | ); 593 | REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; 594 | SDKROOT = iphoneos; 595 | USE_HERMES = true; 596 | }; 597 | name = Debug; 598 | }; 599 | 83CBBA211A601CBA00E9B192 /* Release */ = { 600 | isa = XCBuildConfiguration; 601 | buildSettings = { 602 | ALWAYS_SEARCH_USER_PATHS = NO; 603 | CC = ""; 604 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 605 | CLANG_CXX_LANGUAGE_STANDARD = "c++20"; 606 | CLANG_CXX_LIBRARY = "libc++"; 607 | CLANG_ENABLE_MODULES = YES; 608 | CLANG_ENABLE_OBJC_ARC = YES; 609 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 610 | CLANG_WARN_BOOL_CONVERSION = YES; 611 | CLANG_WARN_COMMA = YES; 612 | CLANG_WARN_CONSTANT_CONVERSION = YES; 613 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 614 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 615 | CLANG_WARN_EMPTY_BODY = YES; 616 | CLANG_WARN_ENUM_CONVERSION = YES; 617 | CLANG_WARN_INFINITE_RECURSION = YES; 618 | CLANG_WARN_INT_CONVERSION = YES; 619 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 620 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 621 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 622 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 623 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 624 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 625 | CLANG_WARN_STRICT_PROTOTYPES = YES; 626 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 627 | CLANG_WARN_UNREACHABLE_CODE = YES; 628 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 629 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 630 | COPY_PHASE_STRIP = YES; 631 | CXX = ""; 632 | ENABLE_NS_ASSERTIONS = NO; 633 | ENABLE_STRICT_OBJC_MSGSEND = YES; 634 | "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; 635 | GCC_C_LANGUAGE_STANDARD = gnu99; 636 | GCC_NO_COMMON_BLOCKS = YES; 637 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 638 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 639 | GCC_WARN_UNDECLARED_SELECTOR = YES; 640 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 641 | GCC_WARN_UNUSED_FUNCTION = YES; 642 | GCC_WARN_UNUSED_VARIABLE = YES; 643 | IPHONEOS_DEPLOYMENT_TARGET = 13.4; 644 | LD = ""; 645 | LDPLUSPLUS = ""; 646 | LD_RUNPATH_SEARCH_PATHS = ( 647 | /usr/lib/swift, 648 | "$(inherited)", 649 | ); 650 | LIBRARY_SEARCH_PATHS = ( 651 | "\"$(SDKROOT)/usr/lib/swift\"", 652 | "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", 653 | "\"$(inherited)\"", 654 | ); 655 | MTL_ENABLE_DEBUG_INFO = NO; 656 | OTHER_CPLUSPLUSFLAGS = ( 657 | "$(OTHER_CFLAGS)", 658 | "-DFOLLY_NO_CONFIG", 659 | "-DFOLLY_MOBILE=1", 660 | "-DFOLLY_USE_LIBCPP=1", 661 | "-DFOLLY_CFG_NO_COROUTINES=1", 662 | "-DFOLLY_HAVE_CLOCK_GETTIME=1", 663 | ); 664 | OTHER_LDFLAGS = ( 665 | "$(inherited)", 666 | " ", 667 | ); 668 | REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; 669 | SDKROOT = iphoneos; 670 | USE_HERMES = true; 671 | VALIDATE_PRODUCT = YES; 672 | }; 673 | name = Release; 674 | }; 675 | /* End XCBuildConfiguration section */ 676 | 677 | /* Begin XCConfigurationList section */ 678 | 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ReactNativeKeyboardManagerSampleTests" */ = { 679 | isa = XCConfigurationList; 680 | buildConfigurations = ( 681 | 00E356F61AD99517003FC87E /* Debug */, 682 | 00E356F71AD99517003FC87E /* Release */, 683 | ); 684 | defaultConfigurationIsVisible = 0; 685 | defaultConfigurationName = Release; 686 | }; 687 | 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ReactNativeKeyboardManagerSample" */ = { 688 | isa = XCConfigurationList; 689 | buildConfigurations = ( 690 | 13B07F941A680F5B00A75B9A /* Debug */, 691 | 13B07F951A680F5B00A75B9A /* Release */, 692 | ); 693 | defaultConfigurationIsVisible = 0; 694 | defaultConfigurationName = Release; 695 | }; 696 | 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "ReactNativeKeyboardManagerSample" */ = { 697 | isa = XCConfigurationList; 698 | buildConfigurations = ( 699 | 83CBBA201A601CBA00E9B192 /* Debug */, 700 | 83CBBA211A601CBA00E9B192 /* Release */, 701 | ); 702 | defaultConfigurationIsVisible = 0; 703 | defaultConfigurationName = Release; 704 | }; 705 | /* End XCConfigurationList section */ 706 | }; 707 | rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; 708 | } 709 | -------------------------------------------------------------------------------- /Sample/ios/ReactNativeKeyboardManagerSample.xcodeproj/xcshareddata/xcschemes/ReactNativeKeyboardManagerSample.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 33 | 39 | 40 | 41 | 42 | 43 | 53 | 55 | 61 | 62 | 63 | 64 | 70 | 72 | 78 | 79 | 80 | 81 | 83 | 84 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /Sample/ios/ReactNativeKeyboardManagerSample.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sample/ios/ReactNativeKeyboardManagerSample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Sample/ios/ReactNativeKeyboardManagerSample/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface AppDelegate : RCTAppDelegate 5 | 6 | @end 7 | -------------------------------------------------------------------------------- /Sample/ios/ReactNativeKeyboardManagerSample/AppDelegate.mm: -------------------------------------------------------------------------------- 1 | #import "AppDelegate.h" 2 | 3 | #import 4 | 5 | @implementation AppDelegate 6 | 7 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 8 | { 9 | self.moduleName = @"ReactNativeKeyboardManagerSample"; 10 | // You can add your custom initial props in the dictionary below. 11 | // They will be passed down to the ViewController used by React Native. 12 | self.initialProps = @{}; 13 | 14 | return [super application:application didFinishLaunchingWithOptions:launchOptions]; 15 | } 16 | 17 | - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge 18 | { 19 | return [self bundleURL]; 20 | } 21 | 22 | - (NSURL *)bundleURL 23 | { 24 | #if DEBUG 25 | return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; 26 | #else 27 | return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; 28 | #endif 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /Sample/ios/ReactNativeKeyboardManagerSample/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "scale" : "2x", 6 | "size" : "20x20" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "scale" : "3x", 11 | "size" : "20x20" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "scale" : "2x", 16 | "size" : "29x29" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "scale" : "3x", 21 | "size" : "29x29" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "scale" : "2x", 26 | "size" : "40x40" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "scale" : "3x", 31 | "size" : "40x40" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "scale" : "2x", 36 | "size" : "60x60" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "scale" : "3x", 41 | "size" : "60x60" 42 | }, 43 | { 44 | "idiom" : "ios-marketing", 45 | "scale" : "1x", 46 | "size" : "1024x1024" 47 | } 48 | ], 49 | "info" : { 50 | "author" : "xcode", 51 | "version" : 1 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Sample/ios/ReactNativeKeyboardManagerSample/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Sample/ios/ReactNativeKeyboardManagerSample/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ReactNativeKeyboardManagerSample 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | $(MARKETING_VERSION) 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | $(CURRENT_PROJECT_VERSION) 25 | LSRequiresIPhoneOS 26 | 27 | NSAppTransportSecurity 28 | 29 | 30 | NSAllowsArbitraryLoads 31 | 32 | NSAllowsLocalNetworking 33 | 34 | 35 | NSLocationWhenInUseUsageDescription 36 | 37 | UILaunchStoryboardName 38 | LaunchScreen 39 | UIRequiredDeviceCapabilities 40 | 41 | arm64 42 | 43 | UISupportedInterfaceOrientations 44 | 45 | UIInterfaceOrientationPortrait 46 | UIInterfaceOrientationLandscapeLeft 47 | UIInterfaceOrientationLandscapeRight 48 | 49 | UIViewControllerBasedStatusBarAppearance 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /Sample/ios/ReactNativeKeyboardManagerSample/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 24 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Sample/ios/ReactNativeKeyboardManagerSample/PrivacyInfo.xcprivacy: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSPrivacyCollectedDataTypes 6 | 7 | 8 | NSPrivacyAccessedAPITypes 9 | 10 | 11 | NSPrivacyAccessedAPIType 12 | NSPrivacyAccessedAPICategoryFileTimestamp 13 | NSPrivacyAccessedAPITypeReasons 14 | 15 | C617.1 16 | 17 | 18 | 19 | NSPrivacyAccessedAPIType 20 | NSPrivacyAccessedAPICategoryUserDefaults 21 | NSPrivacyAccessedAPITypeReasons 22 | 23 | CA92.1 24 | 25 | 26 | 27 | NSPrivacyAccessedAPIType 28 | NSPrivacyAccessedAPICategorySystemBootTime 29 | NSPrivacyAccessedAPITypeReasons 30 | 31 | 35F9.1 32 | 33 | 34 | 35 | NSPrivacyTracking 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /Sample/ios/ReactNativeKeyboardManagerSample/main.m: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #import "AppDelegate.h" 4 | 5 | int main(int argc, char *argv[]) 6 | { 7 | @autoreleasepool { 8 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Sample/ios/ReactNativeKeyboardManagerSampleTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /Sample/ios/ReactNativeKeyboardManagerSampleTests/ReactNativeKeyboardManagerSampleTests.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | #import 5 | #import 6 | 7 | #define TIMEOUT_SECONDS 600 8 | #define TEXT_TO_LOOK_FOR @"Welcome to React" 9 | 10 | @interface ReactNativeKeyboardManagerSampleTests : XCTestCase 11 | 12 | @end 13 | 14 | @implementation ReactNativeKeyboardManagerSampleTests 15 | 16 | - (BOOL)findSubviewInView:(UIView *)view matching:(BOOL (^)(UIView *view))test 17 | { 18 | if (test(view)) { 19 | return YES; 20 | } 21 | for (UIView *subview in [view subviews]) { 22 | if ([self findSubviewInView:subview matching:test]) { 23 | return YES; 24 | } 25 | } 26 | return NO; 27 | } 28 | 29 | - (void)testRendersWelcomeScreen 30 | { 31 | UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController]; 32 | NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; 33 | BOOL foundElement = NO; 34 | 35 | __block NSString *redboxError = nil; 36 | #ifdef DEBUG 37 | RCTSetLogFunction( 38 | ^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { 39 | if (level >= RCTLogLevelError) { 40 | redboxError = message; 41 | } 42 | }); 43 | #endif 44 | 45 | while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { 46 | [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; 47 | [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; 48 | 49 | foundElement = [self findSubviewInView:vc.view 50 | matching:^BOOL(UIView *view) { 51 | if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { 52 | return YES; 53 | } 54 | return NO; 55 | }]; 56 | } 57 | 58 | #ifdef DEBUG 59 | RCTSetLogFunction(RCTDefaultLogFunction); 60 | #endif 61 | 62 | XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); 63 | XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); 64 | } 65 | 66 | @end 67 | -------------------------------------------------------------------------------- /Sample/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: 'react-native', 3 | }; 4 | -------------------------------------------------------------------------------- /Sample/metro.config.js: -------------------------------------------------------------------------------- 1 | const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config'); 2 | 3 | /** 4 | * Metro configuration 5 | * https://reactnative.dev/docs/metro 6 | * 7 | * @type {import('metro-config').MetroConfig} 8 | */ 9 | const config = {}; 10 | 11 | module.exports = mergeConfig(getDefaultConfig(__dirname), config); 12 | -------------------------------------------------------------------------------- /Sample/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ReactNativeKeyboardManagerSample", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "android": "react-native run-android", 7 | "ios": "react-native run-ios", 8 | "lint": "eslint .", 9 | "start": "react-native start", 10 | "test": "jest" 11 | }, 12 | "dependencies": { 13 | "@react-navigation/native": "^6.1.17", 14 | "@react-navigation/native-stack": "^6.9.26", 15 | "@react-navigation/stack": "^6.3.29", 16 | "react": "18.2.0", 17 | "react-native": "0.74.0", 18 | "react-native-keyboard-manager": "file:../", 19 | "react-native-safe-area-context": "^4.10.1", 20 | "react-native-screens": "^3.31.1" 21 | }, 22 | "devDependencies": { 23 | "@babel/core": "^7.20.0", 24 | "@babel/preset-env": "^7.20.0", 25 | "@babel/runtime": "^7.20.0", 26 | "@react-native/babel-preset": "0.74.81", 27 | "@react-native/eslint-config": "0.74.81", 28 | "@react-native/metro-config": "0.74.81", 29 | "@react-native/typescript-config": "0.74.81", 30 | "@types/react": "^18.2.6", 31 | "@types/react-test-renderer": "^18.0.0", 32 | "babel-jest": "^29.6.3", 33 | "eslint": "^8.19.0", 34 | "jest": "^29.6.3", 35 | "prettier": "2.8.8", 36 | "react-test-renderer": "18.2.0", 37 | "typescript": "5.0.4" 38 | }, 39 | "engines": { 40 | "node": ">=18" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Sample/src/App.tsx: -------------------------------------------------------------------------------- 1 | /** 2 | * MIT License 3 | * 4 | * Copyright (c) 2017 Douglas Nassif Roma Junior 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | import React from 'react'; 26 | import {Platform} from 'react-native'; 27 | 28 | import {NavigationContainer} from '@react-navigation/native'; 29 | import KeyboardManager from 'react-native-keyboard-manager'; 30 | 31 | import FormScreen from './FormScreen'; 32 | import {createNativeStackNavigator} from '@react-navigation/native-stack'; 33 | import OtherScreen from './OtherScreen'; 34 | 35 | if (Platform.OS === 'ios') { 36 | KeyboardManager.setEnable(true); 37 | KeyboardManager.setEnableDebugging(true); 38 | KeyboardManager.setKeyboardDistanceFromTextField(30); 39 | KeyboardManager.setLayoutIfNeededOnUpdate(true); 40 | KeyboardManager.setEnableAutoToolbar(true); 41 | KeyboardManager.setToolbarDoneBarButtonItemText('Done'); 42 | KeyboardManager.setToolbarManageBehaviourBy('subviews'); // "subviews" | "tag" | "position" 43 | KeyboardManager.setToolbarPreviousNextButtonEnable(true); 44 | KeyboardManager.setToolbarTintColor('#FF00FF'); // Only #000000 format is supported 45 | KeyboardManager.setToolbarBarTintColor('#FFFF00'); // Only #000000 format is supported 46 | KeyboardManager.setShouldShowToolbarPlaceholder(true); 47 | KeyboardManager.setOverrideKeyboardAppearance(false); 48 | KeyboardManager.setKeyboardAppearance('default'); // "default" | "light" | "dark" 49 | KeyboardManager.setShouldResignOnTouchOutside(true); 50 | KeyboardManager.setShouldPlayInputClicks(true); 51 | } 52 | 53 | const Stack = createNativeStackNavigator(); 54 | 55 | const App = () => { 56 | return ( 57 | 58 | 62 | 63 | 64 | 65 | 66 | ); 67 | }; 68 | 69 | export default App; 70 | -------------------------------------------------------------------------------- /Sample/src/FormScreen.tsx: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import { 3 | Button, 4 | Modal, 5 | SafeAreaView, 6 | ScrollView, 7 | Switch, 8 | Text, 9 | TextInput, 10 | View, 11 | } from 'react-native'; 12 | 13 | import KeyboardManager, {PreviousNextView} from 'react-native-keyboard-manager'; 14 | 15 | const INPUT_KEYS = [ 16 | 'input1', 17 | 'input2', 18 | 'input3', 19 | 'input4', 20 | 'input5', 21 | 'input6', 22 | 'textarea1', 23 | 'textarea2', 24 | 'textarea3', 25 | 'textarea4', 26 | ]; 27 | 28 | type StateType = { 29 | modalVisible?: boolean; 30 | enableDisable?: boolean; 31 | inputsValues: { 32 | [key: string]: string; 33 | }; 34 | }; 35 | 36 | class FormScreen extends Component { 37 | constructor(props: any) { 38 | super(props); 39 | 40 | this.state = { 41 | modalVisible: false, 42 | enableDisable: true, 43 | inputsValues: {}, 44 | }; 45 | } 46 | 47 | componentDidMount() { 48 | KeyboardManager.resignFirstResponder(); 49 | } 50 | 51 | componentDidUpdate() { 52 | KeyboardManager.isKeyboardShowing().then(isShowing => { 53 | console.log('isKeyboardShowing: ' + isShowing); 54 | }); 55 | } 56 | 57 | handleEnableDisable = (value: boolean) => { 58 | KeyboardManager.setEnable(value); 59 | this.setState({ 60 | enableDisable: value, 61 | }); 62 | }; 63 | 64 | handleShowModal = () => { 65 | this.setState({ 66 | modalVisible: true, 67 | }); 68 | }; 69 | 70 | handleOtherScreen = () => { 71 | this.props.navigation.navigate('OtherScreen'); 72 | }; 73 | 74 | handleCloseModal = () => { 75 | this.setState({ 76 | modalVisible: false, 77 | }); 78 | }; 79 | 80 | getRef(key: string) { 81 | // eslint-disable-next-line react/no-string-refs 82 | return this.refs[key] as T; 83 | } 84 | 85 | renderInput = (ref: string, index: number) => { 86 | let nextRef = INPUT_KEYS[index + 1]; 87 | 88 | const nextFocus = () => { 89 | if (!nextRef) { 90 | return; 91 | } 92 | this.getRef(nextRef)?.focus(); 93 | }; 94 | 95 | const multiline = ref.startsWith('textarea'); 96 | 97 | return ( 98 | 99 | {ref} 100 | 101 | { 114 | this.setState(previous => ({ 115 | inputsValues: { 116 | ...previous.inputsValues, 117 | [ref]: text, 118 | }, 119 | })); 120 | }} 121 | placeholder={ref} 122 | onSubmitEditing={!multiline ? nextFocus : undefined} 123 | multiline={multiline} 124 | numberOfLines={multiline ? 10 : 1} 125 | returnKeyType={multiline ? 'default' : 'next'} 126 | onLayout={() => { 127 | // When multiline=true and the input height changes, it updates the keyboard position. 128 | KeyboardManager.reloadLayoutIfNeeded(); 129 | }} 130 | /> 131 | 132 | ); 133 | }; 134 | 135 | renderContent = () => { 136 | return ( 137 | 138 | 139 | 140 | React-Native Keyboard Manager 141 | 142 | 148 | Enable/Disable 149 | 153 | 154 | 155 | 156 | {INPUT_KEYS.map(this.renderInput)} 157 | 158 | ); 159 | }; 160 | 161 | render() { 162 | return ( 163 | 164 | 165 |