├── .github
└── workflows
│ ├── archive-platform
│ └── action.yml
│ ├── bundle-xcframeworks
│ └── action.yml
│ ├── ci.yml
│ ├── codeql-analysis.yml
│ ├── release.yml
│ └── setup
│ └── action.yml
├── .gitignore
├── Makefile
├── README.md
├── example
├── .gitignore
├── Makefile
├── Podfile
├── Podfile.lock
├── README.md
├── Targets
│ ├── ReactNativeBinaryExample
│ │ ├── Resources
│ │ │ └── LaunchScreen.storyboard
│ │ ├── Sources
│ │ │ └── AppDelegate.swift
│ │ └── Tests
│ │ │ └── AppTests.swift
│ ├── ReactNativeBinaryExampleKit
│ │ ├── Sources
│ │ │ └── ReactNativeBinaryExampleKit.swift
│ │ └── Tests
│ │ │ └── ReactNativeBinaryExampleKitTests.swift
│ └── ReactNativeBinaryExampleUI
│ │ ├── Sources
│ │ ├── MainViewController.swift
│ │ ├── ReactNativeBinaryExampleUI.swift
│ │ └── generated
│ │ │ └── .keep
│ │ └── Tests
│ │ └── ReactNativeBinaryExampleUITests.swift
├── project.yml
└── scripts
│ ├── metro.config.js
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ ├── Hello.tsx
│ └── index.js
│ └── tsconfig.json
├── frontend
└── .gitignore
├── ios
├── .gitignore
├── .xcode.env
├── Brewfile
├── DummyApp
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── DummyApp.entitlements
│ ├── Info.plist
│ ├── PrivacyInfo.xcprivacy
│ └── main.m
├── Gemfile
├── Gemfile.lock
├── LICENSE
├── Makefile
├── Podfile
├── Podfile.lock
├── PrivacyInfo.xcprivacy
├── ReactNative-Binary.podspec
├── project.yml
├── scripts
│ ├── build_single_platform.sh
│ ├── build_xcframework.sh
│ ├── release.sh
│ ├── release_commit_podspec.sh
│ ├── set_up_xcode_env.sh
│ ├── shared
│ │ └── get_release_branch_version.sh
│ └── validate_archive_size.sh
└── xcconfig
│ ├── DummyApp.debug.xcconfig
│ ├── DummyApp.release.xcconfig
│ └── DummyApp.xcconfig
├── package-lock.json
└── package.json
/.github/workflows/archive-platform/action.yml:
--------------------------------------------------------------------------------
1 | name: "Archive Platform"
2 | description: "Xcode Archive single platform"
3 | inputs:
4 | platform:
5 | description: "Apple platform, either iphonesimulator, iphoneos, or maccatalyst"
6 | required: true
7 | runs:
8 | using: "composite"
9 | steps:
10 | - uses: ./.github/workflows/setup
11 | name: Setup
12 |
13 | - name: Archive
14 | shell: bash
15 | run: |
16 | cd ios
17 | echo "before compile:"
18 | ccache --show-stats -v
19 | make CONFIGURATION="Debug" PLATFORM="${{ inputs.platform }}" archive-platform
20 | make CONFIGURATION="Release" PLATFORM="${{ inputs.platform }}" archive-platform
21 | echo "ccache stats:"
22 | ccache --show-stats -v
23 |
24 | - name: Upload to artifacts
25 | uses: actions/upload-artifact@v2
26 | with:
27 | name: "${{ inputs.platform }}-binary-Debug"
28 | path: "ios/${{ inputs.platform }}-binary-Debug.tar.gz"
29 |
30 | - name: Upload to artifacts
31 | uses: actions/upload-artifact@v2
32 | with:
33 | name: "${{ inputs.platform }}-binary-Release"
34 | path: "ios/${{ inputs.platform }}-binary-Release.tar.gz"
35 |
--------------------------------------------------------------------------------
/.github/workflows/bundle-xcframeworks/action.yml:
--------------------------------------------------------------------------------
1 | name: "Archive"
2 | description: "Generate xcframeworks"
3 | runs:
4 | using: "composite"
5 | steps:
6 | - uses: ./.github/workflows/setup
7 | name: Set up
8 | - uses: actions/download-artifact@v3
9 | name: "Download Debug (iphoneos)"
10 | with:
11 | name: "iphoneos-binary-Debug"
12 | path: ./ios/iphoneos-binary-Debug
13 | - uses: actions/download-artifact@v3
14 | name: "Download Release (iphoneos)"
15 | with:
16 | name: "iphoneos-binary-Release"
17 | path: ./ios/iphoneos-binary-Release
18 | - uses: actions/download-artifact@v3
19 | name: "Download Debug (maccatalyst)"
20 | with:
21 | name: "maccatalyst-binary-Debug"
22 | path: ./ios/maccatalyst-binary-Debug
23 | - uses: actions/download-artifact@v3
24 | name: "Download Release (maccatalyst)"
25 | with:
26 | name: "maccatalyst-binary-Release"
27 | path: ./ios/maccatalyst-binary-Release
28 | - uses: actions/download-artifact@v3
29 | name: "Download Debug (iphonesimulator)"
30 | with:
31 | name: "iphonesimulator-binary-Debug"
32 | path: ./ios/iphonesimulator-binary-Debug
33 | - uses: actions/download-artifact@v3
34 | name: "Download Release (iphonesimulator)"
35 | with:
36 | name: "iphonesimulator-binary-Release"
37 | path: ./ios/iphonesimulator-binary-Release
38 | - name: "Move archives"
39 | shell: bash
40 | run: |
41 | cd ios
42 | mv ./iphoneos-binary-Debug/iphoneos-binary-Debug.tar.gz .
43 | mv ./iphoneos-binary-Release/iphoneos-binary-Release.tar.gz .
44 | mv ./maccatalyst-binary-Debug/maccatalyst-binary-Debug.tar.gz .
45 | mv ./maccatalyst-binary-Release/maccatalyst-binary-Release.tar.gz .
46 | mv ./iphonesimulator-binary-Debug/iphonesimulator-binary-Debug.tar.gz .
47 | mv ./iphonesimulator-binary-Release/iphonesimulator-binary-Release.tar.gz .
48 | - name: "Merge archives into xcframeworks"
49 | shell: bash
50 | run: |
51 | cd ios
52 | CONFIGURATION=Debug make build-xcframework
53 | CONFIGURATION=Release make build-xcframework
54 |
55 | - name: "Validate file size"
56 | shell: bash
57 | run: |
58 | cd ios
59 | make FILE_PATH=./ReactNative-binary-Debug.tar.gz validate-archive
60 | make FILE_PATH=./ReactNative-binary-Release.tar.gz validate-archive
61 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: Build
2 |
3 | on:
4 | push:
5 | branches: ["main"]
6 | pull_request:
7 | branches: ["main"]
8 |
9 | jobs:
10 | build-matrix:
11 | runs-on: macos-14
12 | env:
13 | CCACHE_DIR: ~/.ccache
14 | strategy:
15 | matrix:
16 | platform:
17 | - iphonesimulator
18 | - iphoneos
19 | - maccatalyst
20 | steps:
21 | - name: Checkout
22 | uses: actions/checkout@v3
23 | - uses: ./.github/workflows/archive-platform
24 | name: Set up and Archive
25 | with:
26 | platform: ${{ matrix.platform }}
27 |
28 | create-xcframework-archives:
29 | name: "Create xcframeworks"
30 | runs-on: macos-14
31 | env:
32 | CCACHE_DIR: ~/.ccache
33 | needs:
34 | - build-matrix
35 | steps:
36 | - name: Checkout
37 | uses: actions/checkout@v3
38 |
39 | - uses: ./.github/workflows/bundle-xcframeworks
40 | name: Set up and Build xcframework Archive
41 |
42 | build-example-project:
43 | name: "Build the example project"
44 | runs-on: macos-14
45 | env:
46 | CCACHE_DIR: ~/.ccache
47 | steps:
48 | - name: Checkout
49 | uses: actions/checkout@v3
50 |
51 | - name: Brew install xcodegen
52 | run: brew install xcodegen
53 | shell: bash
54 |
55 | - name: Build the example project
56 | run: |
57 | cd example
58 | make install
59 | make bundle
60 | make gen
61 | make build
62 |
--------------------------------------------------------------------------------
/.github/workflows/codeql-analysis.yml:
--------------------------------------------------------------------------------
1 | # For most projects, this workflow file will not need changing; you simply need
2 | # to commit it to your repository.
3 | #
4 | # You may wish to alter this file to override the set of languages analyzed,
5 | # or to provide custom queries or build logic.
6 | #
7 | # ******** NOTE ********
8 | # We have attempted to detect the languages in your repository. Please check
9 | # the `language` matrix defined below to confirm you have the correct set of
10 | # supported CodeQL languages.
11 | #
12 | name: "CodeQL"
13 |
14 | on:
15 | push:
16 | branches: [ "main" ]
17 | pull_request:
18 | # The branches below must be a subset of the branches above
19 | branches: [ "main" ]
20 | schedule:
21 | - cron: '25 19 * * 5'
22 |
23 | jobs:
24 | analyze:
25 | name: Analyze
26 | runs-on: ubuntu-latest
27 | permissions:
28 | actions: read
29 | contents: read
30 | security-events: write
31 |
32 | strategy:
33 | fail-fast: false
34 | matrix:
35 | language: [ 'javascript', 'ruby' ]
36 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
37 | # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
38 |
39 | steps:
40 | - name: Checkout repository
41 | uses: actions/checkout@v3
42 |
43 | # Initializes the CodeQL tools for scanning.
44 | - name: Initialize CodeQL
45 | uses: github/codeql-action/init@v2
46 | with:
47 | languages: ${{ matrix.language }}
48 | # If you wish to specify custom queries, you can do so here or in a config file.
49 | # By default, queries listed here will override any specified in a config file.
50 | # Prefix the list here with "+" to use these queries and those in the config file.
51 |
52 | # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
53 | # queries: security-extended,security-and-quality
54 |
55 |
56 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
57 | # If this step fails, then you should remove it and run the build manually (see below)
58 | - name: Autobuild
59 | uses: github/codeql-action/autobuild@v2
60 |
61 | # ℹ️ Command-line programs to run using the OS shell.
62 | # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
63 |
64 | # If the Autobuild fails above, remove it and uncomment the following three lines.
65 | # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
66 |
67 | # - run: |
68 | # echo "Run, Build Application using script"
69 | # ./location_of_script_within_repo/buildscript.sh
70 |
71 | - name: Perform CodeQL Analysis
72 | uses: github/codeql-action/analyze@v2
73 | with:
74 | category: "/language:${{matrix.language}}"
75 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: Release
2 |
3 | on:
4 | push:
5 | branches:
6 | - "releases/**"
7 | jobs:
8 | build-matrix:
9 | runs-on: macos-14
10 | env:
11 | CCACHE_DIR: ~/.ccache
12 | strategy:
13 | matrix:
14 | platform:
15 | - iphonesimulator
16 | - iphoneos
17 | - maccatalyst
18 | steps:
19 | - name: Checkout
20 | uses: actions/checkout@v3
21 | - uses: ./.github/workflows/archive-platform
22 | name: Set up and Archive
23 | with:
24 | platform: ${{ matrix.platform }}
25 |
26 | publish-cocoapods:
27 | name: "Create Xcframeworks and Publish to CocoaPods"
28 | runs-on: macos-14
29 | needs:
30 | - build-matrix
31 | if: "!contains(github.event.commits[0].message, '[skip ci]')"
32 | # TODO: Investigate whether we can remove this if condition because of:
33 | #
34 | steps:
35 | - name: Checkout
36 | uses: actions/checkout@v3
37 | with:
38 | token: ${{ secrets.PAT }}
39 | - uses: ./.github/workflows/bundle-xcframeworks
40 | name: Set up and Build xcframeworks
41 | - name: "Run release script"
42 | shell: bash
43 | env:
44 | GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
45 | BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
46 | run: |
47 | cd ios
48 | make release
49 | - name: "Publish to CocoaPods"
50 | shell: bash
51 | env:
52 | COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
53 | run: |
54 | cd ios
55 | make publish
56 |
--------------------------------------------------------------------------------
/.github/workflows/setup/action.yml:
--------------------------------------------------------------------------------
1 | name: "Project Setup"
2 | description: "Install dependencies"
3 | inputs:
4 | platform:
5 | description: "Apple platform, either iphonesimulator, iphoneos, or maccatalyst"
6 | required: true
7 | runs:
8 | using: "composite"
9 | steps:
10 | # - name: Set Xcode version
11 | # shell: bash
12 | # run: |
13 | # sudo xcode-select -s "/Applications/Xcode_14.3.1.app"
14 | - name: Show CI arch
15 | run: arch
16 | shell: bash
17 |
18 | - name: Brew install
19 | run: make brew-install
20 | shell: bash
21 |
22 | - uses: actions/cache@v3
23 | with:
24 | path: ~/.ccache
25 | key: ${{ runner.os }}-${{inputs.platform}}-ccache-${{ hashFiles('package-lock.json') }}
26 | restore-keys: |
27 | ${{ runner.os }}-${{inputs.platform}}-ccache-dir
28 |
29 | - uses: maxim-lobanov/setup-xcode@v1
30 | with:
31 | xcode-version: latest-stable
32 |
33 | - name: Prepare
34 | shell: bash
35 | run: |
36 | cd ios
37 | make prepare
38 | - name: "Generate Xcode project"
39 | shell: bash
40 | run: |
41 | pushd ios
42 | make gen
43 | popd
44 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ### Generated by gibo (https://github.com/simonwhitaker/gibo)
2 | ### https://raw.github.com/github/gitignore/4488915eec0b3a45b5c63ead28f286819c0917de/Node.gitignore
3 |
4 | # Logs
5 | logs
6 | *.log
7 | npm-debug.log*
8 | yarn-debug.log*
9 | yarn-error.log*
10 | lerna-debug.log*
11 | .pnpm-debug.log*
12 |
13 | # Diagnostic reports (https://nodejs.org/api/report.html)
14 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
15 |
16 | # Runtime data
17 | pids
18 | *.pid
19 | *.seed
20 | *.pid.lock
21 |
22 | # Directory for instrumented libs generated by jscoverage/JSCover
23 | lib-cov
24 |
25 | # Coverage directory used by tools like istanbul
26 | coverage
27 | *.lcov
28 |
29 | # nyc test coverage
30 | .nyc_output
31 |
32 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
33 | .grunt
34 |
35 | # Bower dependency directory (https://bower.io/)
36 | bower_components
37 |
38 | # node-waf configuration
39 | .lock-wscript
40 |
41 | # Compiled binary addons (https://nodejs.org/api/addons.html)
42 | build/Release
43 |
44 | # Dependency directories
45 | node_modules/
46 | jspm_packages/
47 |
48 | # Snowpack dependency directory (https://snowpack.dev/)
49 | web_modules/
50 |
51 | # TypeScript cache
52 | *.tsbuildinfo
53 |
54 | # Optional npm cache directory
55 | .npm
56 |
57 | # Optional eslint cache
58 | .eslintcache
59 |
60 | # Optional stylelint cache
61 | .stylelintcache
62 |
63 | # Microbundle cache
64 | .rpt2_cache/
65 | .rts2_cache_cjs/
66 | .rts2_cache_es/
67 | .rts2_cache_umd/
68 |
69 | # Optional REPL history
70 | .node_repl_history
71 |
72 | # Output of 'npm pack'
73 | *.tgz
74 |
75 | # Yarn Integrity file
76 | .yarn-integrity
77 |
78 | # dotenv environment variable files
79 | .env
80 | .env.development.local
81 | .env.test.local
82 | .env.production.local
83 | .env.local
84 |
85 | # parcel-bundler cache (https://parceljs.org/)
86 | .cache
87 | .parcel-cache
88 |
89 | # Next.js build output
90 | .next
91 | out
92 |
93 | # Nuxt.js build / generate output
94 | .nuxt
95 | dist
96 |
97 | # Gatsby files
98 | .cache/
99 | # Comment in the public line in if your project uses Gatsby and not Next.js
100 | # https://nextjs.org/blog/next-9-1#public-directory-support
101 | # public
102 |
103 | # vuepress build output
104 | .vuepress/dist
105 |
106 | # vuepress v2.x temp and cache directory
107 | .temp
108 | .cache
109 |
110 | # Docusaurus cache and generated files
111 | .docusaurus
112 |
113 | # Serverless directories
114 | .serverless/
115 |
116 | # FuseBox cache
117 | .fusebox/
118 |
119 | # DynamoDB Local files
120 | .dynamodb/
121 |
122 | # TernJS port file
123 | .tern-port
124 |
125 | # Stores VSCode versions used for testing VSCode extensions
126 | .vscode-test
127 |
128 | # yarn v2
129 | .yarn/cache
130 | .yarn/unplugged
131 | .yarn/build-state.yml
132 | .yarn/install-state.gz
133 | .pnp.*
134 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | brew-install:
2 | brew bundle install --no-lock --file ios/Brewfile
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ReactNative-Binary
2 |
3 | Pre-built React Native xcframeworks to save the time of humans.
4 |
5 | Features:
6 |
7 | - iOS and Mac Catalyst are both supported with xcframeworks.
8 | - About 1 minute (on M1) is saved for clean build (each CPU/platform target).
9 | - Easy integration without messy Podfile.
10 |
11 | Inspired by .
12 |
13 | ## Project State
14 |
15 | Thanks for your interesting of opening this web page.
16 | I'll be resuming the development of this project soon, probably in a couple of hours.
17 |
18 | ## Get Started
19 |
20 | ### Installation
21 |
22 | #### CocoaPods
23 |
24 | ```rb
25 | pod 'ReactNative-Binary', configuration: 'Release'
26 | pod 'ReactNative-Binary-Debug', configuration: 'Debug' # loading debug support
27 | ```
28 |
29 | #### Swift Package
30 |
31 | (working in progress)
32 |
33 | ### Code Snippet
34 |
35 | Full example can be found at the [example](https://github.com/imWildCat/ReactNative-Binary/tree/main/example) folder.
36 |
37 | ```swift
38 | import React
39 | import UIKit
40 |
41 | public class ReactNativeBaseVC: UIViewController {
42 | private enum Constants {
43 | static let moduleName = "[ModuleName]"
44 | }
45 |
46 | private lazy var rootView: UIView = RCTAppSetupDefaultRootView(self.bridge, Constants.moduleName, [:])
47 | private lazy var bridge = RCTBridge(delegate: self, launchOptions: [:])
48 |
49 | public init() {
50 | super.init(nibName: nil, bundle: nil)
51 | }
52 |
53 | override public func viewDidLoad() {
54 | super.viewDidLoad()
55 |
56 | rootView.translatesAutoresizingMaskIntoConstraints = false
57 | view.addSubview(rootView)
58 |
59 | NSLayoutConstraint.activate([
60 | rootView.topAnchor.constraint(equalTo: view.topAnchor),
61 | rootView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
62 | rootView.leftAnchor.constraint(equalTo: view.leftAnchor),
63 | rootView.rightAnchor.constraint(equalTo: view.rightAnchor),
64 | ])
65 | }
66 | }
67 |
68 | extension ReactNativeBaseVC: RCTBridgeDelegate {
69 | public func sourceURL(for _: RCTBridge!) -> URL! {
70 | URL(string: "http://localhost:8081/index.bundle?platform=ios")! // or your local JavaScript bundle file
71 | }
72 |
73 | public func extraModules(for _: RCTBridge!) -> [RCTBridgeModule]! {
74 | [
75 | RCTDevSettings(),
76 | RCTAsyncLocalStorage(),
77 | RCTRedBox(),
78 | ]
79 | }
80 | }
81 |
82 |
83 | ```
84 | ([example/Targets/ReactNativeBinaryExampleUI/Sources/MainViewController.swift](example/Targets/ReactNativeBinaryExampleUI/Sources/MainViewController.swift))
85 |
86 | ## Development
87 |
88 | ## Release Plan
89 |
90 | We're using release branches `releases/[react_native_version]` to track the official release of React Native.
91 |
92 | (working in progress)
93 |
94 |
95 | ## License
96 |
97 | MIT
--------------------------------------------------------------------------------
/example/.gitignore:
--------------------------------------------------------------------------------
1 | ### macOS ###
2 | # General
3 | .DS_Store
4 | .AppleDouble
5 | .LSOverride
6 |
7 | # Icon must end with two
8 | Icon
9 |
10 | # Thumbnails
11 | ._*
12 |
13 | # Files that might appear in the root of a volume
14 | .DocumentRevisions-V100
15 | .fseventsd
16 | .Spotlight-V100
17 | .TemporaryItems
18 | .Trashes
19 | .VolumeIcon.icns
20 | .com.apple.timemachine.donotpresent
21 |
22 | # Directories potentially created on remote AFP share
23 | .AppleDB
24 | .AppleDesktop
25 | Network Trash Folder
26 | Temporary Items
27 | .apdisk
28 |
29 | ### Xcode ###
30 | # Xcode
31 | #
32 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
33 |
34 | ## User settings
35 | xcuserdata/
36 |
37 | ## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
38 | *.xcscmblueprint
39 | *.xccheckout
40 |
41 | ## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
42 | build/
43 | DerivedData/
44 | *.moved-aside
45 | *.pbxuser
46 | !default.pbxuser
47 | *.mode1v3
48 | !default.mode1v3
49 | *.mode2v3
50 | !default.mode2v3
51 | *.perspectivev3
52 | !default.perspectivev3
53 |
54 | ### Xcode Patch ###
55 | *.xcodeproj/*
56 | !*.xcodeproj/project.pbxproj
57 | !*.xcodeproj/xcshareddata/
58 | !*.xcworkspace/contents.xcworkspacedata
59 | /*.gcno
60 |
61 | ### Projects ###
62 | *.xcodeproj
63 | *.xcworkspace
64 |
65 | ### Tuist derived files ###
66 | graph.dot
67 | Derived/
68 |
69 | ### Tuist managed dependencies ###
70 | Tuist/Dependencies
71 |
72 | .build/
73 |
74 | Targets/ReactNativeBinaryExampleUI/Sources/generated/index.jsbundle
75 | .swiftpm/
76 |
77 |
78 | Pods
79 | DerivedData
80 |
--------------------------------------------------------------------------------
/example/Makefile:
--------------------------------------------------------------------------------
1 | gen:
2 | xcodegen
3 | RCT_NEW_ARCH_ENABLED=0 USE_FRAMEWORKS=dynamic pod install
4 |
5 | bundle:
6 | cd scripts && npm run bundle-ios
7 |
8 | install:
9 | cd scripts && npm install
10 |
11 | open:
12 | xed ReactNativeBinaryExample.xcworkspace
13 |
14 | build:
15 | xcodebuild -workspace ReactNativeBinaryExample.xcworkspace \
16 | -scheme ReactNativeBinaryExample \
17 | -destination 'platform=iOS Simulator,name=iPhone 14' \
18 | CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO \
19 | | xcbeautify
20 |
--------------------------------------------------------------------------------
/example/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment the next line to define a global platform for your project
2 | # platform :ios, '9.0'
3 |
4 | def react_native_binary!
5 | pod 'ReactNative-Binary', configuration: 'Release'
6 | pod 'ReactNative-Binary-Debug', configuration: 'Debug'
7 | end
8 |
9 | target 'ReactNativeBinaryExample' do
10 | # Comment the next line if you don't want to use dynamic frameworks
11 | use_frameworks!
12 |
13 | # Pods for ReactNativeBinaryExample
14 | react_native_binary!
15 |
16 | target 'ReactNativeBinaryExampleKitTests' do
17 | inherit! :search_paths
18 | # Pods for testing
19 | end
20 |
21 | target 'ReactNativeBinaryExampleTests' do
22 | inherit! :search_paths
23 | # Pods for testing
24 | end
25 |
26 | target 'ReactNativeBinaryExampleUITests' do
27 | inherit! :search_paths
28 | # Pods for testing
29 | end
30 | end
31 |
32 | target 'ReactNativeBinaryExampleUI' do
33 | use_frameworks!
34 |
35 | react_native_binary!
36 | end
37 |
--------------------------------------------------------------------------------
/example/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - ReactNative-Binary (0.70.4):
3 | - ReactNative-Binary/main (= 0.70.4)
4 | - ReactNative-Binary-Debug (0.70.4):
5 | - ReactNative-Binary-Debug/main (= 0.70.4)
6 | - ReactNative-Binary-Debug/main (0.70.4)
7 | - ReactNative-Binary/main (0.70.4)
8 |
9 | DEPENDENCIES:
10 | - ReactNative-Binary
11 | - ReactNative-Binary-Debug
12 |
13 | SPEC REPOS:
14 | trunk:
15 | - ReactNative-Binary
16 | - ReactNative-Binary-Debug
17 |
18 | SPEC CHECKSUMS:
19 | ReactNative-Binary: 758bef6f070a6cf88c1bfd24219d2517f9444ee3
20 | ReactNative-Binary-Debug: 9cac1161c0ae7bb71f05892e27288ad9c7df6886
21 |
22 | PODFILE CHECKSUM: 579562a8fbe29557b89eca7b1527fadb5bd4987a
23 |
24 | COCOAPODS: 1.15.2
25 |
--------------------------------------------------------------------------------
/example/README.md:
--------------------------------------------------------------------------------
1 | # Example App of React Native Binary
2 |
3 | ## Quick Start
4 |
5 | ```shell
6 | # Install Xcode project generator
7 | make tuist-install # Or grab `tuistenv` at:
8 |
9 | # Install node dependencies
10 | make npm install
11 |
12 | # Build JavaScript bundle for React Native
13 | make bundle
14 |
15 | # Generate Xcode project
16 | make gen
17 |
18 | # Open Xcode project
19 | make open
20 |
21 | # (Optional) Build the project using command line
22 | make build
23 | ```
--------------------------------------------------------------------------------
/example/Targets/ReactNativeBinaryExample/Resources/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/example/Targets/ReactNativeBinaryExample/Sources/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import ReactNativeBinaryExampleKit
3 | import ReactNativeBinaryExampleUI
4 |
5 | @main
6 | class AppDelegate: UIResponder, UIApplicationDelegate {
7 |
8 | var window: UIWindow?
9 |
10 | func application(
11 | _ application: UIApplication,
12 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
13 | ) -> Bool {
14 | window = UIWindow(frame: UIScreen.main.bounds)
15 | let mainVC = MainViewController()
16 | mainVC.view.backgroundColor = .white
17 | window?.rootViewController = mainVC
18 | window?.makeKeyAndVisible()
19 | ReactNativeBinaryExampleKit.hello()
20 | ReactNativeBinaryExampleUI.hello()
21 |
22 | return true
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/example/Targets/ReactNativeBinaryExample/Tests/AppTests.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | import XCTest
3 |
4 | final class ReactNativeBinaryExampleTests: XCTestCase {
5 | func test_twoPlusTwo_isFour() {
6 | XCTAssertEqual(2+2, 4)
7 | }
8 | }
--------------------------------------------------------------------------------
/example/Targets/ReactNativeBinaryExampleKit/Sources/ReactNativeBinaryExampleKit.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public final class ReactNativeBinaryExampleKit {
4 | public static func hello() {
5 | print("Hello, from your Kit framework")
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/example/Targets/ReactNativeBinaryExampleKit/Tests/ReactNativeBinaryExampleKitTests.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | import XCTest
3 |
4 | final class ReactNativeBinaryExampleKitTests: XCTestCase {
5 | func test_example() {
6 | XCTAssertEqual("ReactNativeBinaryExampleKit", "ReactNativeBinaryExampleKit")
7 | }
8 | }
--------------------------------------------------------------------------------
/example/Targets/ReactNativeBinaryExampleUI/Sources/MainViewController.swift:
--------------------------------------------------------------------------------
1 | // Copyright © 2022 WildCat.io. All rights reserved.
2 |
3 | import React
4 | import UIKit
5 |
6 | public class MainViewController: UIViewController {
7 | private enum Constants {
8 | static let moduleName = "ExampleApp"
9 | }
10 |
11 | private lazy var rootView: UIView = RCTAppSetupDefaultRootView(
12 | self.bridge, Constants.moduleName,
13 | [
14 | "name": "initial props from native",
15 | ]
16 | )
17 | private lazy var bridge = RCTBridge(delegate: self, launchOptions: [:])
18 |
19 | public init() {
20 | super.init(nibName: nil, bundle: nil)
21 | }
22 |
23 | @available(*, unavailable)
24 | required init?(coder _: NSCoder) {
25 | fatalError("init(coder:) has not been implemented")
26 | }
27 |
28 | override public func viewDidLoad() {
29 | super.viewDidLoad()
30 |
31 | rootView.translatesAutoresizingMaskIntoConstraints = false
32 | view.addSubview(rootView)
33 |
34 | NSLayoutConstraint.activate([
35 | rootView.topAnchor.constraint(equalTo: view.topAnchor),
36 | rootView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
37 | rootView.leftAnchor.constraint(equalTo: view.leftAnchor),
38 | rootView.rightAnchor.constraint(equalTo: view.rightAnchor),
39 | ])
40 | }
41 | }
42 |
43 | extension MainViewController: RCTBridgeDelegate {
44 | public func sourceURL(for _: RCTBridge!) -> URL! {
45 | let u = Bundle(for: Self.self).url(forResource: "index", withExtension: "jsbundle")
46 | return u!
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/example/Targets/ReactNativeBinaryExampleUI/Sources/ReactNativeBinaryExampleUI.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public final class ReactNativeBinaryExampleUI {
4 | public static func hello() {
5 | print("Hello, from your UI framework")
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/example/Targets/ReactNativeBinaryExampleUI/Sources/generated/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imWildCat/ReactNative-Binary/33eef9b1334e765b180be41e2f9ba1c3873f0ea7/example/Targets/ReactNativeBinaryExampleUI/Sources/generated/.keep
--------------------------------------------------------------------------------
/example/Targets/ReactNativeBinaryExampleUI/Tests/ReactNativeBinaryExampleUITests.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | import XCTest
3 |
4 | final class ReactNativeBinaryExampleUITests: XCTestCase {
5 | func test_example() {
6 | XCTAssertEqual("ReactNativeBinaryExampleUI", "ReactNativeBinaryExampleUI")
7 | }
8 | }
--------------------------------------------------------------------------------
/example/project.yml:
--------------------------------------------------------------------------------
1 | name: ReactNativeBinaryExample
2 | options:
3 | bundleIdPrefix: io.wildcat
4 | deploymentTarget:
5 | iOS: 15.0
6 | configs:
7 | Debug: debug
8 | Release: release
9 | settings:
10 | BASE_SDK: iphoneos
11 | targets:
12 | ReactNativeBinaryExample:
13 | type: application
14 | platform: iOS
15 | sources:
16 | - path: Targets/ReactNativeBinaryExample/Sources
17 | resources:
18 | - path: Targets/ReactNativeBinaryExample/Resources
19 | dependencies:
20 | - target: ReactNativeBinaryExampleKit
21 | - target: ReactNativeBinaryExampleUI
22 | settings:
23 | PRODUCT_BUNDLE_IDENTIFIER: io.wildcat.ReactNativeBinaryExample
24 | IPHONEOS_DEPLOYMENT_TARGET: 15.0
25 | GENERATE_INFOPLIST_FILE: YES
26 | ReactNativeBinaryExampleTests:
27 | type: bundle.unit-test
28 | platform: iOS
29 | sources:
30 | - path: Targets/ReactNativeBinaryExample/Tests
31 | dependencies:
32 | - target: ReactNativeBinaryExample
33 | settings:
34 | INFO_PLIST_FILE: Targets/ReactNativeBinaryExampleTests/Info.plist
35 | PRODUCT_BUNDLE_IDENTIFIER: io.wildcat.ReactNativeBinaryExampleTests
36 | ReactNativeBinaryExampleKit:
37 | type: framework
38 | platform: iOS
39 | sources:
40 | - path: Targets/ReactNativeBinaryExampleKit/Sources
41 | settings:
42 | PRODUCT_BUNDLE_IDENTIFIER: io.wildcat.ReactNativeBinaryExampleKit
43 | ReactNativeBinaryExampleKitTests:
44 | type: bundle.unit-test
45 | platform: iOS
46 | sources:
47 | - path: Targets/ReactNativeBinaryExampleKit/Tests
48 | dependencies:
49 | - target: ReactNativeBinaryExampleKit
50 | settings:
51 | PRODUCT_BUNDLE_IDENTIFIER: io.wildcat.ReactNativeBinaryExampleKitTests
52 | ReactNativeBinaryExampleUI:
53 | type: framework
54 | platform: iOS
55 | sources:
56 | - path: Targets/ReactNativeBinaryExampleUI/Sources
57 | resources:
58 | - path: Targets/ReactNativeBinaryExampleUI/Sources/generated/index.jsbundle
59 | settings:
60 | PRODUCT_BUNDLE_IDENTIFIER: io.wildcat.ReactNativeBinaryExampleUI
61 | ReactNativeBinaryExampleUITests:
62 | type: bundle.unit-test
63 | platform: iOS
64 | sources:
65 | - path: Targets/ReactNativeBinaryExampleUI/Tests
66 | dependencies:
67 | - target: ReactNativeBinaryExampleUI
68 | settings:
69 | PRODUCT_BUNDLE_IDENTIFIER: io.wildcat.ReactNativeBinaryExampleUITests
70 |
--------------------------------------------------------------------------------
/example/scripts/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 |
--------------------------------------------------------------------------------
/example/scripts/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "example-scripts",
3 | "version": "1.0.0",
4 | "main": "index.tsx",
5 | "license": "MIT",
6 | "scripts": {
7 | "android": "react-native run-android",
8 | "ios": "react-native run-ios",
9 | "bundle-ios": "react-native bundle --platform ios --dev false --entry-file src/index.js --bundle-output ../Targets/ReactNativeBinaryExampleUI/Sources/generated/index.jsbundle",
10 | "start": "react-native start",
11 | "test": "jest",
12 | "lint": "eslint ."
13 | },
14 | "dependencies": {
15 | "react": "^18",
16 | "react-native": "0.74.0"
17 | },
18 | "devDependencies": {
19 | "@babel/core": "^7.20.0",
20 | "@babel/preset-env": "^7.20.0",
21 | "@babel/runtime": "^7.20.0",
22 | "@react-native/babel-preset": "0.74.81",
23 | "@react-native/eslint-config": "0.74.81",
24 | "@react-native/metro-config": "0.74.81",
25 | "@react-native/typescript-config": "0.74.81",
26 | "@types/react": "^18.2.6",
27 | "@types/react-test-renderer": "^18.0.0",
28 | "babel-jest": "^29.6.3",
29 | "eslint": "^8.19.0",
30 | "jest": "^29.6.3",
31 | "prettier": "2.8.8",
32 | "react-test-renderer": "18.2.0",
33 | "typescript": "5.0.4"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/example/scripts/src/Hello.tsx:
--------------------------------------------------------------------------------
1 | // From:
2 |
3 | import React from 'react';
4 | import { Button, StyleSheet, Text, View } from 'react-native';
5 |
6 | export type Props = {
7 | name: string;
8 | baseEnthusiasmLevel?: number;
9 | };
10 |
11 | const Hello: React.FC = ({
12 | name,
13 | baseEnthusiasmLevel = 0
14 | }) => {
15 | const [enthusiasmLevel, setEnthusiasmLevel] = React.useState(
16 | baseEnthusiasmLevel
17 | );
18 |
19 | const onIncrement = () =>
20 | setEnthusiasmLevel(enthusiasmLevel + 1);
21 | const onDecrement = () =>
22 | setEnthusiasmLevel(
23 | enthusiasmLevel > 0 ? enthusiasmLevel - 1 : 0
24 | );
25 |
26 | const getExclamationMarks = (numChars: number) =>
27 | numChars > 0 ? Array(numChars + 1).join('!') : '';
28 |
29 | return (
30 |
31 |
32 | Hello {name}
33 | {getExclamationMarks(enthusiasmLevel)}
34 |
35 |
36 |
42 |
48 |
49 |
50 | );
51 | };
52 |
53 | const styles = StyleSheet.create({
54 | container: {
55 | flex: 1,
56 | alignItems: 'center',
57 | justifyContent: 'center'
58 | },
59 | greeting: {
60 | fontSize: 20,
61 | fontWeight: 'bold',
62 | margin: 16
63 | }
64 | });
65 |
66 | export default Hello;
--------------------------------------------------------------------------------
/example/scripts/src/index.js:
--------------------------------------------------------------------------------
1 | import { AppRegistry } from "react-native";
2 | import Hello from './Hello';
3 |
4 | AppRegistry.registerComponent('ExampleApp', () => Hello);
5 |
--------------------------------------------------------------------------------
/example/scripts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@react-native/typescript-config/tsconfig.json"
3 | }
4 |
--------------------------------------------------------------------------------
/frontend/.gitignore:
--------------------------------------------------------------------------------
1 | ### Generated by gibo (https://github.com/simonwhitaker/gibo)
2 | ### https://raw.github.com/github/gitignore/4488915eec0b3a45b5c63ead28f286819c0917de/Node.gitignore
3 |
4 | # Logs
5 | logs
6 | *.log
7 | npm-debug.log*
8 | yarn-debug.log*
9 | yarn-error.log*
10 | lerna-debug.log*
11 | .pnpm-debug.log*
12 |
13 | # Diagnostic reports (https://nodejs.org/api/report.html)
14 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
15 |
16 | # Runtime data
17 | pids
18 | *.pid
19 | *.seed
20 | *.pid.lock
21 |
22 | # Directory for instrumented libs generated by jscoverage/JSCover
23 | lib-cov
24 |
25 | # Coverage directory used by tools like istanbul
26 | coverage
27 | *.lcov
28 |
29 | # nyc test coverage
30 | .nyc_output
31 |
32 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
33 | .grunt
34 |
35 | # Bower dependency directory (https://bower.io/)
36 | bower_components
37 |
38 | # node-waf configuration
39 | .lock-wscript
40 |
41 | # Compiled binary addons (https://nodejs.org/api/addons.html)
42 | build/Release
43 |
44 | # Dependency directories
45 | node_modules/
46 | jspm_packages/
47 |
48 | # Snowpack dependency directory (https://snowpack.dev/)
49 | web_modules/
50 |
51 | # TypeScript cache
52 | *.tsbuildinfo
53 |
54 | # Optional npm cache directory
55 | .npm
56 |
57 | # Optional eslint cache
58 | .eslintcache
59 |
60 | # Optional stylelint cache
61 | .stylelintcache
62 |
63 | # Microbundle cache
64 | .rpt2_cache/
65 | .rts2_cache_cjs/
66 | .rts2_cache_es/
67 | .rts2_cache_umd/
68 |
69 | # Optional REPL history
70 | .node_repl_history
71 |
72 | # Output of 'npm pack'
73 | *.tgz
74 |
75 | # Yarn Integrity file
76 | .yarn-integrity
77 |
78 | # dotenv environment variable files
79 | .env
80 | .env.development.local
81 | .env.test.local
82 | .env.production.local
83 | .env.local
84 |
85 | # parcel-bundler cache (https://parceljs.org/)
86 | .cache
87 | .parcel-cache
88 |
89 | # Next.js build output
90 | .next
91 | out
92 |
93 | # Nuxt.js build / generate output
94 | .nuxt
95 | dist
96 |
97 | # Gatsby files
98 | .cache/
99 | # Comment in the public line in if your project uses Gatsby and not Next.js
100 | # https://nextjs.org/blog/next-9-1#public-directory-support
101 | # public
102 |
103 | # vuepress build output
104 | .vuepress/dist
105 |
106 | # vuepress v2.x temp and cache directory
107 | .temp
108 | .cache
109 |
110 | # Docusaurus cache and generated files
111 | .docusaurus
112 |
113 | # Serverless directories
114 | .serverless/
115 |
116 | # FuseBox cache
117 | .fusebox/
118 |
119 | # DynamoDB Local files
120 | .dynamodb/
121 |
122 | # TernJS port file
123 | .tern-port
124 |
125 | # Stores VSCode versions used for testing VSCode extensions
126 | .vscode-test
127 |
128 | # yarn v2
129 | .yarn/cache
130 | .yarn/unplugged
131 | .yarn/build-state.yml
132 | .yarn/install-state.gz
133 | .pnp.*
134 |
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | ### Generated by gibo (https://github.com/simonwhitaker/gibo)
2 | ### https://raw.github.com/github/gitignore/e5323759e387ba347a9d50f8b0ddd16502eb71d4/Node.gitignore
3 |
4 | # Logs
5 | logs
6 | *.log
7 | npm-debug.log*
8 | yarn-debug.log*
9 | yarn-error.log*
10 | lerna-debug.log*
11 | .pnpm-debug.log*
12 |
13 | # Diagnostic reports (https://nodejs.org/api/report.html)
14 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
15 |
16 | # Runtime data
17 | pids
18 | *.pid
19 | *.seed
20 | *.pid.lock
21 |
22 | # Directory for instrumented libs generated by jscoverage/JSCover
23 | lib-cov
24 |
25 | # Coverage directory used by tools like istanbul
26 | coverage
27 | *.lcov
28 |
29 | # nyc test coverage
30 | .nyc_output
31 |
32 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
33 | .grunt
34 |
35 | # Bower dependency directory (https://bower.io/)
36 | bower_components
37 |
38 | # node-waf configuration
39 | .lock-wscript
40 |
41 | # Compiled binary addons (https://nodejs.org/api/addons.html)
42 | build/Release
43 |
44 | # Dependency directories
45 | node_modules/
46 | jspm_packages/
47 |
48 | # Snowpack dependency directory (https://snowpack.dev/)
49 | web_modules/
50 |
51 | # TypeScript cache
52 | *.tsbuildinfo
53 |
54 | # Optional npm cache directory
55 | .npm
56 |
57 | # Optional eslint cache
58 | .eslintcache
59 |
60 | # Optional stylelint cache
61 | .stylelintcache
62 |
63 | # Microbundle cache
64 | .rpt2_cache/
65 | .rts2_cache_cjs/
66 | .rts2_cache_es/
67 | .rts2_cache_umd/
68 |
69 | # Optional REPL history
70 | .node_repl_history
71 |
72 | # Output of 'npm pack'
73 | *.tgz
74 |
75 | # Yarn Integrity file
76 | .yarn-integrity
77 |
78 | # dotenv environment variable files
79 | .env
80 | .env.development.local
81 | .env.test.local
82 | .env.production.local
83 | .env.local
84 |
85 | # parcel-bundler cache (https://parceljs.org/)
86 | .cache
87 | .parcel-cache
88 |
89 | # Next.js build output
90 | .next
91 | out
92 |
93 | # Nuxt.js build / generate output
94 | .nuxt
95 | dist
96 |
97 | # Gatsby files
98 | .cache/
99 | # Comment in the public line in if your project uses Gatsby and not Next.js
100 | # https://nextjs.org/blog/next-9-1#public-directory-support
101 | # public
102 |
103 | # vuepress build output
104 | .vuepress/dist
105 |
106 | # vuepress v2.x temp and cache directory
107 | .temp
108 | .cache
109 |
110 | # Docusaurus cache and generated files
111 | .docusaurus
112 |
113 | # Serverless directories
114 | .serverless/
115 |
116 | # FuseBox cache
117 | .fusebox/
118 |
119 | # DynamoDB Local files
120 | .dynamodb/
121 |
122 | # TernJS port file
123 | .tern-port
124 |
125 | # Stores VSCode versions used for testing VSCode extensions
126 | .vscode-test
127 |
128 | # yarn v2
129 | .yarn/cache
130 | .yarn/unplugged
131 | .yarn/build-state.yml
132 | .yarn/install-state.gz
133 | .pnp.*
134 |
135 | ### https://raw.github.com/github/gitignore/e5323759e387ba347a9d50f8b0ddd16502eb71d4/Global/macOS.gitignore
136 |
137 | # General
138 | .DS_Store
139 | .AppleDouble
140 | .LSOverride
141 |
142 | # Icon must end with two \r
143 | Icon
144 |
145 | # Thumbnails
146 | ._*
147 |
148 | # Files that might appear in the root of a volume
149 | .DocumentRevisions-V100
150 | .fseventsd
151 | .Spotlight-V100
152 | .TemporaryItems
153 | .Trashes
154 | .VolumeIcon.icns
155 | .com.apple.timemachine.donotpresent
156 |
157 | # Directories potentially created on remote AFP share
158 | .AppleDB
159 | .AppleDesktop
160 | Network Trash Folder
161 | Temporary Items
162 | .apdisk
163 |
164 | ### https://raw.github.com/github/gitignore/e5323759e387ba347a9d50f8b0ddd16502eb71d4/Global/Xcode.gitignore
165 |
166 | ## User settings
167 | xcuserdata/
168 |
169 | ## Xcode 8 and earlier
170 | *.xcscmblueprint
171 | *.xccheckout
172 |
173 | DummyApp.xcworkspace/
174 | DummyApp.xcodeproj/
175 | build/
176 |
177 | Pods/
178 |
179 | DerivedData/
180 |
181 | *.xcarchive
182 | DummyApp.tar.gz
183 | ReactNative-binary-*.tar.gz
184 |
185 | Frameworks/
186 | .xcode.env.local
187 |
188 | *.tar.gz
189 |
190 | .vscode/
191 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/ios/Brewfile:
--------------------------------------------------------------------------------
1 | brew "xcbeautify"
2 | brew "xcodegen"
3 | brew "yarn"
4 | brew "ccache"
5 |
--------------------------------------------------------------------------------
/ios/DummyApp/AppDelegate.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface AppDelegate : RCTAppDelegate
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/ios/DummyApp/AppDelegate.m:
--------------------------------------------------------------------------------
1 | #import "AppDelegate.h"
2 |
3 | #import
4 |
5 | @implementation AppDelegate
6 |
7 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
8 | {
9 | self.moduleName = @"DummyApp";
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 |
--------------------------------------------------------------------------------
/ios/DummyApp/DummyApp.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.network.client
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/DummyApp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDisplayName
6 | DummyApp
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleShortVersionString
12 | 1.0
13 | CFBundleVersion
14 | 1.0
15 |
16 |
17 |
--------------------------------------------------------------------------------
/ios/DummyApp/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 |
--------------------------------------------------------------------------------
/ios/DummyApp/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 |
--------------------------------------------------------------------------------
/ios/Gemfile:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 |
3 | source 'https://rubygems.org'
4 |
5 | git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6 |
7 | # gem 'cocoapods', '>= 1.13', '< 1.15'
8 | gem 'activesupport', '>= 6.1.7.5', '< 7.1.0'
9 | gem 'cocoapods', git: 'https://github.com/zep-us/CocoaPods', branch: 'header-mappings-dir-symlink-fix'
10 |
--------------------------------------------------------------------------------
/ios/Gemfile.lock:
--------------------------------------------------------------------------------
1 | GIT
2 | remote: https://github.com/zep-us/CocoaPods
3 | revision: 8bd78d519de52ad3c044aa22220fbc6f8bc1dd57
4 | branch: header-mappings-dir-symlink-fix
5 | specs:
6 | cocoapods (1.14.3)
7 | addressable (~> 2.8)
8 | claide (>= 1.0.2, < 2.0)
9 | cocoapods-core (= 1.14.3)
10 | cocoapods-deintegrate (>= 1.0.3, < 2.0)
11 | cocoapods-downloader (>= 2.1, < 3.0)
12 | cocoapods-plugins (>= 1.0.0, < 2.0)
13 | cocoapods-search (>= 1.0.0, < 2.0)
14 | cocoapods-trunk (>= 1.6.0, < 2.0)
15 | cocoapods-try (>= 1.1.0, < 2.0)
16 | colored2 (~> 3.1)
17 | escape (~> 0.0.4)
18 | fourflusher (>= 2.3.0, < 3.0)
19 | gh_inspector (~> 1.0)
20 | molinillo (~> 0.8.0)
21 | nap (~> 1.0)
22 | ruby-macho (>= 2.3.0, < 3.0)
23 | xcodeproj (>= 1.23.0, < 2.0)
24 |
25 | GEM
26 | remote: https://rubygems.org/
27 | specs:
28 | CFPropertyList (3.0.7)
29 | base64
30 | nkf
31 | rexml
32 | activesupport (7.0.8.1)
33 | concurrent-ruby (~> 1.0, >= 1.0.2)
34 | i18n (>= 1.6, < 2)
35 | minitest (>= 5.1)
36 | tzinfo (~> 2.0)
37 | addressable (2.8.6)
38 | public_suffix (>= 2.0.2, < 6.0)
39 | algoliasearch (1.27.5)
40 | httpclient (~> 2.8, >= 2.8.3)
41 | json (>= 1.5.1)
42 | atomos (0.1.3)
43 | base64 (0.2.0)
44 | claide (1.1.0)
45 | cocoapods-core (1.14.3)
46 | activesupport (>= 5.0, < 8)
47 | addressable (~> 2.8)
48 | algoliasearch (~> 1.0)
49 | concurrent-ruby (~> 1.1)
50 | fuzzy_match (~> 2.0.4)
51 | nap (~> 1.0)
52 | netrc (~> 0.11)
53 | public_suffix (~> 4.0)
54 | typhoeus (~> 1.0)
55 | cocoapods-deintegrate (1.0.5)
56 | cocoapods-downloader (2.1)
57 | cocoapods-plugins (1.0.0)
58 | nap
59 | cocoapods-search (1.0.1)
60 | cocoapods-trunk (1.6.0)
61 | nap (>= 0.8, < 2.0)
62 | netrc (~> 0.11)
63 | cocoapods-try (1.2.0)
64 | colored2 (3.1.2)
65 | concurrent-ruby (1.2.3)
66 | escape (0.0.4)
67 | ethon (0.16.0)
68 | ffi (>= 1.15.0)
69 | ffi (1.16.3)
70 | fourflusher (2.3.1)
71 | fuzzy_match (2.0.4)
72 | gh_inspector (1.1.3)
73 | httpclient (2.8.3)
74 | i18n (1.14.4)
75 | concurrent-ruby (~> 1.0)
76 | json (2.7.2)
77 | minitest (5.22.3)
78 | molinillo (0.8.0)
79 | nanaimo (0.3.0)
80 | nap (1.1.0)
81 | netrc (0.11.0)
82 | nkf (0.2.0)
83 | public_suffix (4.0.7)
84 | rexml (3.2.6)
85 | ruby-macho (2.5.1)
86 | typhoeus (1.4.1)
87 | ethon (>= 0.9.0)
88 | tzinfo (2.0.6)
89 | concurrent-ruby (~> 1.0)
90 | xcodeproj (1.24.0)
91 | CFPropertyList (>= 2.3.3, < 4.0)
92 | atomos (~> 0.1.3)
93 | claide (>= 1.0.2, < 2.0)
94 | colored2 (~> 3.1)
95 | nanaimo (~> 0.3.0)
96 | rexml (~> 3.2.4)
97 |
98 | PLATFORMS
99 | arm64-darwin-21
100 | arm64-darwin-22
101 | arm64-darwin-23
102 |
103 | DEPENDENCIES
104 | activesupport (>= 6.1.7.5, < 7.1.0)
105 | cocoapods!
106 |
107 | BUNDLED WITH
108 | 2.2.32
109 |
--------------------------------------------------------------------------------
/ios/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
8 |
9 |
--------------------------------------------------------------------------------
/ios/Makefile:
--------------------------------------------------------------------------------
1 | export SRCROOT = $(shell pwd)
2 | export PROJECT = DummyApp
3 |
4 | build-xcframework:
5 | scripts/build_xcframework.sh $(CONFIGURATION)
6 |
7 | archive-platform:
8 | scripts/build_single_platform.sh $(CONFIGURATION) $(PLATFORM) $(PLATFORM).tar.gz
9 |
10 | prepare:
11 | bundle install
12 | cd .. && npm install
13 |
14 | gen:
15 | xcodegen
16 | RCT_NEW_ARCH_ENABLED=0 USE_FRAMEWORKS=dynamic bundle exec pod install
17 | scripts/set_up_xcode_env.sh
18 |
19 | release:
20 | scripts/release.sh
21 | scripts/release_commit_podspec.sh
22 |
23 | publish:
24 | bundle exec pod trunk push ReactNative-Binary.podspec --allow-warnings
25 | bundle exec pod trunk push ReactNative-Binary-Debug.podspec --allow-warnings
26 |
27 | clean:
28 | rm -rf ./build
29 | rm -rf ./Pods
30 | rm -rf DummyApp.xcworkspace
31 | rm -rf DummyApp.xcodeproj
32 | rm -rf ./DerivedData
33 |
34 | validate-archive:
35 | scripts/validate_archive_size.sh $(FILE_PATH)
36 |
--------------------------------------------------------------------------------
/ios/Podfile:
--------------------------------------------------------------------------------
1 | require Pod::Executable.execute_command('node', ['-p',
2 | 'require.resolve(
3 | "react-native/scripts/react_native_pods.rb",
4 | {paths: [process.argv[1]]},
5 | )', __dir__]).strip
6 |
7 | platform :ios, min_ios_version_supported
8 | prepare_react_native_project!
9 |
10 | linkage = ENV['USE_FRAMEWORKS']
11 | if linkage != nil
12 | Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
13 | use_frameworks! :linkage => linkage.to_sym
14 | end
15 |
16 | target 'DummyApp' do
17 | config = use_native_modules!
18 |
19 | use_react_native!(
20 | :path => config[:reactNativePath],
21 | # An absolute path to your application root.
22 | :app_path => "#{Pod::Config.instance.installation_root}/.."
23 | )
24 |
25 | post_install do |installer|
26 | react_native_post_install(
27 | installer,
28 | config[:reactNativePath],
29 | :mac_catalyst_enabled => true,
30 | :ccache_enabled => true,
31 | )
32 | end
33 | end
34 |
--------------------------------------------------------------------------------
/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 | - RCT-Folly (2024.01.01.00):
11 | - boost
12 | - DoubleConversion
13 | - fmt (= 9.1.0)
14 | - glog
15 | - RCT-Folly/Default (= 2024.01.01.00)
16 | - RCT-Folly/Default (2024.01.01.00):
17 | - boost
18 | - DoubleConversion
19 | - fmt (= 9.1.0)
20 | - glog
21 | - RCT-Folly/Fabric (2024.01.01.00):
22 | - boost
23 | - DoubleConversion
24 | - fmt (= 9.1.0)
25 | - glog
26 | - RCTDeprecation (0.74.0)
27 | - RCTRequired (0.74.0)
28 | - RCTTypeSafety (0.74.0):
29 | - FBLazyVector (= 0.74.0)
30 | - RCTRequired (= 0.74.0)
31 | - React-Core (= 0.74.0)
32 | - React (0.74.0):
33 | - React-Core (= 0.74.0)
34 | - React-Core/DevSupport (= 0.74.0)
35 | - React-Core/RCTWebSocket (= 0.74.0)
36 | - React-RCTActionSheet (= 0.74.0)
37 | - React-RCTAnimation (= 0.74.0)
38 | - React-RCTBlob (= 0.74.0)
39 | - React-RCTImage (= 0.74.0)
40 | - React-RCTLinking (= 0.74.0)
41 | - React-RCTNetwork (= 0.74.0)
42 | - React-RCTSettings (= 0.74.0)
43 | - React-RCTText (= 0.74.0)
44 | - React-RCTVibration (= 0.74.0)
45 | - React-callinvoker (0.74.0)
46 | - React-Codegen (0.74.0):
47 | - DoubleConversion
48 | - glog
49 | - hermes-engine
50 | - RCT-Folly
51 | - RCTRequired
52 | - RCTTypeSafety
53 | - React-Core
54 | - React-debug
55 | - React-Fabric
56 | - React-FabricImage
57 | - React-featureflags
58 | - React-graphics
59 | - React-jsi
60 | - React-jsiexecutor
61 | - React-NativeModulesApple
62 | - React-rendererdebug
63 | - React-utils
64 | - ReactCommon/turbomodule/bridging
65 | - ReactCommon/turbomodule/core
66 | - React-Core (0.74.0):
67 | - glog
68 | - hermes-engine
69 | - RCT-Folly (= 2024.01.01.00)
70 | - RCTDeprecation
71 | - React-Core/Default (= 0.74.0)
72 | - React-cxxreact
73 | - React-featureflags
74 | - React-hermes
75 | - React-jsi
76 | - React-jsiexecutor
77 | - React-jsinspector
78 | - React-perflogger
79 | - React-runtimescheduler
80 | - React-utils
81 | - SocketRocket (= 0.7.0)
82 | - Yoga
83 | - React-Core/CoreModulesHeaders (0.74.0):
84 | - glog
85 | - hermes-engine
86 | - RCT-Folly (= 2024.01.01.00)
87 | - RCTDeprecation
88 | - React-Core/Default
89 | - React-cxxreact
90 | - React-featureflags
91 | - React-hermes
92 | - React-jsi
93 | - React-jsiexecutor
94 | - React-jsinspector
95 | - React-perflogger
96 | - React-runtimescheduler
97 | - React-utils
98 | - SocketRocket (= 0.7.0)
99 | - Yoga
100 | - React-Core/Default (0.74.0):
101 | - glog
102 | - hermes-engine
103 | - RCT-Folly (= 2024.01.01.00)
104 | - RCTDeprecation
105 | - React-cxxreact
106 | - React-featureflags
107 | - React-hermes
108 | - React-jsi
109 | - React-jsiexecutor
110 | - React-jsinspector
111 | - React-perflogger
112 | - React-runtimescheduler
113 | - React-utils
114 | - SocketRocket (= 0.7.0)
115 | - Yoga
116 | - React-Core/DevSupport (0.74.0):
117 | - glog
118 | - hermes-engine
119 | - RCT-Folly (= 2024.01.01.00)
120 | - RCTDeprecation
121 | - React-Core/Default (= 0.74.0)
122 | - React-Core/RCTWebSocket (= 0.74.0)
123 | - React-cxxreact
124 | - React-featureflags
125 | - React-hermes
126 | - React-jsi
127 | - React-jsiexecutor
128 | - React-jsinspector
129 | - React-perflogger
130 | - React-runtimescheduler
131 | - React-utils
132 | - SocketRocket (= 0.7.0)
133 | - Yoga
134 | - React-Core/RCTActionSheetHeaders (0.74.0):
135 | - glog
136 | - hermes-engine
137 | - RCT-Folly (= 2024.01.01.00)
138 | - RCTDeprecation
139 | - React-Core/Default
140 | - React-cxxreact
141 | - React-featureflags
142 | - React-hermes
143 | - React-jsi
144 | - React-jsiexecutor
145 | - React-jsinspector
146 | - React-perflogger
147 | - React-runtimescheduler
148 | - React-utils
149 | - SocketRocket (= 0.7.0)
150 | - Yoga
151 | - React-Core/RCTAnimationHeaders (0.74.0):
152 | - glog
153 | - hermes-engine
154 | - RCT-Folly (= 2024.01.01.00)
155 | - RCTDeprecation
156 | - React-Core/Default
157 | - React-cxxreact
158 | - React-featureflags
159 | - React-hermes
160 | - React-jsi
161 | - React-jsiexecutor
162 | - React-jsinspector
163 | - React-perflogger
164 | - React-runtimescheduler
165 | - React-utils
166 | - SocketRocket (= 0.7.0)
167 | - Yoga
168 | - React-Core/RCTBlobHeaders (0.74.0):
169 | - glog
170 | - hermes-engine
171 | - RCT-Folly (= 2024.01.01.00)
172 | - RCTDeprecation
173 | - React-Core/Default
174 | - React-cxxreact
175 | - React-featureflags
176 | - React-hermes
177 | - React-jsi
178 | - React-jsiexecutor
179 | - React-jsinspector
180 | - React-perflogger
181 | - React-runtimescheduler
182 | - React-utils
183 | - SocketRocket (= 0.7.0)
184 | - Yoga
185 | - React-Core/RCTImageHeaders (0.74.0):
186 | - glog
187 | - hermes-engine
188 | - RCT-Folly (= 2024.01.01.00)
189 | - RCTDeprecation
190 | - React-Core/Default
191 | - React-cxxreact
192 | - React-featureflags
193 | - React-hermes
194 | - React-jsi
195 | - React-jsiexecutor
196 | - React-jsinspector
197 | - React-perflogger
198 | - React-runtimescheduler
199 | - React-utils
200 | - SocketRocket (= 0.7.0)
201 | - Yoga
202 | - React-Core/RCTLinkingHeaders (0.74.0):
203 | - glog
204 | - hermes-engine
205 | - RCT-Folly (= 2024.01.01.00)
206 | - RCTDeprecation
207 | - React-Core/Default
208 | - React-cxxreact
209 | - React-featureflags
210 | - React-hermes
211 | - React-jsi
212 | - React-jsiexecutor
213 | - React-jsinspector
214 | - React-perflogger
215 | - React-runtimescheduler
216 | - React-utils
217 | - SocketRocket (= 0.7.0)
218 | - Yoga
219 | - React-Core/RCTNetworkHeaders (0.74.0):
220 | - glog
221 | - hermes-engine
222 | - RCT-Folly (= 2024.01.01.00)
223 | - RCTDeprecation
224 | - React-Core/Default
225 | - React-cxxreact
226 | - React-featureflags
227 | - React-hermes
228 | - React-jsi
229 | - React-jsiexecutor
230 | - React-jsinspector
231 | - React-perflogger
232 | - React-runtimescheduler
233 | - React-utils
234 | - SocketRocket (= 0.7.0)
235 | - Yoga
236 | - React-Core/RCTSettingsHeaders (0.74.0):
237 | - glog
238 | - hermes-engine
239 | - RCT-Folly (= 2024.01.01.00)
240 | - RCTDeprecation
241 | - React-Core/Default
242 | - React-cxxreact
243 | - React-featureflags
244 | - React-hermes
245 | - React-jsi
246 | - React-jsiexecutor
247 | - React-jsinspector
248 | - React-perflogger
249 | - React-runtimescheduler
250 | - React-utils
251 | - SocketRocket (= 0.7.0)
252 | - Yoga
253 | - React-Core/RCTTextHeaders (0.74.0):
254 | - glog
255 | - hermes-engine
256 | - RCT-Folly (= 2024.01.01.00)
257 | - RCTDeprecation
258 | - React-Core/Default
259 | - React-cxxreact
260 | - React-featureflags
261 | - React-hermes
262 | - React-jsi
263 | - React-jsiexecutor
264 | - React-jsinspector
265 | - React-perflogger
266 | - React-runtimescheduler
267 | - React-utils
268 | - SocketRocket (= 0.7.0)
269 | - Yoga
270 | - React-Core/RCTVibrationHeaders (0.74.0):
271 | - glog
272 | - hermes-engine
273 | - RCT-Folly (= 2024.01.01.00)
274 | - RCTDeprecation
275 | - React-Core/Default
276 | - React-cxxreact
277 | - React-featureflags
278 | - React-hermes
279 | - React-jsi
280 | - React-jsiexecutor
281 | - React-jsinspector
282 | - React-perflogger
283 | - React-runtimescheduler
284 | - React-utils
285 | - SocketRocket (= 0.7.0)
286 | - Yoga
287 | - React-Core/RCTWebSocket (0.74.0):
288 | - glog
289 | - hermes-engine
290 | - RCT-Folly (= 2024.01.01.00)
291 | - RCTDeprecation
292 | - React-Core/Default (= 0.74.0)
293 | - React-cxxreact
294 | - React-featureflags
295 | - React-hermes
296 | - React-jsi
297 | - React-jsiexecutor
298 | - React-jsinspector
299 | - React-perflogger
300 | - React-runtimescheduler
301 | - React-utils
302 | - SocketRocket (= 0.7.0)
303 | - Yoga
304 | - React-CoreModules (0.74.0):
305 | - DoubleConversion
306 | - fmt (= 9.1.0)
307 | - RCT-Folly (= 2024.01.01.00)
308 | - RCTTypeSafety (= 0.74.0)
309 | - React-Codegen
310 | - React-Core/CoreModulesHeaders (= 0.74.0)
311 | - React-jsi (= 0.74.0)
312 | - React-jsinspector
313 | - React-NativeModulesApple
314 | - React-RCTBlob
315 | - React-RCTImage (= 0.74.0)
316 | - ReactCommon
317 | - SocketRocket (= 0.7.0)
318 | - React-cxxreact (0.74.0):
319 | - boost (= 1.83.0)
320 | - DoubleConversion
321 | - fmt (= 9.1.0)
322 | - glog
323 | - hermes-engine
324 | - RCT-Folly (= 2024.01.01.00)
325 | - React-callinvoker (= 0.74.0)
326 | - React-debug (= 0.74.0)
327 | - React-jsi (= 0.74.0)
328 | - React-jsinspector
329 | - React-logger (= 0.74.0)
330 | - React-perflogger (= 0.74.0)
331 | - React-runtimeexecutor (= 0.74.0)
332 | - React-debug (0.74.0)
333 | - React-Fabric (0.74.0):
334 | - DoubleConversion
335 | - fmt (= 9.1.0)
336 | - glog
337 | - hermes-engine
338 | - RCT-Folly/Fabric (= 2024.01.01.00)
339 | - RCTRequired
340 | - RCTTypeSafety
341 | - React-Core
342 | - React-cxxreact
343 | - React-debug
344 | - React-Fabric/animations (= 0.74.0)
345 | - React-Fabric/attributedstring (= 0.74.0)
346 | - React-Fabric/componentregistry (= 0.74.0)
347 | - React-Fabric/componentregistrynative (= 0.74.0)
348 | - React-Fabric/components (= 0.74.0)
349 | - React-Fabric/core (= 0.74.0)
350 | - React-Fabric/imagemanager (= 0.74.0)
351 | - React-Fabric/leakchecker (= 0.74.0)
352 | - React-Fabric/mounting (= 0.74.0)
353 | - React-Fabric/scheduler (= 0.74.0)
354 | - React-Fabric/telemetry (= 0.74.0)
355 | - React-Fabric/templateprocessor (= 0.74.0)
356 | - React-Fabric/textlayoutmanager (= 0.74.0)
357 | - React-Fabric/uimanager (= 0.74.0)
358 | - React-graphics
359 | - React-jsi
360 | - React-jsiexecutor
361 | - React-logger
362 | - React-rendererdebug
363 | - React-runtimescheduler
364 | - React-utils
365 | - ReactCommon/turbomodule/core
366 | - React-Fabric/animations (0.74.0):
367 | - DoubleConversion
368 | - fmt (= 9.1.0)
369 | - glog
370 | - hermes-engine
371 | - RCT-Folly/Fabric (= 2024.01.01.00)
372 | - RCTRequired
373 | - RCTTypeSafety
374 | - React-Core
375 | - React-cxxreact
376 | - React-debug
377 | - React-graphics
378 | - React-jsi
379 | - React-jsiexecutor
380 | - React-logger
381 | - React-rendererdebug
382 | - React-runtimescheduler
383 | - React-utils
384 | - ReactCommon/turbomodule/core
385 | - React-Fabric/attributedstring (0.74.0):
386 | - DoubleConversion
387 | - fmt (= 9.1.0)
388 | - glog
389 | - hermes-engine
390 | - RCT-Folly/Fabric (= 2024.01.01.00)
391 | - RCTRequired
392 | - RCTTypeSafety
393 | - React-Core
394 | - React-cxxreact
395 | - React-debug
396 | - React-graphics
397 | - React-jsi
398 | - React-jsiexecutor
399 | - React-logger
400 | - React-rendererdebug
401 | - React-runtimescheduler
402 | - React-utils
403 | - ReactCommon/turbomodule/core
404 | - React-Fabric/componentregistry (0.74.0):
405 | - DoubleConversion
406 | - fmt (= 9.1.0)
407 | - glog
408 | - hermes-engine
409 | - RCT-Folly/Fabric (= 2024.01.01.00)
410 | - RCTRequired
411 | - RCTTypeSafety
412 | - React-Core
413 | - React-cxxreact
414 | - React-debug
415 | - React-graphics
416 | - React-jsi
417 | - React-jsiexecutor
418 | - React-logger
419 | - React-rendererdebug
420 | - React-runtimescheduler
421 | - React-utils
422 | - ReactCommon/turbomodule/core
423 | - React-Fabric/componentregistrynative (0.74.0):
424 | - DoubleConversion
425 | - fmt (= 9.1.0)
426 | - glog
427 | - hermes-engine
428 | - RCT-Folly/Fabric (= 2024.01.01.00)
429 | - RCTRequired
430 | - RCTTypeSafety
431 | - React-Core
432 | - React-cxxreact
433 | - React-debug
434 | - React-graphics
435 | - React-jsi
436 | - React-jsiexecutor
437 | - React-logger
438 | - React-rendererdebug
439 | - React-runtimescheduler
440 | - React-utils
441 | - ReactCommon/turbomodule/core
442 | - React-Fabric/components (0.74.0):
443 | - DoubleConversion
444 | - fmt (= 9.1.0)
445 | - glog
446 | - hermes-engine
447 | - RCT-Folly/Fabric (= 2024.01.01.00)
448 | - RCTRequired
449 | - RCTTypeSafety
450 | - React-Core
451 | - React-cxxreact
452 | - React-debug
453 | - React-Fabric/components/inputaccessory (= 0.74.0)
454 | - React-Fabric/components/legacyviewmanagerinterop (= 0.74.0)
455 | - React-Fabric/components/modal (= 0.74.0)
456 | - React-Fabric/components/rncore (= 0.74.0)
457 | - React-Fabric/components/root (= 0.74.0)
458 | - React-Fabric/components/safeareaview (= 0.74.0)
459 | - React-Fabric/components/scrollview (= 0.74.0)
460 | - React-Fabric/components/text (= 0.74.0)
461 | - React-Fabric/components/textinput (= 0.74.0)
462 | - React-Fabric/components/unimplementedview (= 0.74.0)
463 | - React-Fabric/components/view (= 0.74.0)
464 | - React-graphics
465 | - React-jsi
466 | - React-jsiexecutor
467 | - React-logger
468 | - React-rendererdebug
469 | - React-runtimescheduler
470 | - React-utils
471 | - ReactCommon/turbomodule/core
472 | - React-Fabric/components/inputaccessory (0.74.0):
473 | - DoubleConversion
474 | - fmt (= 9.1.0)
475 | - glog
476 | - hermes-engine
477 | - RCT-Folly/Fabric (= 2024.01.01.00)
478 | - RCTRequired
479 | - RCTTypeSafety
480 | - React-Core
481 | - React-cxxreact
482 | - React-debug
483 | - React-graphics
484 | - React-jsi
485 | - React-jsiexecutor
486 | - React-logger
487 | - React-rendererdebug
488 | - React-runtimescheduler
489 | - React-utils
490 | - ReactCommon/turbomodule/core
491 | - React-Fabric/components/legacyviewmanagerinterop (0.74.0):
492 | - DoubleConversion
493 | - fmt (= 9.1.0)
494 | - glog
495 | - hermes-engine
496 | - RCT-Folly/Fabric (= 2024.01.01.00)
497 | - RCTRequired
498 | - RCTTypeSafety
499 | - React-Core
500 | - React-cxxreact
501 | - React-debug
502 | - React-graphics
503 | - React-jsi
504 | - React-jsiexecutor
505 | - React-logger
506 | - React-rendererdebug
507 | - React-runtimescheduler
508 | - React-utils
509 | - ReactCommon/turbomodule/core
510 | - React-Fabric/components/modal (0.74.0):
511 | - DoubleConversion
512 | - fmt (= 9.1.0)
513 | - glog
514 | - hermes-engine
515 | - RCT-Folly/Fabric (= 2024.01.01.00)
516 | - RCTRequired
517 | - RCTTypeSafety
518 | - React-Core
519 | - React-cxxreact
520 | - React-debug
521 | - React-graphics
522 | - React-jsi
523 | - React-jsiexecutor
524 | - React-logger
525 | - React-rendererdebug
526 | - React-runtimescheduler
527 | - React-utils
528 | - ReactCommon/turbomodule/core
529 | - React-Fabric/components/rncore (0.74.0):
530 | - DoubleConversion
531 | - fmt (= 9.1.0)
532 | - glog
533 | - hermes-engine
534 | - RCT-Folly/Fabric (= 2024.01.01.00)
535 | - RCTRequired
536 | - RCTTypeSafety
537 | - React-Core
538 | - React-cxxreact
539 | - React-debug
540 | - React-graphics
541 | - React-jsi
542 | - React-jsiexecutor
543 | - React-logger
544 | - React-rendererdebug
545 | - React-runtimescheduler
546 | - React-utils
547 | - ReactCommon/turbomodule/core
548 | - React-Fabric/components/root (0.74.0):
549 | - DoubleConversion
550 | - fmt (= 9.1.0)
551 | - glog
552 | - hermes-engine
553 | - RCT-Folly/Fabric (= 2024.01.01.00)
554 | - RCTRequired
555 | - RCTTypeSafety
556 | - React-Core
557 | - React-cxxreact
558 | - React-debug
559 | - React-graphics
560 | - React-jsi
561 | - React-jsiexecutor
562 | - React-logger
563 | - React-rendererdebug
564 | - React-runtimescheduler
565 | - React-utils
566 | - ReactCommon/turbomodule/core
567 | - React-Fabric/components/safeareaview (0.74.0):
568 | - DoubleConversion
569 | - fmt (= 9.1.0)
570 | - glog
571 | - hermes-engine
572 | - RCT-Folly/Fabric (= 2024.01.01.00)
573 | - RCTRequired
574 | - RCTTypeSafety
575 | - React-Core
576 | - React-cxxreact
577 | - React-debug
578 | - React-graphics
579 | - React-jsi
580 | - React-jsiexecutor
581 | - React-logger
582 | - React-rendererdebug
583 | - React-runtimescheduler
584 | - React-utils
585 | - ReactCommon/turbomodule/core
586 | - React-Fabric/components/scrollview (0.74.0):
587 | - DoubleConversion
588 | - fmt (= 9.1.0)
589 | - glog
590 | - hermes-engine
591 | - RCT-Folly/Fabric (= 2024.01.01.00)
592 | - RCTRequired
593 | - RCTTypeSafety
594 | - React-Core
595 | - React-cxxreact
596 | - React-debug
597 | - React-graphics
598 | - React-jsi
599 | - React-jsiexecutor
600 | - React-logger
601 | - React-rendererdebug
602 | - React-runtimescheduler
603 | - React-utils
604 | - ReactCommon/turbomodule/core
605 | - React-Fabric/components/text (0.74.0):
606 | - DoubleConversion
607 | - fmt (= 9.1.0)
608 | - glog
609 | - hermes-engine
610 | - RCT-Folly/Fabric (= 2024.01.01.00)
611 | - RCTRequired
612 | - RCTTypeSafety
613 | - React-Core
614 | - React-cxxreact
615 | - React-debug
616 | - React-graphics
617 | - React-jsi
618 | - React-jsiexecutor
619 | - React-logger
620 | - React-rendererdebug
621 | - React-runtimescheduler
622 | - React-utils
623 | - ReactCommon/turbomodule/core
624 | - React-Fabric/components/textinput (0.74.0):
625 | - DoubleConversion
626 | - fmt (= 9.1.0)
627 | - glog
628 | - hermes-engine
629 | - RCT-Folly/Fabric (= 2024.01.01.00)
630 | - RCTRequired
631 | - RCTTypeSafety
632 | - React-Core
633 | - React-cxxreact
634 | - React-debug
635 | - React-graphics
636 | - React-jsi
637 | - React-jsiexecutor
638 | - React-logger
639 | - React-rendererdebug
640 | - React-runtimescheduler
641 | - React-utils
642 | - ReactCommon/turbomodule/core
643 | - React-Fabric/components/unimplementedview (0.74.0):
644 | - DoubleConversion
645 | - fmt (= 9.1.0)
646 | - glog
647 | - hermes-engine
648 | - RCT-Folly/Fabric (= 2024.01.01.00)
649 | - RCTRequired
650 | - RCTTypeSafety
651 | - React-Core
652 | - React-cxxreact
653 | - React-debug
654 | - React-graphics
655 | - React-jsi
656 | - React-jsiexecutor
657 | - React-logger
658 | - React-rendererdebug
659 | - React-runtimescheduler
660 | - React-utils
661 | - ReactCommon/turbomodule/core
662 | - React-Fabric/components/view (0.74.0):
663 | - DoubleConversion
664 | - fmt (= 9.1.0)
665 | - glog
666 | - hermes-engine
667 | - RCT-Folly/Fabric (= 2024.01.01.00)
668 | - RCTRequired
669 | - RCTTypeSafety
670 | - React-Core
671 | - React-cxxreact
672 | - React-debug
673 | - React-graphics
674 | - React-jsi
675 | - React-jsiexecutor
676 | - React-logger
677 | - React-rendererdebug
678 | - React-runtimescheduler
679 | - React-utils
680 | - ReactCommon/turbomodule/core
681 | - Yoga
682 | - React-Fabric/core (0.74.0):
683 | - DoubleConversion
684 | - fmt (= 9.1.0)
685 | - glog
686 | - hermes-engine
687 | - RCT-Folly/Fabric (= 2024.01.01.00)
688 | - RCTRequired
689 | - RCTTypeSafety
690 | - React-Core
691 | - React-cxxreact
692 | - React-debug
693 | - React-graphics
694 | - React-jsi
695 | - React-jsiexecutor
696 | - React-logger
697 | - React-rendererdebug
698 | - React-runtimescheduler
699 | - React-utils
700 | - ReactCommon/turbomodule/core
701 | - React-Fabric/imagemanager (0.74.0):
702 | - DoubleConversion
703 | - fmt (= 9.1.0)
704 | - glog
705 | - hermes-engine
706 | - RCT-Folly/Fabric (= 2024.01.01.00)
707 | - RCTRequired
708 | - RCTTypeSafety
709 | - React-Core
710 | - React-cxxreact
711 | - React-debug
712 | - React-graphics
713 | - React-jsi
714 | - React-jsiexecutor
715 | - React-logger
716 | - React-rendererdebug
717 | - React-runtimescheduler
718 | - React-utils
719 | - ReactCommon/turbomodule/core
720 | - React-Fabric/leakchecker (0.74.0):
721 | - DoubleConversion
722 | - fmt (= 9.1.0)
723 | - glog
724 | - hermes-engine
725 | - RCT-Folly/Fabric (= 2024.01.01.00)
726 | - RCTRequired
727 | - RCTTypeSafety
728 | - React-Core
729 | - React-cxxreact
730 | - React-debug
731 | - React-graphics
732 | - React-jsi
733 | - React-jsiexecutor
734 | - React-logger
735 | - React-rendererdebug
736 | - React-runtimescheduler
737 | - React-utils
738 | - ReactCommon/turbomodule/core
739 | - React-Fabric/mounting (0.74.0):
740 | - DoubleConversion
741 | - fmt (= 9.1.0)
742 | - glog
743 | - hermes-engine
744 | - RCT-Folly/Fabric (= 2024.01.01.00)
745 | - RCTRequired
746 | - RCTTypeSafety
747 | - React-Core
748 | - React-cxxreact
749 | - React-debug
750 | - React-graphics
751 | - React-jsi
752 | - React-jsiexecutor
753 | - React-logger
754 | - React-rendererdebug
755 | - React-runtimescheduler
756 | - React-utils
757 | - ReactCommon/turbomodule/core
758 | - React-Fabric/scheduler (0.74.0):
759 | - DoubleConversion
760 | - fmt (= 9.1.0)
761 | - glog
762 | - hermes-engine
763 | - RCT-Folly/Fabric (= 2024.01.01.00)
764 | - RCTRequired
765 | - RCTTypeSafety
766 | - React-Core
767 | - React-cxxreact
768 | - React-debug
769 | - React-graphics
770 | - React-jsi
771 | - React-jsiexecutor
772 | - React-logger
773 | - React-rendererdebug
774 | - React-runtimescheduler
775 | - React-utils
776 | - ReactCommon/turbomodule/core
777 | - React-Fabric/telemetry (0.74.0):
778 | - DoubleConversion
779 | - fmt (= 9.1.0)
780 | - glog
781 | - hermes-engine
782 | - RCT-Folly/Fabric (= 2024.01.01.00)
783 | - RCTRequired
784 | - RCTTypeSafety
785 | - React-Core
786 | - React-cxxreact
787 | - React-debug
788 | - React-graphics
789 | - React-jsi
790 | - React-jsiexecutor
791 | - React-logger
792 | - React-rendererdebug
793 | - React-runtimescheduler
794 | - React-utils
795 | - ReactCommon/turbomodule/core
796 | - React-Fabric/templateprocessor (0.74.0):
797 | - DoubleConversion
798 | - fmt (= 9.1.0)
799 | - glog
800 | - hermes-engine
801 | - RCT-Folly/Fabric (= 2024.01.01.00)
802 | - RCTRequired
803 | - RCTTypeSafety
804 | - React-Core
805 | - React-cxxreact
806 | - React-debug
807 | - React-graphics
808 | - React-jsi
809 | - React-jsiexecutor
810 | - React-logger
811 | - React-rendererdebug
812 | - React-runtimescheduler
813 | - React-utils
814 | - ReactCommon/turbomodule/core
815 | - React-Fabric/textlayoutmanager (0.74.0):
816 | - DoubleConversion
817 | - fmt (= 9.1.0)
818 | - glog
819 | - hermes-engine
820 | - RCT-Folly/Fabric (= 2024.01.01.00)
821 | - RCTRequired
822 | - RCTTypeSafety
823 | - React-Core
824 | - React-cxxreact
825 | - React-debug
826 | - React-Fabric/uimanager
827 | - React-graphics
828 | - React-jsi
829 | - React-jsiexecutor
830 | - React-logger
831 | - React-rendererdebug
832 | - React-runtimescheduler
833 | - React-utils
834 | - ReactCommon/turbomodule/core
835 | - React-Fabric/uimanager (0.74.0):
836 | - DoubleConversion
837 | - fmt (= 9.1.0)
838 | - glog
839 | - hermes-engine
840 | - RCT-Folly/Fabric (= 2024.01.01.00)
841 | - RCTRequired
842 | - RCTTypeSafety
843 | - React-Core
844 | - React-cxxreact
845 | - React-debug
846 | - React-graphics
847 | - React-jsi
848 | - React-jsiexecutor
849 | - React-logger
850 | - React-rendererdebug
851 | - React-runtimescheduler
852 | - React-utils
853 | - ReactCommon/turbomodule/core
854 | - React-FabricImage (0.74.0):
855 | - DoubleConversion
856 | - fmt (= 9.1.0)
857 | - glog
858 | - hermes-engine
859 | - RCT-Folly/Fabric (= 2024.01.01.00)
860 | - RCTRequired (= 0.74.0)
861 | - RCTTypeSafety (= 0.74.0)
862 | - React-Fabric
863 | - React-graphics
864 | - React-ImageManager
865 | - React-jsi
866 | - React-jsiexecutor (= 0.74.0)
867 | - React-logger
868 | - React-rendererdebug
869 | - React-utils
870 | - ReactCommon
871 | - Yoga
872 | - React-featureflags (0.74.0)
873 | - React-graphics (0.74.0):
874 | - DoubleConversion
875 | - fmt (= 9.1.0)
876 | - glog
877 | - RCT-Folly/Fabric (= 2024.01.01.00)
878 | - React-Core/Default (= 0.74.0)
879 | - React-utils
880 | - React-hermes (0.74.0):
881 | - DoubleConversion
882 | - fmt (= 9.1.0)
883 | - glog
884 | - hermes-engine
885 | - RCT-Folly (= 2024.01.01.00)
886 | - React-cxxreact (= 0.74.0)
887 | - React-jsi
888 | - React-jsiexecutor (= 0.74.0)
889 | - React-jsinspector
890 | - React-perflogger (= 0.74.0)
891 | - React-runtimeexecutor
892 | - React-ImageManager (0.74.0):
893 | - glog
894 | - RCT-Folly/Fabric
895 | - React-Core/Default
896 | - React-debug
897 | - React-Fabric
898 | - React-graphics
899 | - React-rendererdebug
900 | - React-utils
901 | - React-jserrorhandler (0.74.0):
902 | - RCT-Folly/Fabric (= 2024.01.01.00)
903 | - React-debug
904 | - React-jsi
905 | - React-Mapbuffer
906 | - React-jsi (0.74.0):
907 | - boost (= 1.83.0)
908 | - DoubleConversion
909 | - fmt (= 9.1.0)
910 | - glog
911 | - hermes-engine
912 | - RCT-Folly (= 2024.01.01.00)
913 | - React-jsiexecutor (0.74.0):
914 | - DoubleConversion
915 | - fmt (= 9.1.0)
916 | - glog
917 | - hermes-engine
918 | - RCT-Folly (= 2024.01.01.00)
919 | - React-cxxreact (= 0.74.0)
920 | - React-jsi (= 0.74.0)
921 | - React-jsinspector
922 | - React-perflogger (= 0.74.0)
923 | - React-jsinspector (0.74.0):
924 | - DoubleConversion
925 | - glog
926 | - hermes-engine
927 | - RCT-Folly (= 2024.01.01.00)
928 | - React-featureflags
929 | - React-jsi
930 | - React-runtimeexecutor (= 0.74.0)
931 | - React-jsitracing (0.74.0):
932 | - React-jsi
933 | - React-logger (0.74.0):
934 | - glog
935 | - React-Mapbuffer (0.74.0):
936 | - glog
937 | - React-debug
938 | - React-nativeconfig (0.74.0)
939 | - React-NativeModulesApple (0.74.0):
940 | - glog
941 | - hermes-engine
942 | - React-callinvoker
943 | - React-Core
944 | - React-cxxreact
945 | - React-jsi
946 | - React-jsinspector
947 | - React-runtimeexecutor
948 | - ReactCommon/turbomodule/bridging
949 | - ReactCommon/turbomodule/core
950 | - React-perflogger (0.74.0)
951 | - React-RCTActionSheet (0.74.0):
952 | - React-Core/RCTActionSheetHeaders (= 0.74.0)
953 | - React-RCTAnimation (0.74.0):
954 | - RCT-Folly (= 2024.01.01.00)
955 | - RCTTypeSafety
956 | - React-Codegen
957 | - React-Core/RCTAnimationHeaders
958 | - React-jsi
959 | - React-NativeModulesApple
960 | - ReactCommon
961 | - React-RCTAppDelegate (0.74.0):
962 | - RCT-Folly (= 2024.01.01.00)
963 | - RCTRequired
964 | - RCTTypeSafety
965 | - React-Codegen
966 | - React-Core
967 | - React-CoreModules
968 | - React-debug
969 | - React-Fabric
970 | - React-graphics
971 | - React-hermes
972 | - React-nativeconfig
973 | - React-NativeModulesApple
974 | - React-RCTFabric
975 | - React-RCTImage
976 | - React-RCTNetwork
977 | - React-rendererdebug
978 | - React-RuntimeApple
979 | - React-RuntimeCore
980 | - React-RuntimeHermes
981 | - React-runtimescheduler
982 | - React-utils
983 | - ReactCommon
984 | - React-RCTBlob (0.74.0):
985 | - DoubleConversion
986 | - fmt (= 9.1.0)
987 | - hermes-engine
988 | - RCT-Folly (= 2024.01.01.00)
989 | - React-Codegen
990 | - React-Core/RCTBlobHeaders
991 | - React-Core/RCTWebSocket
992 | - React-jsi
993 | - React-jsinspector
994 | - React-NativeModulesApple
995 | - React-RCTNetwork
996 | - ReactCommon
997 | - React-RCTFabric (0.74.0):
998 | - glog
999 | - hermes-engine
1000 | - RCT-Folly/Fabric (= 2024.01.01.00)
1001 | - React-Core
1002 | - React-debug
1003 | - React-Fabric
1004 | - React-FabricImage
1005 | - React-featureflags
1006 | - React-graphics
1007 | - React-ImageManager
1008 | - React-jsi
1009 | - React-jsinspector
1010 | - React-nativeconfig
1011 | - React-RCTImage
1012 | - React-RCTText
1013 | - React-rendererdebug
1014 | - React-runtimescheduler
1015 | - React-utils
1016 | - Yoga
1017 | - React-RCTImage (0.74.0):
1018 | - RCT-Folly (= 2024.01.01.00)
1019 | - RCTTypeSafety
1020 | - React-Codegen
1021 | - React-Core/RCTImageHeaders
1022 | - React-jsi
1023 | - React-NativeModulesApple
1024 | - React-RCTNetwork
1025 | - ReactCommon
1026 | - React-RCTLinking (0.74.0):
1027 | - React-Codegen
1028 | - React-Core/RCTLinkingHeaders (= 0.74.0)
1029 | - React-jsi (= 0.74.0)
1030 | - React-NativeModulesApple
1031 | - ReactCommon
1032 | - ReactCommon/turbomodule/core (= 0.74.0)
1033 | - React-RCTNetwork (0.74.0):
1034 | - RCT-Folly (= 2024.01.01.00)
1035 | - RCTTypeSafety
1036 | - React-Codegen
1037 | - React-Core/RCTNetworkHeaders
1038 | - React-jsi
1039 | - React-NativeModulesApple
1040 | - ReactCommon
1041 | - React-RCTSettings (0.74.0):
1042 | - RCT-Folly (= 2024.01.01.00)
1043 | - RCTTypeSafety
1044 | - React-Codegen
1045 | - React-Core/RCTSettingsHeaders
1046 | - React-jsi
1047 | - React-NativeModulesApple
1048 | - ReactCommon
1049 | - React-RCTText (0.74.0):
1050 | - React-Core/RCTTextHeaders (= 0.74.0)
1051 | - Yoga
1052 | - React-RCTVibration (0.74.0):
1053 | - RCT-Folly (= 2024.01.01.00)
1054 | - React-Codegen
1055 | - React-Core/RCTVibrationHeaders
1056 | - React-jsi
1057 | - React-NativeModulesApple
1058 | - ReactCommon
1059 | - React-rendererdebug (0.74.0):
1060 | - DoubleConversion
1061 | - fmt (= 9.1.0)
1062 | - RCT-Folly (= 2024.01.01.00)
1063 | - React-debug
1064 | - React-rncore (0.74.0)
1065 | - React-RuntimeApple (0.74.0):
1066 | - hermes-engine
1067 | - RCT-Folly/Fabric (= 2024.01.01.00)
1068 | - React-callinvoker
1069 | - React-Core/Default
1070 | - React-CoreModules
1071 | - React-cxxreact
1072 | - React-jserrorhandler
1073 | - React-jsi
1074 | - React-jsiexecutor
1075 | - React-jsinspector
1076 | - React-Mapbuffer
1077 | - React-NativeModulesApple
1078 | - React-RCTFabric
1079 | - React-RuntimeCore
1080 | - React-runtimeexecutor
1081 | - React-RuntimeHermes
1082 | - React-utils
1083 | - React-RuntimeCore (0.74.0):
1084 | - glog
1085 | - hermes-engine
1086 | - RCT-Folly/Fabric (= 2024.01.01.00)
1087 | - React-cxxreact
1088 | - React-featureflags
1089 | - React-jserrorhandler
1090 | - React-jsi
1091 | - React-jsiexecutor
1092 | - React-jsinspector
1093 | - React-runtimeexecutor
1094 | - React-runtimescheduler
1095 | - React-utils
1096 | - React-runtimeexecutor (0.74.0):
1097 | - React-jsi (= 0.74.0)
1098 | - React-RuntimeHermes (0.74.0):
1099 | - hermes-engine
1100 | - RCT-Folly/Fabric (= 2024.01.01.00)
1101 | - React-featureflags
1102 | - React-hermes
1103 | - React-jsi
1104 | - React-jsinspector
1105 | - React-jsitracing
1106 | - React-nativeconfig
1107 | - React-RuntimeCore
1108 | - React-utils
1109 | - React-runtimescheduler (0.74.0):
1110 | - glog
1111 | - hermes-engine
1112 | - RCT-Folly (= 2024.01.01.00)
1113 | - React-callinvoker
1114 | - React-cxxreact
1115 | - React-debug
1116 | - React-featureflags
1117 | - React-jsi
1118 | - React-rendererdebug
1119 | - React-runtimeexecutor
1120 | - React-utils
1121 | - React-utils (0.74.0):
1122 | - glog
1123 | - hermes-engine
1124 | - RCT-Folly (= 2024.01.01.00)
1125 | - React-debug
1126 | - React-jsi (= 0.74.0)
1127 | - ReactCommon (0.74.0):
1128 | - ReactCommon/turbomodule (= 0.74.0)
1129 | - ReactCommon/turbomodule (0.74.0):
1130 | - DoubleConversion
1131 | - fmt (= 9.1.0)
1132 | - glog
1133 | - hermes-engine
1134 | - RCT-Folly (= 2024.01.01.00)
1135 | - React-callinvoker (= 0.74.0)
1136 | - React-cxxreact (= 0.74.0)
1137 | - React-jsi (= 0.74.0)
1138 | - React-logger (= 0.74.0)
1139 | - React-perflogger (= 0.74.0)
1140 | - ReactCommon/turbomodule/bridging (= 0.74.0)
1141 | - ReactCommon/turbomodule/core (= 0.74.0)
1142 | - ReactCommon/turbomodule/bridging (0.74.0):
1143 | - DoubleConversion
1144 | - fmt (= 9.1.0)
1145 | - glog
1146 | - hermes-engine
1147 | - RCT-Folly (= 2024.01.01.00)
1148 | - React-callinvoker (= 0.74.0)
1149 | - React-cxxreact (= 0.74.0)
1150 | - React-jsi (= 0.74.0)
1151 | - React-logger (= 0.74.0)
1152 | - React-perflogger (= 0.74.0)
1153 | - ReactCommon/turbomodule/core (0.74.0):
1154 | - DoubleConversion
1155 | - fmt (= 9.1.0)
1156 | - glog
1157 | - hermes-engine
1158 | - RCT-Folly (= 2024.01.01.00)
1159 | - React-callinvoker (= 0.74.0)
1160 | - React-cxxreact (= 0.74.0)
1161 | - React-debug (= 0.74.0)
1162 | - React-jsi (= 0.74.0)
1163 | - React-logger (= 0.74.0)
1164 | - React-perflogger (= 0.74.0)
1165 | - React-utils (= 0.74.0)
1166 | - SocketRocket (0.7.0)
1167 | - Yoga (0.0.0)
1168 |
1169 | DEPENDENCIES:
1170 | - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
1171 | - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
1172 | - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
1173 | - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`)
1174 | - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
1175 | - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
1176 | - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
1177 | - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
1178 | - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`)
1179 | - RCTRequired (from `../node_modules/react-native/Libraries/Required`)
1180 | - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
1181 | - React (from `../node_modules/react-native/`)
1182 | - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
1183 | - React-Codegen (from `build/generated/ios`)
1184 | - React-Core (from `../node_modules/react-native/`)
1185 | - React-Core/RCTWebSocket (from `../node_modules/react-native/`)
1186 | - React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
1187 | - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
1188 | - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`)
1189 | - React-Fabric (from `../node_modules/react-native/ReactCommon`)
1190 | - React-FabricImage (from `../node_modules/react-native/ReactCommon`)
1191 | - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`)
1192 | - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`)
1193 | - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`)
1194 | - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`)
1195 | - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`)
1196 | - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
1197 | - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
1198 | - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`)
1199 | - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`)
1200 | - React-logger (from `../node_modules/react-native/ReactCommon/logger`)
1201 | - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`)
1202 | - React-nativeconfig (from `../node_modules/react-native/ReactCommon`)
1203 | - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
1204 | - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
1205 | - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
1206 | - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
1207 | - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`)
1208 | - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
1209 | - React-RCTFabric (from `../node_modules/react-native/React`)
1210 | - React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
1211 | - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
1212 | - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
1213 | - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
1214 | - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
1215 | - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
1216 | - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`)
1217 | - React-rncore (from `../node_modules/react-native/ReactCommon`)
1218 | - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`)
1219 | - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`)
1220 | - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
1221 | - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`)
1222 | - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`)
1223 | - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`)
1224 | - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
1225 | - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
1226 |
1227 | SPEC REPOS:
1228 | trunk:
1229 | - SocketRocket
1230 |
1231 | EXTERNAL SOURCES:
1232 | boost:
1233 | :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
1234 | DoubleConversion:
1235 | :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
1236 | FBLazyVector:
1237 | :path: "../node_modules/react-native/Libraries/FBLazyVector"
1238 | fmt:
1239 | :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec"
1240 | glog:
1241 | :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
1242 | hermes-engine:
1243 | :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
1244 | :tag: hermes-2024-02-20-RNv0.74.0-999cfd9979b5f57b1269119679ab8cdf60897de9
1245 | RCT-Folly:
1246 | :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
1247 | RCTDeprecation:
1248 | :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation"
1249 | RCTRequired:
1250 | :path: "../node_modules/react-native/Libraries/Required"
1251 | RCTTypeSafety:
1252 | :path: "../node_modules/react-native/Libraries/TypeSafety"
1253 | React:
1254 | :path: "../node_modules/react-native/"
1255 | React-callinvoker:
1256 | :path: "../node_modules/react-native/ReactCommon/callinvoker"
1257 | React-Codegen:
1258 | :path: build/generated/ios
1259 | React-Core:
1260 | :path: "../node_modules/react-native/"
1261 | React-CoreModules:
1262 | :path: "../node_modules/react-native/React/CoreModules"
1263 | React-cxxreact:
1264 | :path: "../node_modules/react-native/ReactCommon/cxxreact"
1265 | React-debug:
1266 | :path: "../node_modules/react-native/ReactCommon/react/debug"
1267 | React-Fabric:
1268 | :path: "../node_modules/react-native/ReactCommon"
1269 | React-FabricImage:
1270 | :path: "../node_modules/react-native/ReactCommon"
1271 | React-featureflags:
1272 | :path: "../node_modules/react-native/ReactCommon/react/featureflags"
1273 | React-graphics:
1274 | :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics"
1275 | React-hermes:
1276 | :path: "../node_modules/react-native/ReactCommon/hermes"
1277 | React-ImageManager:
1278 | :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios"
1279 | React-jserrorhandler:
1280 | :path: "../node_modules/react-native/ReactCommon/jserrorhandler"
1281 | React-jsi:
1282 | :path: "../node_modules/react-native/ReactCommon/jsi"
1283 | React-jsiexecutor:
1284 | :path: "../node_modules/react-native/ReactCommon/jsiexecutor"
1285 | React-jsinspector:
1286 | :path: "../node_modules/react-native/ReactCommon/jsinspector-modern"
1287 | React-jsitracing:
1288 | :path: "../node_modules/react-native/ReactCommon/hermes/executor/"
1289 | React-logger:
1290 | :path: "../node_modules/react-native/ReactCommon/logger"
1291 | React-Mapbuffer:
1292 | :path: "../node_modules/react-native/ReactCommon"
1293 | React-nativeconfig:
1294 | :path: "../node_modules/react-native/ReactCommon"
1295 | React-NativeModulesApple:
1296 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
1297 | React-perflogger:
1298 | :path: "../node_modules/react-native/ReactCommon/reactperflogger"
1299 | React-RCTActionSheet:
1300 | :path: "../node_modules/react-native/Libraries/ActionSheetIOS"
1301 | React-RCTAnimation:
1302 | :path: "../node_modules/react-native/Libraries/NativeAnimation"
1303 | React-RCTAppDelegate:
1304 | :path: "../node_modules/react-native/Libraries/AppDelegate"
1305 | React-RCTBlob:
1306 | :path: "../node_modules/react-native/Libraries/Blob"
1307 | React-RCTFabric:
1308 | :path: "../node_modules/react-native/React"
1309 | React-RCTImage:
1310 | :path: "../node_modules/react-native/Libraries/Image"
1311 | React-RCTLinking:
1312 | :path: "../node_modules/react-native/Libraries/LinkingIOS"
1313 | React-RCTNetwork:
1314 | :path: "../node_modules/react-native/Libraries/Network"
1315 | React-RCTSettings:
1316 | :path: "../node_modules/react-native/Libraries/Settings"
1317 | React-RCTText:
1318 | :path: "../node_modules/react-native/Libraries/Text"
1319 | React-RCTVibration:
1320 | :path: "../node_modules/react-native/Libraries/Vibration"
1321 | React-rendererdebug:
1322 | :path: "../node_modules/react-native/ReactCommon/react/renderer/debug"
1323 | React-rncore:
1324 | :path: "../node_modules/react-native/ReactCommon"
1325 | React-RuntimeApple:
1326 | :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios"
1327 | React-RuntimeCore:
1328 | :path: "../node_modules/react-native/ReactCommon/react/runtime"
1329 | React-runtimeexecutor:
1330 | :path: "../node_modules/react-native/ReactCommon/runtimeexecutor"
1331 | React-RuntimeHermes:
1332 | :path: "../node_modules/react-native/ReactCommon/react/runtime"
1333 | React-runtimescheduler:
1334 | :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler"
1335 | React-utils:
1336 | :path: "../node_modules/react-native/ReactCommon/react/utils"
1337 | ReactCommon:
1338 | :path: "../node_modules/react-native/ReactCommon"
1339 | Yoga:
1340 | :path: "../node_modules/react-native/ReactCommon/yoga"
1341 |
1342 | SPEC CHECKSUMS:
1343 | boost: d3f49c53809116a5d38da093a8aa78bf551aed09
1344 | DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5
1345 | FBLazyVector: 026c8f4ae67b06e088ae01baa2271ef8a26c0e8c
1346 | fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120
1347 | glog: c5d68082e772fa1c511173d6b30a9de2c05a69a2
1348 | hermes-engine: 6eae7edb2f563ee41d7c1f91f4f2e57c26d8a5c3
1349 | RCT-Folly: 045d6ecaa59d826c5736dfba0b2f4083ff8d79df
1350 | RCTDeprecation: 3ca8b6c36bfb302e1895b72cfe7db0de0c92cd47
1351 | RCTRequired: 9fc183af555fd0c89a366c34c1ae70b7e03b1dc5
1352 | RCTTypeSafety: db1dd5ad1081a5e160d30bb29ef922693d5ac4b1
1353 | React: 8650d592d90b99097504b8dcfebab883972aed71
1354 | React-callinvoker: 6bb8b399ab8cec59e52458c3a592aa1fca130b68
1355 | React-Codegen: 7014b8564cb45f51d01c950256456e20f679d42e
1356 | React-Core: 119ddf031a18926c2f59849bedcc83c1ba347419
1357 | React-CoreModules: 087c24b785afc79d29d23bffe7b02f79bb00cf76
1358 | React-cxxreact: 67a110c97ed6a53b393be3c90fc3f0b482770bd1
1359 | React-debug: 41175f3e30dfa8af6eab2631261e1eac26307f9f
1360 | React-Fabric: 235d71c7d7973fb5c3f099f2962d6b5362be6107
1361 | React-FabricImage: 44f4ee8c9331688ab5e907a40cbd49010b05e687
1362 | React-featureflags: 5e7e78c607661fe7f72bc38c6f03736e0876753a
1363 | React-graphics: 354adf8693bf849e696bf5096abc8cdc22c78ab4
1364 | React-hermes: 17c369e15cfb535d7bc880d432e0e291c81d10d9
1365 | React-ImageManager: 74e0898e24b12c45c40019b8558a1310d0b2a47c
1366 | React-jserrorhandler: 33cb327f5c6e1571b362f1a9c762ff839a5adb15
1367 | React-jsi: 1e0be0c7526a8fdd3b9e8c086bddcddbad263cd5
1368 | React-jsiexecutor: 04c1e790290e8cc3cd18e59c9cc5bdd18af325ef
1369 | React-jsinspector: 5daae7b6729d84bd61026899a6f664bdcff3ac28
1370 | React-jsitracing: 36a2bbc272300313653d980de5ab700ec86c534a
1371 | React-logger: 03f2f7b955cfe24593a2b8c9705c23e142d1ad24
1372 | React-Mapbuffer: 5e05d78fe6505f4a054b86f415733d4ad02dd314
1373 | React-nativeconfig: 951ec32f632e81cbd7d40aebb3211313251c092e
1374 | React-NativeModulesApple: 0b3a42ca90069119ef79d8b2327d01441d71abd4
1375 | React-perflogger: 271f1111779fef70f9502d1d38da5132e5585230
1376 | React-RCTActionSheet: 5d6fb9adb11ab1bfbce6695a2b785767e4658c53
1377 | React-RCTAnimation: 86ace32c56e69b3822e7e5184ea83a79d47fc7b9
1378 | React-RCTAppDelegate: 74b45c4e3c1c23db88385d74cf4f5a8500694527
1379 | React-RCTBlob: fb91c62a549f004e251235c65c665c6890a923a3
1380 | React-RCTFabric: af6b9bc4aa9dfa0af1a1bcf5d8e5c5b1f17ae99c
1381 | React-RCTImage: b482f07cfdbe8e413edbf9d85953cecdb569472c
1382 | React-RCTLinking: fbd73a66cab34df69b2389c17f200e4722890fd9
1383 | React-RCTNetwork: fbdd716fbd6e53feb6d8e00eeb85e8184ad42ac8
1384 | React-RCTSettings: 11c3051b965593988298a3f5fb39e23bf6f7df9f
1385 | React-RCTText: f240b4d39c36c295204d29e7634a2fac450b6d29
1386 | React-RCTVibration: 1750f80b39e1ad9b4f509f4fdf19a803f7ab0d38
1387 | React-rendererdebug: a89ffa25c7670de8f22e0b322dfdd8333bc0d126
1388 | React-rncore: a3ab9e7271a5c692918e2a483beb900ff0a51169
1389 | React-RuntimeApple: cdc563e811785f675925032d3bc4092a2aaa0b82
1390 | React-RuntimeCore: f4af3a86a6a69d31721067f17196a582da25d2fc
1391 | React-runtimeexecutor: 4471221991b6e518466a0422fbeb2158c07c36e1
1392 | React-RuntimeHermes: 3d9f53ac3330bb71d42f2acb9a3061a0b992be5c
1393 | React-runtimescheduler: 7fe561d179b97cecd0c2bec0bbd08f9fd8581c26
1394 | React-utils: f013537c3371270d2095bff1d594d00d4bc9261b
1395 | ReactCommon: 2cde697fd80bd31da1d6448d25a5803088585219
1396 | SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
1397 | Yoga: 56f906bf6c11c931588191dde1229fd3e4e3d557
1398 |
1399 | PODFILE CHECKSUM: 9b45b06599f0437001279b09e0e2765bbdb7287d
1400 |
1401 | COCOAPODS: 1.14.3
1402 |
--------------------------------------------------------------------------------
/ios/PrivacyInfo.xcprivacy:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSPrivacyAccessedAPITypes
6 |
7 |
8 | NSPrivacyAccessedAPIType
9 | NSPrivacyAccessedAPICategoryFileTimestamp
10 | NSPrivacyAccessedAPITypeReasons
11 |
12 | C617.1
13 |
14 |
15 |
16 | NSPrivacyAccessedAPIType
17 | NSPrivacyAccessedAPICategoryUserDefaults
18 | NSPrivacyAccessedAPITypeReasons
19 |
20 | CA92.1
21 |
22 |
23 |
24 | NSPrivacyAccessedAPIType
25 | NSPrivacyAccessedAPICategorySystemBootTime
26 | NSPrivacyAccessedAPITypeReasons
27 |
28 | 35F9.1
29 |
30 |
31 |
32 | NSPrivacyCollectedDataTypes
33 |
34 | NSPrivacyTracking
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/ios/ReactNative-Binary.podspec:
--------------------------------------------------------------------------------
1 | version = '###VERSION###'
2 |
3 | source = '###SOURCE###'
4 |
5 | Pod::Spec.new do |s|
6 | s.name = 'ReactNative-Binary'
7 | s.version = version.to_s
8 | s.summary = 'React Native xcframeworks'
9 | s.description = <<-DESC
10 | React Native prebuilt xcframeworks for iOS
11 | DESC
12 | s.homepage = 'https://github.com/imWildCat/ReactNative-Binary'
13 | s.author = 'imWildCat'
14 | s.license = { type: 'MIT', file: 'LICENSE' }
15 | s.platforms = { ios: '12.4' }
16 | s.source = {
17 | http: source
18 | }
19 | s.framework = 'JavaScriptCore', 'AudioToolbox'
20 | s.libraries = 'stdc++'
21 |
22 | s.subspec 'main' do |main|
23 | main.vendored_frameworks = '**/*.xcframework'
24 | main.resources = '**/*.bundle'
25 | end
26 |
27 | s.default_subspecs = 'main'
28 | end
29 |
--------------------------------------------------------------------------------
/ios/project.yml:
--------------------------------------------------------------------------------
1 | name: DummyApp
2 | # include:
3 | # - base_spec.yml
4 | options:
5 | bundleIdPrefix: com.my.dummy.app
6 | postGenCommand: |
7 | bundle exec pod install --repo-update
8 | targets:
9 | DummyApp:
10 | type: application
11 | platform: iOS
12 | deploymentTarget: "13.0"
13 | sources: [DummyApp]
14 | configFiles:
15 | Debug: xcconfig/DummyApp.debug.xcconfig
16 | Release: xcconfig/DummyApp.release.xcconfig
17 | # settings:
18 | # configs:
19 | # debug:
20 | # CUSTOM_BUILD_SETTING: my_debug_value
21 | # release:
22 | # CUSTOM_BUILD_SETTING: my_release_value
--------------------------------------------------------------------------------
/ios/scripts/build_single_platform.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | CONFIGURATION=$1
4 |
5 | PLATFORM=$2
6 |
7 | DRY_RUN=${DRY_RUN:-false}
8 |
9 | if [ "$CONFIGURATION" != "Debug" ] && [ "$CONFIGURATION" != "Release" ]; then
10 | echo "Usage: $0 "
11 | exit 1
12 | fi
13 |
14 | if [ "$PLATFORM" != "iphoneos" ] && [ "$PLATFORM" != "iphonesimulator" ] && [ "$PLATFORM" != "maccatalyst" ]; then
15 | echo "Usage: $0 "
16 | exit 1
17 | fi
18 |
19 | OUT="$PLATFORM-binary-$CONFIGURATION.tar.gz"
20 |
21 | set -euo pipefail
22 |
23 | function archive() {
24 | if [ "$PLATFORM" == "maccatalyst" ]; then
25 | SUPPORTS_MACCATALYST="YES"
26 | SDK="macosx"
27 | DESTINATION="-destination \"generic/platform=OS X\""
28 | else
29 | SUPPORTS_MACCATALYST="NO"
30 | SDK=$PLATFORM
31 | DESTINATION=""
32 | fi
33 |
34 | architectures="\"arm64 x86_64\""
35 | if [ "$PLATFORM" == "iphoneos" ]; then
36 | architectures="arm64"
37 | fi
38 |
39 | XCODEBUILD_COMMAND="xcodebuild archive \
40 | -workspace "$PROJECT.xcworkspace" \
41 | -scheme $PROJECT \
42 | -configuration $CONFIGURATION \
43 | -archivePath $SRCROOT/$PROJECT-$PLATFORM.xcarchive \
44 | -sdk $SDK \
45 | $DESTINATION \
46 | ENABLE_BITCODE=NO \
47 | SKIP_INSTALL=NO \
48 | ARCHS=$architectures \
49 | CODE_SIGNING_ALLOWED=NO \
50 | CODE_SIGN_IDENTITY="" \
51 | CODE_SIGNING_REQUIRED=NO \
52 | SUPPORTS_MACCATALYST=$SUPPORTS_MACCATALYST | xcbeautify"
53 | # put the command above into a string variable
54 |
55 | echo "Running: $XCODEBUILD_COMMAND"
56 |
57 | if [ "$DRY_RUN" == "true" ]; then
58 | echo "Dry run, not running command"
59 | exit 0
60 | fi
61 | eval $XCODEBUILD_COMMAND
62 | }
63 |
64 | archive
65 |
66 | # Get absolute path of $OUT
67 | OUT=$(pwd)/$OUT
68 |
69 | pushd "$SRCROOT/$PROJECT-$PLATFORM.xcarchive/Products/Library/Frameworks" || exit 1
70 |
71 | tar -cvf "$OUT" ./*
72 |
73 | popd || exit 1
74 |
--------------------------------------------------------------------------------
/ios/scripts/build_xcframework.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | CONFIGURATION=$1
4 |
5 | if [ "$CONFIGURATION" != "Debug" ] && [ "$CONFIGURATION" != "Release" ]; then
6 | echo "Usage: $0 "
7 | exit 1
8 | fi
9 |
10 | set -euo pipefail
11 |
12 | excluded_frameworks=("Pods_DummyApp" "DummyApp")
13 |
14 | function unzip_archives() {
15 | PLATFORM="$1"
16 | CONFIGURATION="$2"
17 |
18 | mkdir -p ./build/"$PLATFORM"_"$CONFIGURATION"
19 |
20 | tar zxvf "./$PLATFORM-binary-$CONFIGURATION.tar.gz" --directory ./build/"$PLATFORM"_"$CONFIGURATION"
21 | }
22 |
23 |
24 | function create_xcframework() {
25 | rm -rf $SRCROOT/Frameworks
26 | mkdir $SRCROOT/Frameworks
27 |
28 | # Find frameworks
29 | for framework in $(find ./build/iphoneos_$CONFIGURATION/ -type d -name "*.framework"); do
30 | basename=$(basename $framework)
31 | framework_name=$(basename $framework .framework)
32 |
33 | echo "Processing $framework_name [$CONFIGURATION]"
34 |
35 | if [[ " ${excluded_frameworks[*]} " =~ " ${framework_name} " ]]; then
36 | continue
37 | fi
38 |
39 | xcodebuild -create-xcframework \
40 | -framework ./build/iphonesimulator_"$CONFIGURATION"/$basename \
41 | -framework ./build/iphoneos_"$CONFIGURATION"/$basename \
42 | -framework ./build/maccatalyst_"$CONFIGURATION"/$basename \
43 | -output $SRCROOT/Frameworks/$framework_name.xcframework
44 |
45 | echo "Created xcframework: $framework_name.xcframework"
46 | done
47 |
48 | cp ../README.md Frameworks/
49 | cp ../LICENSE Frameworks/
50 | tar -cvzf ReactNative-binary-"$CONFIGURATION".tar.gz Frameworks
51 | }
52 |
53 | function clean() {
54 | rm -rf $SRCROOT/Frameworks
55 | }
56 |
57 |
58 | cd $SRCROOT
59 |
60 | unzip_archives iphoneos $CONFIGURATION
61 | unzip_archives iphonesimulator $CONFIGURATION
62 | unzip_archives maccatalyst $CONFIGURATION
63 |
64 | create_xcframework
65 | clean
66 |
--------------------------------------------------------------------------------
/ios/scripts/release.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # This function assumes that `Release` is run before `Debug`
4 | function prepare_release() {
5 | version_tag="v$1"
6 | configuration="$2"
7 | repo_name="imWildCat/ReactNativeAppleBinaryFramework"
8 | archive_name="ReactNative-Binary-$version_tag-$configuration.tar.gz"
9 |
10 | if [ "$configuration" == "Release" ]; then
11 | cp ReactNative-Binary.podspec ReactNative-Binary-Debug.podspec
12 | gh release create "$version_tag" --generate-notes -R $repo_name
13 | fi
14 |
15 | mv "ReactNative-binary-$configuration".tar.gz "$archive_name"
16 |
17 | echo "Files:"
18 | ls -lh
19 |
20 | gh release upload "$version_tag" "$archive_name" -R $repo_name && rm -rf "$archive_name"
21 | echo "Uploaded $archive_name"
22 | ls -lh
23 |
24 | if [ "$configuration" == "Debug" ]; then
25 | spec_file_name="ReactNative-Binary-Debug.podspec"
26 |
27 | sed -i '' "s/'ReactNative-Binary'/'ReactNative-Binary-Debug'/g" "$spec_file_name" || exit 1
28 | else
29 | spec_file_name="ReactNative-Binary.podspec"
30 | fi
31 |
32 | sed -i '' "s/version = '[^']*'/version = '$1'/g" "$spec_file_name" || exit 1
33 | download_url="https://github.com/$repo_name/releases/download/$version_tag/$archive_name"
34 | escaped_download_url=$(printf '%s\n' $download_url | sed -e 's/[\/&]/\\&/g')
35 | sed -i '' "s/source = '[^']*'/source = '$escaped_download_url'/g" "$spec_file_name" || exit 1
36 | }
37 |
38 | SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
39 |
40 | echo "SCRIPT_DIR: $SCRIPT_DIR"
41 |
42 | # shellcheck source=./shared/get_release_branch_version.sh
43 | source "$SCRIPT_DIR/shared/get_release_branch_version.sh"
44 |
45 | echo "release_branch_version: $release_branch_version"
46 |
47 | if [ $(gh release view "$version_tag") ]; then
48 | gh release delete "$version_tag"
49 | echo "Deleted $version_tag because it is Release mode"
50 | fi
51 |
52 | prepare_release "$release_branch_version" Release
53 | prepare_release "$release_branch_version" Debug
54 |
55 | echo "git status:"
56 | git status
57 |
--------------------------------------------------------------------------------
/ios/scripts/release_commit_podspec.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
4 |
5 | echo "SCRIPT_DIR: $SCRIPT_DIR"
6 |
7 | # shellcheck source=./shared/get_release_branch_version.sh
8 | source "$SCRIPT_DIR/shared/get_release_branch_version.sh"
9 |
10 | git config user.email "bot@wildcat.io"
11 | git config user.name "WildCat Bot"
12 |
13 | git add ReactNative-Binary.podspec || exit 1
14 | git add ReactNative-Binary-Debug.podspec || exit 1
15 | git commit -m "Update podspecs version to $release_branch_version [skip ci]" || exit 1
16 | git push || exit 1
17 |
--------------------------------------------------------------------------------
/ios/scripts/set_up_xcode_env.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | echo "NODE_BINARY=$(which node)" >> .xcode.env.local
4 |
--------------------------------------------------------------------------------
/ios/scripts/shared/get_release_branch_version.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | react_native_version=$(cat frontend/package.json | grep react-native | head -1 | awk -F: '{ print $2 }' | sed 's/[",]//g' | tr -d '[[:space:]]' | sed 's/[^0-9.]//g')
4 |
5 | release_branch_version=$(echo "$BRANCH_NAME" | sed 's/releases\///g')
6 |
7 | if [[ "$release_branch_version" != "$react_native_version"* ]]; then
8 | echo "release branch version ($release_branch_version) must begins with react_native_version ($release_branch_version)" >&2
9 | exit 1
10 | else
11 | echo "release branch version ($release_branch_version) begins with react_native_version ($react_native_version)"
12 | fi
13 |
--------------------------------------------------------------------------------
/ios/scripts/validate_archive_size.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | INPUT_FILE_PATH=$1
4 |
5 | if [ -f "$INPUT_FILE_PATH" ]; then
6 | FILE_SIZE=$(stat -f%z "$INPUT_FILE_PATH")
7 | if [ "$FILE_SIZE" -lt 10485760 ]; then
8 | echo "File size of $INPUT_FILE_PATH is less than 10M ($FILE_SIZE)"
9 | exit 1
10 | fi
11 | fi
12 |
13 | echo "File size of $INPUT_FILE_PATH is larger than 10M ($FILE_SIZE), which looks good"
14 |
--------------------------------------------------------------------------------
/ios/xcconfig/DummyApp.debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "DummyApp.xcconfig"
2 | #include "Pods/Target Support Files/Pods-DummyApp/Pods-DummyApp.debug.xcconfig"
--------------------------------------------------------------------------------
/ios/xcconfig/DummyApp.release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "DummyApp.xcconfig"
2 | #include "Pods/Target Support Files/Pods-DummyApp/Pods-DummyApp.release.xcconfig"
--------------------------------------------------------------------------------
/ios/xcconfig/DummyApp.xcconfig:
--------------------------------------------------------------------------------
1 | IPHONEOS_DEPLOYMENT_TARGET = 12.4
2 | INFOPLIST_FILE = $(SRCROOT)/DummyApp/Info.plist
3 | WATCHOS_DEPLOYMENT_TARGET = 7.0
4 | MACOSX_DEPLOYMENT_TARGET = 11.0
5 | SUPPORTS_MACCATALYST = YES
6 | TARGETED_DEVICE_FAMILY = 1,2
7 | PRODUCT_NAME = $(TARGET_NAME)
8 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon
9 | SUPPORTS_UIKITFORMAC = NO
10 | DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = NO
11 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = $(inherited)
12 | CURRENT_PROJECT_VERSION = 1.0
13 | MARKETING_VERSION = 1.0
14 | OTHER_CFLAGS = $(inherited)
15 | FRAMEWORK_SEARCH_PATHS = $(inherited)
16 | CODE_SIGN_ENTITLEMENTS = DummyApp/DummyApp.entitlements
17 | PRODUCT_BUNDLE_IDENTIFIER = com.dummy.app
18 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = $(inherited)
19 | OTHER_LDFLAGS = $(inherited) -ObjC
20 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"
21 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "frontend",
3 | "version": "1.0.0",
4 | "dependencies": {
5 | "react": "18.2.0",
6 | "react-native": "0.74.0"
7 | },
8 | "scripts": {
9 | "ios": "react-native run-ios"
10 | },
11 | "devDependencies": {
12 | "@react-native-community/cli": "^12.3.4",
13 | "@react-native/babel-preset": "0.73.20",
14 | "@react-native/eslint-config": "0.73.2",
15 | "@react-native/metro-config": "0.73.4",
16 | "@react-native/typescript-config": "0.73.1"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------