TM iOS: Install SampleTurboModule in RNTester (pods)
Summary: This sets up RCTSampleTurboModule (and other variants) in RNTester when built with cocoapods. There's no call site yet though. And RNTester.xcodeproj doesn't support it. Reviewed By: cpojer Differential Revision: D14932535 fbshipit-source-id: db8eafd6777cbec8f3592dafdccbdd7cf44e38bc
This commit is contained in:
Родитель
a2aba45067
Коммит
4da6e4a042
|
@ -38,6 +38,7 @@ target 'RNTester' do
|
||||||
pod 'yoga', :path => '../ReactCommon/yoga'
|
pod 'yoga', :path => '../ReactCommon/yoga'
|
||||||
|
|
||||||
pod 'React-turbomodule-core', :path => '../ReactCommon/turbomodule/core'
|
pod 'React-turbomodule-core', :path => '../ReactCommon/turbomodule/core'
|
||||||
|
pod 'React-turbomodule-samples', :path => '../ReactCommon/turbomodule/samples'
|
||||||
|
|
||||||
# Third party deps podspec link
|
# Third party deps podspec link
|
||||||
pod 'DoubleConversion', :podspec => '../third-party-podspecs/DoubleConversion.podspec'
|
pod 'DoubleConversion', :podspec => '../third-party-podspecs/DoubleConversion.podspec'
|
||||||
|
|
|
@ -99,6 +99,19 @@ PODS:
|
||||||
- React-Core (= 1000.0.0)
|
- React-Core (= 1000.0.0)
|
||||||
- React-cxxreact (= 1000.0.0)
|
- React-cxxreact (= 1000.0.0)
|
||||||
- React-jsi (= 1000.0.0)
|
- React-jsi (= 1000.0.0)
|
||||||
|
- React-turbomodule-samples (1000.0.0):
|
||||||
|
- Folly (= 2018.10.22.00)
|
||||||
|
- React-Core (= 1000.0.0)
|
||||||
|
- React-cxxreact (= 1000.0.0)
|
||||||
|
- React-jsi (= 1000.0.0)
|
||||||
|
- React-turbomodule-core (= 1000.0.0)
|
||||||
|
- React-turbomodule-samples/samples-ios (= 1000.0.0)
|
||||||
|
- React-turbomodule-samples/samples-ios (1000.0.0):
|
||||||
|
- Folly (= 2018.10.22.00)
|
||||||
|
- React-Core (= 1000.0.0)
|
||||||
|
- React-cxxreact (= 1000.0.0)
|
||||||
|
- React-jsi (= 1000.0.0)
|
||||||
|
- React-turbomodule-core (= 1000.0.0)
|
||||||
- yoga (1000.0.0.React)
|
- yoga (1000.0.0.React)
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
|
@ -127,6 +140,7 @@ DEPENDENCIES:
|
||||||
- React-RCTVibration (from `../Libraries/Vibration`)
|
- React-RCTVibration (from `../Libraries/Vibration`)
|
||||||
- React-RCTWebSocket (from `../Libraries/WebSocket`)
|
- React-RCTWebSocket (from `../Libraries/WebSocket`)
|
||||||
- React-turbomodule-core (from `../ReactCommon/turbomodule/core`)
|
- React-turbomodule-core (from `../ReactCommon/turbomodule/core`)
|
||||||
|
- React-turbomodule-samples (from `../ReactCommon/turbomodule/samples`)
|
||||||
- yoga (from `../ReactCommon/yoga`)
|
- yoga (from `../ReactCommon/yoga`)
|
||||||
|
|
||||||
SPEC REPOS:
|
SPEC REPOS:
|
||||||
|
@ -184,6 +198,8 @@ EXTERNAL SOURCES:
|
||||||
:path: "../Libraries/WebSocket"
|
:path: "../Libraries/WebSocket"
|
||||||
React-turbomodule-core:
|
React-turbomodule-core:
|
||||||
:path: "../ReactCommon/turbomodule/core"
|
:path: "../ReactCommon/turbomodule/core"
|
||||||
|
React-turbomodule-samples:
|
||||||
|
:path: "../ReactCommon/turbomodule/samples"
|
||||||
yoga:
|
yoga:
|
||||||
:path: "../ReactCommon/yoga"
|
:path: "../ReactCommon/yoga"
|
||||||
|
|
||||||
|
@ -213,9 +229,10 @@ SPEC CHECKSUMS:
|
||||||
React-RCTText: 469ec754592c92fc639825e558908c2f0e783e2c
|
React-RCTText: 469ec754592c92fc639825e558908c2f0e783e2c
|
||||||
React-RCTVibration: ade3c169b54f3bc16c9a9918e17e48ef66aee6ba
|
React-RCTVibration: ade3c169b54f3bc16c9a9918e17e48ef66aee6ba
|
||||||
React-RCTWebSocket: 90b78ed51d53d17db417d3956decba3f7ace58e4
|
React-RCTWebSocket: 90b78ed51d53d17db417d3956decba3f7ace58e4
|
||||||
React-turbomodule-core: d4c0c7d6a7d97e25ac6d0316c2a7950d199b398e
|
React-turbomodule-core: 67a461c91319c0bf2228dc46c7dafbbb921eebee
|
||||||
|
React-turbomodule-samples: b28927d482d6fcfc3cbe2fd25f304799d2ff9bb7
|
||||||
yoga: 542cb34fe3bca476487e08eb516dd640ea996a65
|
yoga: 542cb34fe3bca476487e08eb516dd640ea996a65
|
||||||
|
|
||||||
PODFILE CHECKSUM: e587e581dcf974f8a9b7b1ff624f5114082b8045
|
PODFILE CHECKSUM: f7d0a09c9ea25315395b7248591d4a372b87cf3f
|
||||||
|
|
||||||
COCOAPODS: 1.6.1
|
COCOAPODS: 1.6.1
|
||||||
|
|
|
@ -28,7 +28,9 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef RN_TURBO_MODULE_ENABLED
|
#ifdef RN_TURBO_MODULE_ENABLED
|
||||||
#import <React/RCTTurboModuleManager.h>
|
#import <jsireact/RCTTurboModuleManager.h>
|
||||||
|
|
||||||
|
#import "RNTesterTurboModuleProvider.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef RN_TURBO_MODULE_ENABLED
|
#ifdef RN_TURBO_MODULE_ENABLED
|
||||||
|
@ -150,22 +152,23 @@
|
||||||
|
|
||||||
#ifdef RN_TURBO_MODULE_ENABLED
|
#ifdef RN_TURBO_MODULE_ENABLED
|
||||||
|
|
||||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name
|
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name
|
||||||
jsInvoker:(std::shared_ptr<facebook::react::JSCallInvoker>)jsInvoker
|
jsInvoker:(std::shared_ptr<facebook::react::JSCallInvoker>)jsInvoker
|
||||||
{
|
{
|
||||||
return nullptr;
|
return RNTesterTurboModuleProvider(name, jsInvoker);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name
|
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name
|
||||||
instance:(id<RCTTurboModule>)instance
|
instance:(id<RCTTurboModule>)instance
|
||||||
jsInvoker:(std::shared_ptr<facebook::react::JSCallInvoker>)jsInvoker
|
jsInvoker:(std::shared_ptr<facebook::react::JSCallInvoker>)jsInvoker
|
||||||
{
|
{
|
||||||
return nullptr;
|
return RNTesterTurboModuleProvider(name, instance, jsInvoker);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id<RCTTurboModule>)getModuleInstanceFromClass:(Class)moduleClass
|
- (id<RCTTurboModule>)getModuleInstanceFromClass:(Class)moduleClass
|
||||||
{
|
{
|
||||||
return nil;
|
// No custom initializer here.
|
||||||
|
return [moduleClass new];
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
/**
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef RN_TURBO_MODULE_ENABLED
|
||||||
|
|
||||||
|
#import <jsireact/RCTTurboModule.h>
|
||||||
|
|
||||||
|
namespace facebook {
|
||||||
|
namespace react {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provide a pure C++ instance of a TurboModule, specific to this app.
|
||||||
|
*/
|
||||||
|
std::shared_ptr<TurboModule> RNTesterTurboModuleProvider(const std::string &name, std::shared_ptr<JSCallInvoker> jsInvoker);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provide an instance of a ObjCTurboModule, given the ObjC instance, specific to this app.
|
||||||
|
*/
|
||||||
|
std::shared_ptr<TurboModule> RNTesterTurboModuleProvider(const std::string &name,
|
||||||
|
id<RCTTurboModule> instance,
|
||||||
|
std::shared_ptr<JSCallInvoker> jsInvoker);
|
||||||
|
|
||||||
|
} // namespace react
|
||||||
|
} // namespace facebook
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,42 @@
|
||||||
|
/**
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef RN_TURBO_MODULE_ENABLED
|
||||||
|
|
||||||
|
#import "RNTesterTurboModuleProvider.h"
|
||||||
|
|
||||||
|
#import <jsireact/RCTSampleTurboCxxModule.h>
|
||||||
|
#import <jsireact/RCTSampleTurboModule.h>
|
||||||
|
|
||||||
|
// NOTE: This entire file should be codegen'ed.
|
||||||
|
|
||||||
|
namespace facebook {
|
||||||
|
namespace react {
|
||||||
|
|
||||||
|
std::shared_ptr<TurboModule> RNTesterTurboModuleProvider(const std::string &name, std::shared_ptr<JSCallInvoker> jsInvoker) {
|
||||||
|
if (name == "SampleTurboCxxModule") {
|
||||||
|
return std::make_shared<SampleTurboCxxModule>(jsInvoker);
|
||||||
|
}
|
||||||
|
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::shared_ptr<TurboModule> RNTesterTurboModuleProvider(const std::string &name,
|
||||||
|
id<RCTTurboModule> instance,
|
||||||
|
std::shared_ptr<JSCallInvoker> jsInvoker) {
|
||||||
|
if (name == "SampleTurboModule") {
|
||||||
|
return std::make_shared<NativeSampleTurboModuleSpecJSI>(instance, jsInvoker);
|
||||||
|
}
|
||||||
|
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace react
|
||||||
|
} // namespace facebook
|
||||||
|
|
||||||
|
#endif
|
|
@ -17,6 +17,7 @@
|
||||||
3D2AFAF51D646CF80089D1A3 /* legacy_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */; };
|
3D2AFAF51D646CF80089D1A3 /* legacy_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */; };
|
||||||
3D56F9F11D6F6E9B00F53A06 /* RNTesterBundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F83E1D6F6AE000E69E0E /* RNTesterBundle.bundle */; };
|
3D56F9F11D6F6E9B00F53A06 /* RNTesterBundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F83E1D6F6AE000E69E0E /* RNTesterBundle.bundle */; };
|
||||||
5C60EB1C226440DB0018C04F /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C60EB1B226440DB0018C04F /* AppDelegate.mm */; };
|
5C60EB1C226440DB0018C04F /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C60EB1B226440DB0018C04F /* AppDelegate.mm */; };
|
||||||
|
5CB07C9B226467E60039471C /* RNTesterTurboModuleProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CB07C99226467E60039471C /* RNTesterTurboModuleProvider.mm */; };
|
||||||
68D134442238528800D0B233 /* Swizzle_RCTFabricSurface.m in Sources */ = {isa = PBXBuildFile; fileRef = 68D134432238528800D0B233 /* Swizzle_RCTFabricSurface.m */; };
|
68D134442238528800D0B233 /* Swizzle_RCTFabricSurface.m in Sources */ = {isa = PBXBuildFile; fileRef = 68D134432238528800D0B233 /* Swizzle_RCTFabricSurface.m */; };
|
||||||
68E1E4BC2230DF2F00570185 /* ComponentRegistry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68E1E4BB2230DF2F00570185 /* ComponentRegistry.cpp */; };
|
68E1E4BC2230DF2F00570185 /* ComponentRegistry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68E1E4BB2230DF2F00570185 /* ComponentRegistry.cpp */; };
|
||||||
B9C5BB1881F54450DBCA70F5 /* libPods-RNTester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8508AD3C1DC3509924E63948 /* libPods-RNTester.a */; };
|
B9C5BB1881F54450DBCA70F5 /* libPods-RNTester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8508AD3C1DC3509924E63948 /* libPods-RNTester.a */; };
|
||||||
|
@ -50,6 +51,8 @@
|
||||||
3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "legacy_image@2x.png"; path = "RNTester/legacy_image@2x.png"; sourceTree = "<group>"; };
|
3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "legacy_image@2x.png"; path = "RNTester/legacy_image@2x.png"; sourceTree = "<group>"; };
|
||||||
5BEC8567F3741044B6A5EFC5 /* Pods-RNTester.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTester.release.xcconfig"; path = "Pods/Target Support Files/Pods-RNTester/Pods-RNTester.release.xcconfig"; sourceTree = "<group>"; };
|
5BEC8567F3741044B6A5EFC5 /* Pods-RNTester.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTester.release.xcconfig"; path = "Pods/Target Support Files/Pods-RNTester/Pods-RNTester.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
5C60EB1B226440DB0018C04F /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = RNTester/AppDelegate.mm; sourceTree = "<group>"; };
|
5C60EB1B226440DB0018C04F /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = RNTester/AppDelegate.mm; sourceTree = "<group>"; };
|
||||||
|
5CB07C99226467E60039471C /* RNTesterTurboModuleProvider.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RNTesterTurboModuleProvider.mm; path = RNTester/RNTesterTurboModuleProvider.mm; sourceTree = "<group>"; };
|
||||||
|
5CB07C9A226467E60039471C /* RNTesterTurboModuleProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNTesterTurboModuleProvider.h; path = RNTester/RNTesterTurboModuleProvider.h; sourceTree = "<group>"; };
|
||||||
68D134432238528800D0B233 /* Swizzle_RCTFabricSurface.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Swizzle_RCTFabricSurface.m; sourceTree = "<group>"; };
|
68D134432238528800D0B233 /* Swizzle_RCTFabricSurface.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Swizzle_RCTFabricSurface.m; sourceTree = "<group>"; };
|
||||||
68E1E4BB2230DF2F00570185 /* ComponentRegistry.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentRegistry.cpp; sourceTree = "<group>"; };
|
68E1E4BB2230DF2F00570185 /* ComponentRegistry.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentRegistry.cpp; sourceTree = "<group>"; };
|
||||||
8508AD3C1DC3509924E63948 /* libPods-RNTester.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTester.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
8508AD3C1DC3509924E63948 /* libPods-RNTester.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTester.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
@ -89,6 +92,8 @@
|
||||||
children = (
|
children = (
|
||||||
13B07FAF1A68108700A75B9A /* AppDelegate.h */,
|
13B07FAF1A68108700A75B9A /* AppDelegate.h */,
|
||||||
5C60EB1B226440DB0018C04F /* AppDelegate.mm */,
|
5C60EB1B226440DB0018C04F /* AppDelegate.mm */,
|
||||||
|
5CB07C9A226467E60039471C /* RNTesterTurboModuleProvider.h */,
|
||||||
|
5CB07C99226467E60039471C /* RNTesterTurboModuleProvider.mm */,
|
||||||
13B07FB71A68108700A75B9A /* main.m */,
|
13B07FB71A68108700A75B9A /* main.m */,
|
||||||
2DDEF00F1F84BF7B00DBDF73 /* Images.xcassets */,
|
2DDEF00F1F84BF7B00DBDF73 /* Images.xcassets */,
|
||||||
13B07FB11A68108700A75B9A /* LaunchScreen.xib */,
|
13B07FB11A68108700A75B9A /* LaunchScreen.xib */,
|
||||||
|
@ -329,6 +334,7 @@
|
||||||
68E1E4BC2230DF2F00570185 /* ComponentRegistry.cpp in Sources */,
|
68E1E4BC2230DF2F00570185 /* ComponentRegistry.cpp in Sources */,
|
||||||
272E6B3F1BEA849E001FCF37 /* UpdatePropertiesExampleView.m in Sources */,
|
272E6B3F1BEA849E001FCF37 /* UpdatePropertiesExampleView.m in Sources */,
|
||||||
68D134442238528800D0B233 /* Swizzle_RCTFabricSurface.m in Sources */,
|
68D134442238528800D0B233 /* Swizzle_RCTFabricSurface.m in Sources */,
|
||||||
|
5CB07C9B226467E60039471C /* RNTesterTurboModuleProvider.mm in Sources */,
|
||||||
27F441EC1BEBE5030039B79C /* FlexibleSizeExampleView.m in Sources */,
|
27F441EC1BEBE5030039B79C /* FlexibleSizeExampleView.m in Sources */,
|
||||||
5C60EB1C226440DB0018C04F /* AppDelegate.mm in Sources */,
|
5C60EB1C226440DB0018C04F /* AppDelegate.mm in Sources */,
|
||||||
13B07FC11A68108700A75B9A /* main.m in Sources */,
|
13B07FC11A68108700A75B9A /* main.m in Sources */,
|
||||||
|
|
|
@ -43,6 +43,6 @@ Pod::Spec.new do |s|
|
||||||
|
|
||||||
s.subspec "core-ios" do |ss|
|
s.subspec "core-ios" do |ss|
|
||||||
ss.source_files = "platform/ios/*.{mm,cpp,h}"
|
ss.source_files = "platform/ios/*.{mm,cpp,h}"
|
||||||
ss.header_dir = "React"
|
ss.header_dir = "jsireact"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
# coding: utf-8
|
||||||
|
# Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
#
|
||||||
|
# This source code is licensed under the MIT license found in the
|
||||||
|
# LICENSE file in the root directory of this source tree.
|
||||||
|
|
||||||
|
require "json"
|
||||||
|
|
||||||
|
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
|
||||||
|
version = package['version']
|
||||||
|
|
||||||
|
source = { :git => 'https://github.com/facebook/react-native.git' }
|
||||||
|
if version == '1000.0.0'
|
||||||
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
||||||
|
source[:commit] = `git rev-parse HEAD`.strip
|
||||||
|
else
|
||||||
|
source[:tag] = "v#{version}"
|
||||||
|
end
|
||||||
|
|
||||||
|
folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
|
||||||
|
folly_version = '2018.10.22.00'
|
||||||
|
boost_compiler_flags = '-Wno-documentation'
|
||||||
|
|
||||||
|
Pod::Spec.new do |s|
|
||||||
|
s.name = "React-turbomodule-samples"
|
||||||
|
s.version = version
|
||||||
|
s.summary = "-" # TODO
|
||||||
|
s.homepage = "http://facebook.github.io/react-native/"
|
||||||
|
s.license = package["license"]
|
||||||
|
s.author = "Facebook, Inc. and its affiliates"
|
||||||
|
s.platforms = { :ios => "9.0", :tvos => "9.2" }
|
||||||
|
s.source = source
|
||||||
|
s.source_files = "*.{cpp,h}"
|
||||||
|
s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
|
||||||
|
s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/Folly\"" }
|
||||||
|
s.header_dir = "jsireact"
|
||||||
|
s.xcconfig = { "OTHER_CFLAGS" => "$(inherited) -DRN_TURBO_MODULE_ENABLED" }
|
||||||
|
|
||||||
|
s.dependency "React-Core", version
|
||||||
|
s.dependency "React-cxxreact", version
|
||||||
|
s.dependency "React-jsi", version
|
||||||
|
s.dependency "React-turbomodule-core", version
|
||||||
|
s.dependency "Folly", folly_version
|
||||||
|
|
||||||
|
s.subspec "samples-ios" do |ss|
|
||||||
|
ss.source_files = "platform/ios/*.{mm,cpp,h}"
|
||||||
|
ss.header_dir = "jsireact"
|
||||||
|
end
|
||||||
|
end
|
Загрузка…
Ссылка в новой задаче