Skip to content

Commit bf14ea8

Browse files
committed
added animated play icon
1 parent 659b93c commit bf14ea8

File tree

9 files changed

+128
-34
lines changed

9 files changed

+128
-34
lines changed

App/Components/PlayPause.js

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import React from 'react'
2+
import { Animated } from 'react-native'
3+
import Animation from 'lottie-react-native'
4+
5+
export default class PlayPause extends React.Component {
6+
constructor (props) {
7+
super(props)
8+
this.state = {
9+
progress: new Animated.Value(0),
10+
play: true
11+
}
12+
}
13+
14+
toggle = () => {
15+
const tovalue = this.state.play ? 1 : 0
16+
this.setState({play: !this.state.play})
17+
Animated.timing(this.state.progress, {
18+
toValue: tovalue,
19+
duration: 500
20+
}).start()
21+
this.props.onPress && this.props.onPress()
22+
}
23+
24+
shouldComponentUpdate (nextProps, nextState) {
25+
return this.props.playing !== nextProps.playing
26+
}
27+
componentWillUpdate () {
28+
this.toggle()
29+
}
30+
31+
render () {
32+
return (
33+
<Animation
34+
style={{
35+
width: 200,
36+
height: 200
37+
}}
38+
source={require('./play_pause.json')}
39+
progress={this.state.progress}
40+
/>
41+
)
42+
}
43+
}
+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { StyleSheet } from 'react-native'
2+
import { Metrics } from '../../Themes/'
3+
4+
export default StyleSheet.create({
5+
container: {
6+
flex: 1,
7+
paddingTop: Metrics.titlePadding
8+
}
9+
})

App/Components/play_pause.json

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"v":"4.6.0","fr":60,"ip":0,"op":60,"w":1080,"h":1080,"nm":"How to Animate an Icon in After Effects","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Play Left","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.11,"y":1},"o":{"x":0.333,"y":0},"n":"0p11_1_0p333_0","t":26,"s":[546,540,0],"e":[546,512,0],"to":[0,0,0],"ti":[0,0,0]},{"t":46}]},"a":{"a":0,"k":[166.284,216.209,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[102.67,329.749],[102.67,102.67],[229.899,216.209]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.11],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p11_1_0p333_0"],"t":6,"s":[100],"e":[38.8]},{"t":46}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":41.068},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[166.284,216.21],"ix":2},"a":{"a":0,"k":[166.284,216.21],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"mn":"ADBE Vector Group"}],"ip":-2,"op":2238.23223223223,"st":6,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Pause Right","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.667,"y":0.973},"o":{"x":0.333,"y":0},"n":"0p667_0p973_0p333_0","t":31,"s":[546.445,579.817,0],"e":[546.445,478.139,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0.056},"n":"0p667_1_0p333_0p056","t":37,"s":[546.445,478.139,0],"e":[546.445,551.817,0],"to":[0,0,0],"ti":[0,0,0]},{"t":46}]},"a":{"a":0,"k":[166.729,177.123,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[64.06,-74.453],[64.06,74.453],[-64.06,74.453]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.11],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p11_1_0p333_0"],"t":6,"s":[100],"e":[0]},{"t":46}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.11],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p11_1_0p333_0"],"t":26,"s":[100],"e":[53.3]},{"t":37}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":41.068},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[166.729,177.123],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"mn":"ADBE Vector Group"}],"ip":-2,"op":2238.23223223223,"st":6,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"Full circle","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[540,540,0]},"a":{"a":0,"k":[357.67,357.67,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,140.833],[140.833,0],[0,-140.833],[-140.833,0]],"o":[[0,-140.833],[-140.833,0],[0,140.833],[140.833,0]],"v":[[255,0],[0,-255],[-255,0],[0,255]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.11],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p11_1_0p333_0"],"t":23,"s":[6],"e":[55]},{"t":43}],"ix":1},"e":{"a":0,"k":0,"ix":2},"o":{"a":0,"k":-103,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":41.068},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[357.67,357.67],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"mn":"ADBE Vector Group"}],"ip":23,"op":2205.23223223223,"st":-27,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"Line circle transform","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[511.61,535.385,0]},"a":{"a":0,"k":[329.28,362.505,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[0,0],[-42.26,42.27],[131.25,-9.67],[0,-140.83],[-140.83,0]],"o":[[0,0],[77.9,-61.57],[-140.83,0],[0,140.83],[0,0]],"v":[[-28.61,118.375],[148.71,-45.265],[28.39,-250.165],[-226.61,4.835],[28.39,259.835]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[0],"e":[60]},{"i":{"x":[0.11],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p11_1_0p333_0"],"t":26,"s":[60],"e":[41]},{"t":46}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":6,"s":[12],"e":[100]},{"t":26}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"},{"ty":"st","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":41.068},"lc":2,"lj":2,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[329.28,362.505],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"mn":"ADBE Vector Group"}],"ip":-2,"op":2238.23223223223,"st":6,"bm":0,"sr":1}]}

App/Containers/PlayerArea.js

+41-31
Original file line numberDiff line numberDiff line change
@@ -4,52 +4,62 @@ import { connect } from 'react-redux'
44
import Icon from 'react-native-vector-icons/FontAwesome'
55
import PlayerActions from '../Redux/PlayerRedux'
66
import { Colors } from '../Themes/'
7-
87
import styles from './Styles/PlayerAreaStyle'
8+
import PlayPause from '../Components/PlayPause'
99

1010
const textStyle = {
11-
paddingTop: 4,
12-
paddingBottom: 4,
1311
fontSize: 20,
1412
color: Colors.snow
1513
}
1614

17-
const PlayerArea = ({ play, pause, metadata }) => (
18-
<View style={styles.container}>
19-
<View style={{flexDirection: 'row', justifyContent: 'space-between', padding: 20}}>
20-
<View style={{flexDirection: 'column', justifyContent: 'space-around'}}>
21-
<Text style={textStyle}>
22-
title: {metadata && metadata.title}
23-
</Text>
24-
<Text style={textStyle}>
25-
artist: {metadata && metadata.artist}
26-
</Text>
27-
<Text style={textStyle}>
28-
genre:{metadata && metadata.genre}
29-
</Text>
30-
<Text style={textStyle}>
31-
duration:{metadata && metadata.duration}
32-
</Text>
15+
const PlayerArea = ({ playing, play, pause, metadata }) => (
16+
<View>
17+
<View style={styles.container}>
18+
<View style={{flexDirection: 'row', justifyContent: 'space-between'}}>
19+
<View style={{flex: 0.8, flexDirection: 'column', justifyContent: 'center'}}>
20+
<Text style={textStyle}>
21+
title: {metadata && metadata.title}
22+
</Text>
23+
<Text style={textStyle}>
24+
artist: {metadata && metadata.artist}
25+
</Text>
26+
</View>
27+
<View style={{flex: 0.8, flexDirection: 'column', justifyContent: 'center'}}>
28+
<Text style={textStyle}>
29+
genre:{metadata && metadata.genre}
30+
</Text>
31+
<Text style={textStyle}>
32+
duration:{metadata && metadata.duration}
33+
</Text>
34+
</View>
3335
</View>
34-
<TouchableOpacity onPress={play} style={{ padding: 10, flex: 0.2 }}>
35-
<Icon size={25} name='play' color='#fff' />
36-
</TouchableOpacity>
37-
<TouchableOpacity onPress={pause} style={{ padding: 10, flex: 0.2 }}>
38-
<Icon size={25} name='pause' color='#fff' />
39-
</TouchableOpacity>
40-
<TouchableOpacity onPress={pause} style={{ padding: 10, flex: 0.2 }}>
41-
<Icon size={25} name='stop' color='#fff' />
42-
</TouchableOpacity>
43-
<View style={{ padding: 10, flex: 0.2 }} />
4436
</View>
37+
<TouchableOpacity
38+
onPress={playing ? pause : play}
39+
style={{
40+
position: 'absolute',
41+
left: 0,
42+
bottom: 50
43+
}}
44+
>
45+
<PlayPause playing={playing} />
46+
</TouchableOpacity>
47+
<TouchableOpacity
48+
playing={playing}
49+
onPress={pause}
50+
style={styles.pause}
51+
>
52+
<Icon size={30} name='stop' color='#fff' />
53+
</TouchableOpacity>
4554
</View>
4655
)
4756

4857
const mapStateToProps = ({player}) => {
49-
const {file, metadata} = player
58+
const {file, metadata, playing} = player
5059
return {
5160
file,
52-
metadata
61+
metadata,
62+
playing
5363
}
5464
}
5565

App/Containers/Styles/PlayerAreaStyle.js

+11-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,16 @@ import { StyleSheet } from 'react-native'
22

33
export default StyleSheet.create({
44
container: {
5-
borderTopWidth: 2,
6-
borderColor: 'white'
5+
},
6+
pause: {
7+
position: 'absolute',
8+
left: 200,
9+
bottom: 100,
10+
alignItems: 'center',
11+
justifyContent: 'center',
12+
width: 100,
13+
height: 100,
14+
borderRadius: 100 / 2,
15+
backgroundColor: 'rgba(255, 255, 255, 0.2)'
716
}
817
})

android/app/build.gradle

+2-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def enableSeparateBuildPerCPUArchitecture = false
8383
def enableProguardInReleaseBuilds = false
8484

8585
android {
86-
compileSdkVersion 23
86+
compileSdkVersion 25
8787
buildToolsVersion "23.0.1"
8888

8989
defaultConfig {
@@ -126,6 +126,7 @@ android {
126126
}
127127

128128
dependencies {
129+
compile project(':lottie-react-native')
129130
compile project(':react-native-fs')
130131
compile project(':react-native-sound')
131132
compile project(':react-native-media-meta')

android/app/src/main/java/com/musicplayer/MainApplication.java

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import android.app.Application;
44

55
import com.facebook.react.ReactApplication;
6+
import com.airbnb.android.react.lottie.LottiePackage;
67
import com.rnfs.RNFSPackage;
78
import com.zmxv.RNSound.RNSoundPackage;
89
import com.mybigday.rnmediameta.RNMediaMetaPackage;
@@ -30,6 +31,7 @@ public boolean getUseDeveloperSupport() {
3031
protected List<ReactPackage> getPackages() {
3132
return Arrays.<ReactPackage>asList(
3233
new MainReactPackage(),
34+
new LottiePackage(),
3335
new RNFSPackage(),
3436
new RNSoundPackage(),
3537
new RNMediaMetaPackage(),

android/settings.gradle

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
rootProject.name = 'musicplayer'
2+
include ':lottie-react-native'
3+
project(':lottie-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/lottie-react-native/lib/android')
24
include ':react-native-fs'
35
project(':react-native-fs').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fs/android')
46
include ':react-native-sound'

ios/musicplayer.xcodeproj/project.pbxproj

+17
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
FEAF501D4E8E4339A23AD99E /* libRNFS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22E6C41E491B4CA293091B49 /* libRNFS.a */; };
5656
4D5E4A489A3546C186C7B6F3 /* libRNMediaMeta.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 644E171552F04DB58BE9DC3E /* libRNMediaMeta.a */; };
5757
04E25E4CD45946DC91D44907 /* libRNSound.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 515A0A6FD14B434881F36977 /* libRNSound.a */; };
58+
F23545822DF84104AE242B4E /* libLottieReactNative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 601A788D1B0F4857891D1873 /* libLottieReactNative.a */; };
5859
/* End PBXBuildFile section */
5960

6061
/* Begin PBXContainerItemProxy section */
@@ -301,6 +302,8 @@
301302
644E171552F04DB58BE9DC3E /* libRNMediaMeta.a */ = {isa = PBXFileReference; name = "libRNMediaMeta.a"; path = "libRNMediaMeta.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
302303
5C290BA4FB4A4859B82F77DD /* RNSound.xcodeproj */ = {isa = PBXFileReference; name = "RNSound.xcodeproj"; path = "../node_modules/react-native-sound/RNSound.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
303304
515A0A6FD14B434881F36977 /* libRNSound.a */ = {isa = PBXFileReference; name = "libRNSound.a"; path = "libRNSound.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
305+
023AE39CA370462FA2AA5E9D /* LottieReactNative.xcodeproj */ = {isa = PBXFileReference; name = "LottieReactNative.xcodeproj"; path = "../node_modules/lottie-react-native/lib/ios/LottieReactNative.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
306+
601A788D1B0F4857891D1873 /* libLottieReactNative.a */ = {isa = PBXFileReference; name = "libLottieReactNative.a"; path = "libLottieReactNative.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
304307
/* End PBXFileReference section */
305308

306309
/* Begin PBXFrameworksBuildPhase section */
@@ -337,6 +340,7 @@
337340
FEAF501D4E8E4339A23AD99E /* libRNFS.a in Frameworks */,
338341
4D5E4A489A3546C186C7B6F3 /* libRNMediaMeta.a in Frameworks */,
339342
04E25E4CD45946DC91D44907 /* libRNSound.a in Frameworks */,
343+
F23545822DF84104AE242B4E /* libLottieReactNative.a in Frameworks */,
340344
);
341345
runOnlyForDeploymentPostprocessing = 0;
342346
};
@@ -510,6 +514,7 @@
510514
902C65759C38471EBAF6EF62 /* RNFS.xcodeproj */,
511515
A2C96089AD6E444FB93496C4 /* RNMediaMeta.xcodeproj */,
512516
5C290BA4FB4A4859B82F77DD /* RNSound.xcodeproj */,
517+
023AE39CA370462FA2AA5E9D /* LottieReactNative.xcodeproj */,
513518
);
514519
name = Libraries;
515520
sourceTree = "<group>";
@@ -1076,6 +1081,7 @@
10761081
"\"$(SRCROOT)/$(TARGET_NAME)\"",
10771082
"\"$(SRCROOT)/$(TARGET_NAME)\"",
10781083
"\"$(SRCROOT)/$(TARGET_NAME)\"",
1084+
"\"$(SRCROOT)/$(TARGET_NAME)\"",
10791085
);
10801086
HEADER_SEARCH_PATHS = (
10811087
"$(inherited)",
@@ -1086,6 +1092,7 @@
10861092
"$(SRCROOT)/../node_modules/react-native-fs/**",
10871093
"$(SRCROOT)/../node_modules/react-native-media-meta/ios/RNMediaMeta",
10881094
"$(SRCROOT)/../node_modules/react-native-sound/RNSound",
1095+
"$(SRCROOT)/../node_modules/lottie-react-native/lib/ios/LottieReactNative",
10891096
);
10901097
};
10911098
name = Debug;
@@ -1116,6 +1123,7 @@
11161123
"\"$(SRCROOT)/$(TARGET_NAME)\"",
11171124
"\"$(SRCROOT)/$(TARGET_NAME)\"",
11181125
"\"$(SRCROOT)/$(TARGET_NAME)\"",
1126+
"\"$(SRCROOT)/$(TARGET_NAME)\"",
11191127
);
11201128
HEADER_SEARCH_PATHS = (
11211129
"$(inherited)",
@@ -1126,6 +1134,7 @@
11261134
"$(SRCROOT)/../node_modules/react-native-fs/**",
11271135
"$(SRCROOT)/../node_modules/react-native-media-meta/ios/RNMediaMeta",
11281136
"$(SRCROOT)/../node_modules/react-native-sound/RNSound",
1137+
"$(SRCROOT)/../node_modules/lottie-react-native/lib/ios/LottieReactNative",
11291138
);
11301139
};
11311140
name = Release;
@@ -1154,6 +1163,7 @@
11541163
"$(SRCROOT)/../node_modules/react-native-fs/**",
11551164
"$(SRCROOT)/../node_modules/react-native-media-meta/ios/RNMediaMeta",
11561165
"$(SRCROOT)/../node_modules/react-native-sound/RNSound",
1166+
"$(SRCROOT)/../node_modules/lottie-react-native/lib/ios/LottieReactNative",
11571167
);
11581168
};
11591169
name = Debug;
@@ -1181,6 +1191,7 @@
11811191
"$(SRCROOT)/../node_modules/react-native-fs/**",
11821192
"$(SRCROOT)/../node_modules/react-native-media-meta/ios/RNMediaMeta",
11831193
"$(SRCROOT)/../node_modules/react-native-sound/RNSound",
1194+
"$(SRCROOT)/../node_modules/lottie-react-native/lib/ios/LottieReactNative",
11841195
);
11851196
};
11861197
name = Release;
@@ -1220,6 +1231,7 @@
12201231
"\"$(SRCROOT)/$(TARGET_NAME)\"",
12211232
"\"$(SRCROOT)/$(TARGET_NAME)\"",
12221233
"\"$(SRCROOT)/$(TARGET_NAME)\"",
1234+
"\"$(SRCROOT)/$(TARGET_NAME)\"",
12231235
);
12241236
HEADER_SEARCH_PATHS = (
12251237
"$(inherited)",
@@ -1230,6 +1242,7 @@
12301242
"$(SRCROOT)/../node_modules/react-native-fs/**",
12311243
"$(SRCROOT)/../node_modules/react-native-media-meta/ios/RNMediaMeta",
12321244
"$(SRCROOT)/../node_modules/react-native-sound/RNSound",
1245+
"$(SRCROOT)/../node_modules/lottie-react-native/lib/ios/LottieReactNative",
12331246
);
12341247
};
12351248
name = Debug;
@@ -1269,6 +1282,7 @@
12691282
"\"$(SRCROOT)/$(TARGET_NAME)\"",
12701283
"\"$(SRCROOT)/$(TARGET_NAME)\"",
12711284
"\"$(SRCROOT)/$(TARGET_NAME)\"",
1285+
"\"$(SRCROOT)/$(TARGET_NAME)\"",
12721286
);
12731287
HEADER_SEARCH_PATHS = (
12741288
"$(inherited)",
@@ -1279,6 +1293,7 @@
12791293
"$(SRCROOT)/../node_modules/react-native-fs/**",
12801294
"$(SRCROOT)/../node_modules/react-native-media-meta/ios/RNMediaMeta",
12811295
"$(SRCROOT)/../node_modules/react-native-sound/RNSound",
1296+
"$(SRCROOT)/../node_modules/lottie-react-native/lib/ios/LottieReactNative",
12821297
);
12831298
};
12841299
name = Release;
@@ -1313,6 +1328,7 @@
13131328
"\"$(SRCROOT)/$(TARGET_NAME)\"",
13141329
"\"$(SRCROOT)/$(TARGET_NAME)\"",
13151330
"\"$(SRCROOT)/$(TARGET_NAME)\"",
1331+
"\"$(SRCROOT)/$(TARGET_NAME)\"",
13161332
);
13171333
};
13181334
name = Debug;
@@ -1347,6 +1363,7 @@
13471363
"\"$(SRCROOT)/$(TARGET_NAME)\"",
13481364
"\"$(SRCROOT)/$(TARGET_NAME)\"",
13491365
"\"$(SRCROOT)/$(TARGET_NAME)\"",
1366+
"\"$(SRCROOT)/$(TARGET_NAME)\"",
13501367
);
13511368
};
13521369
name = Release;

0 commit comments

Comments
 (0)