@@ -10,9 +10,10 @@ type EnvironmentConfig = {
10
10
appDomainGetConverse : string ;
11
11
appName : string ;
12
12
icon : string ;
13
- googleServicesFile : string ;
14
13
ios : {
15
14
bundleIdentifier : string ;
15
+ associatedDomains : string [ ] ;
16
+ googleServicesFile : string ;
16
17
} ;
17
18
android : {
18
19
package : string ;
@@ -25,52 +26,64 @@ const settings: Record<Environment, EnvironmentConfig> = {
25
26
scheme : "converse-dev" ,
26
27
ios : {
27
28
bundleIdentifier : "com.converse.dev" ,
29
+ associatedDomains : [
30
+ "applinks:dev.converse.xyz" ,
31
+ "applinks:dev.getconverse.app" ,
32
+ "webcredentials:dev.converse.xyz" ,
33
+ ] ,
34
+ googleServicesFile : "./google-services/ios/development.plist" ,
28
35
} ,
29
36
android : {
30
37
package : "com.converse.dev" ,
31
- googleServicesFile : "./scripts/build/android/ google-services/dev .json" ,
38
+ googleServicesFile : "./google-services/android/development .json" ,
32
39
} ,
33
40
androidPackage : "com.converse.dev" ,
34
41
appDomainConverse : "dev.converse.xyz" ,
35
42
appDomainGetConverse : "dev.getconverse.app" ,
36
43
appName : "Converse DEV" ,
37
44
icon : "./assets/icon-preview.png" ,
38
- googleServicesFile : "./scripts/build/android/google-services/dev.json" ,
39
45
} ,
40
46
preview : {
41
47
scheme : "converse-preview" ,
42
48
ios : {
43
49
bundleIdentifier : "com.converse.preview" ,
50
+ associatedDomains : [
51
+ "applinks:preview.converse.xyz" ,
52
+ "applinks:preview.getconverse.app" ,
53
+ "webcredentials:preview.converse.xyz" ,
54
+ ] ,
55
+ googleServicesFile : "./google-services/ios/preview.plist" ,
44
56
} ,
45
57
android : {
46
58
package : "com.converse.preview" ,
47
- googleServicesFile :
48
- "./scripts/build/android/google-services/preview.json" ,
59
+ googleServicesFile : "./google-services/android/preview.json" ,
49
60
} ,
50
61
androidPackage : "com.converse.preview" ,
51
62
appDomainConverse : "preview.converse.xyz" ,
52
63
appDomainGetConverse : "preview.getconverse.app" ,
53
64
appName : "Converse PREVIEW" ,
54
65
icon : "./assets/icon-preview.png" ,
55
- googleServicesFile : "./scripts/build/android/google-services/preview.json" ,
56
66
} ,
57
67
production : {
58
68
scheme : "converse" ,
59
69
ios : {
60
70
bundleIdentifier : "com.converse.native" ,
71
+ associatedDomains : [
72
+ "applinks:converse.xyz" ,
73
+ "applinks:getconverse.app" ,
74
+ "webcredentials:converse.xyz" ,
75
+ ] ,
76
+ googleServicesFile : "./google-services/ios/production.plist" ,
61
77
} ,
62
78
android : {
63
79
package : "com.converse.prod" ,
64
- googleServicesFile :
65
- "./scripts/build/android/google-services/production.json" ,
80
+ googleServicesFile : "./google-services/android/production.json" ,
66
81
} ,
67
82
androidPackage : "com.converse.prod" ,
68
83
appDomainConverse : "converse.xyz" ,
69
84
appDomainGetConverse : "getconverse.app" ,
70
85
appName : "Converse" ,
71
86
icon : "./assets/icon.png" ,
72
- googleServicesFile :
73
- "./scripts/build/android/google-services/production.json" ,
74
87
} ,
75
88
} ;
76
89
@@ -89,42 +102,42 @@ export default (): ExpoConfig => {
89
102
userInterfaceStyle : "automatic" ,
90
103
version : version ,
91
104
assetBundlePatterns : [ "**/*" ] ,
105
+ runtimeVersion : version ,
92
106
updates : {
93
107
fallbackToCacheTimeout : 0 ,
94
108
url : "https://u.expo.dev/49a65fae-3895-4487-8e8a-5bd8bee3a401" ,
95
109
} ,
96
- runtimeVersion : version ,
110
+ extra : {
111
+ expoEnv,
112
+ eas : {
113
+ projectId : "49a65fae-3895-4487-8e8a-5bd8bee3a401" ,
114
+ } ,
115
+ } ,
97
116
ios : {
98
- // bundleIdentifier: config.ios.bundleIdentifier, // Not needed since we have ios folder already specifying it
117
+ bundleIdentifier : config . ios . bundleIdentifier ,
99
118
supportsTablet : true ,
100
119
config : {
101
120
usesNonExemptEncryption : false ,
102
121
} ,
103
- } ,
104
- extra : {
105
- expoEnv,
106
- eas : {
107
- projectId : "49a65fae-3895-4487-8e8a-5bd8bee3a401" ,
122
+ associatedDomains : config . ios . associatedDomains ,
123
+ googleServicesFile : config . ios . googleServicesFile ,
124
+ infoPlist : {
125
+ LSApplicationQueriesSchemes : [
126
+ "cbwallet" ,
127
+ "ledgerlive" ,
128
+ "rainbow" ,
129
+ "metamask" ,
130
+ "trust" ,
131
+ "uniswap" ,
132
+ "zerion" ,
133
+ "exodus" ,
134
+ "oneinch" ,
135
+ ] ,
108
136
} ,
109
137
} ,
110
138
android : {
111
139
package : config . android . package ,
112
140
googleServicesFile : config . android . googleServicesFile ,
113
- permissions : [
114
- "INTERNET" ,
115
- "READ_EXTERNAL_STORAGE" ,
116
- "SYSTEM_ALERT_WINDOW" ,
117
- "VIBRATE" ,
118
- "POST_NOTIFICATIONS" ,
119
- "READ_CONTACTS" ,
120
- "RECEIVE_BOOT_COMPLETED" ,
121
- "WRITE_EXTERNAL_STORAGE" ,
122
- "WAKE_LOCK" ,
123
- "USE_FINGERPRINT" ,
124
- "USE_BIOMETRIC" ,
125
- "READ_MEDIA_IMAGES" ,
126
- "READ_MEDIA_VIDEO" ,
127
- ] ,
128
141
intentFilters : [
129
142
{
130
143
action : "VIEW" ,
@@ -191,9 +204,19 @@ export default (): ExpoConfig => {
191
204
] ,
192
205
} ,
193
206
plugins : [
207
+ [ "expo-notifications" ] ,
208
+ [ "expo-local-authentication" ] ,
194
209
[
195
210
"expo-build-properties" ,
196
211
{
212
+ ios : {
213
+ // To fix error "The Swift pod `FirebaseCoreInternal` depends upon `GoogleUtilities`,
214
+ // which does not define modules. To opt into those targets generating module maps
215
+ // (which is necessary to import them from Swift when building as static libraries),
216
+ // you may set `use_modular_headers!` globally in your Podfile,
217
+ // or specify `:modular_headers => true` for particular dependencies"
218
+ useFrameworks : "static" ,
219
+ } ,
197
220
android : {
198
221
compileSdkVersion : 35 ,
199
222
targetSdkVersion : 34 ,
@@ -273,6 +296,15 @@ export default (): ExpoConfig => {
273
296
} ,
274
297
} ,
275
298
] ,
299
+ [
300
+ "expo-image-picker" ,
301
+ {
302
+ photosPermission :
303
+ "We need this so that you can share photos from your library." ,
304
+ cameraPermission :
305
+ "We need this so that you can take photos to share." ,
306
+ } ,
307
+ ] ,
276
308
"expo-secure-store" ,
277
309
[
278
310
"expo-splash-screen" ,
@@ -283,10 +315,8 @@ export default (): ExpoConfig => {
283
315
image : "./assets/splash-dark.png" ,
284
316
backgroundColor : "#000000" ,
285
317
} ,
286
- imageWidth : 300 ,
287
318
} ,
288
319
] ,
289
- "expo-secure-store" ,
290
320
[
291
321
"@sentry/react-native/expo" ,
292
322
{
@@ -295,10 +325,8 @@ export default (): ExpoConfig => {
295
325
url : "https://sentry.io/" ,
296
326
} ,
297
327
] ,
328
+ [ "@react-native-firebase/app" ] ,
298
329
[ "@react-native-firebase/app-check" ] ,
299
- "./scripts/build/android/notifeeExpoPlugin.js" , // See https://github.com/invertase/notifee/issues/350
300
- "./scripts/build/android/androidDependenciesExpoPlugin.js" , // Handle some conflicting dependencies manually
301
- "./scripts/build/android/buildGradleProperties.js" , // Increase memory for building android in EAS
302
330
] ,
303
331
} ;
304
332
} ;
0 commit comments