Add subspec for iOS extensions without React (#471)

* Add subspec for iOS extensions without React

* hard code script_phase to Extension subspec
This commit is contained in:
Taylor Johnson 2020-07-24 19:06:18 -07:00 committed by GitHub
parent 07cabdc62f
commit 38b87f914d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 27 additions and 3 deletions

1
.gitignore vendored
View File

@ -3,3 +3,4 @@
node_modules node_modules
xcuserdata xcuserdata
xcshareddata xcshareddata
/.idea/

View File

@ -196,6 +196,9 @@ target 'ShareExtension' do
platform :ios, '9.0' platform :ios, '9.0'
pod 'react-native-config', :path => '../node_modules/react-native-config' pod 'react-native-config', :path => '../node_modules/react-native-config'
# For extensions without React dependencies
pod 'react-native-config/Extension', :path => '../node_modules/react-native-config'
end end
``` ```

View File

@ -1,6 +1,6 @@
{ {
"name": "react-native-config", "name": "react-native-config",
"version": "1.3.1", "version": "1.3.2",
"description": "Expose config variables to React Native apps", "description": "Expose config variables to React Native apps",
"keywords": [ "keywords": [
"env", "env",

View File

@ -28,8 +28,28 @@ HOST_PATH="$SRCROOT/../.."
input_files: ['$PODS_TARGET_SRCROOT/ios/ReactNativeConfig/BuildDotenvConfig.rb'] input_files: ['$PODS_TARGET_SRCROOT/ios/ReactNativeConfig/BuildDotenvConfig.rb']
} }
s.source_files = 'ios/**/*.{h,m}'
s.requires_arc = true s.requires_arc = true
s.default_subspec = 'App'
s.subspec 'App' do |app|
app.source_files = 'ios/**/*.{h,m}'
app.dependency 'React'
end
# Use this subspec for iOS extensions that cannot use React dependency
s.subspec 'Extension' do |ext|
# Had to duplicate the script_phase since it wasn't being passed down. Not sure why
ext.script_phase = {
name: 'Config codegen',
script: %(
set -ex
HOST_PATH="$SRCROOT/../.."
"${PODS_TARGET_SRCROOT}/ios/ReactNativeConfig/BuildDotenvConfig.rb" "$HOST_PATH" "${PODS_TARGET_SRCROOT}/ios/ReactNativeConfig"
),
execution_position: :before_compile,
input_files: ['$PODS_TARGET_SRCROOT/ios/ReactNativeConfig/BuildDotenvConfig.rb']
}
ext.source_files = ['ios/**/ReactNativeConfig.{h,m}', 'ios/**/GeneratedDotEnv.m']
end
s.dependency 'React'
end end