diff --git a/.github/workflows/build-production-mobile.yml b/.github/workflows/mobile-build.yml
similarity index 73%
rename from .github/workflows/build-production-mobile.yml
rename to .github/workflows/mobile-build.yml
index c38770cba1..026a436b79 100644
--- a/.github/workflows/build-production-mobile.yml
+++ b/.github/workflows/mobile-build.yml
@@ -1,7 +1,13 @@
-name: Build Tlon Mobile [Production]
+name: Build Tlon Mobile
on:
workflow_dispatch:
inputs:
+ profile:
+ type: choice
+ description: Select profile
+ options:
+ - preview
+ - production
platform:
type: choice
description: Select platform
@@ -15,7 +21,7 @@ env:
jobs:
deploy:
runs-on: ubuntu-latest
- name: Create new build
+ name: Create mobile builds
steps:
- name: Check out repository
uses: actions/checkout@v4
@@ -32,7 +38,7 @@ jobs:
run: npm ci
- name: Build for selected platforms
working-directory: ./apps/tlon-mobile
- run: eas build --profile production --platform ${{ inputs.platform || 'all' }} --non-interactive --auto-submit
+ run: eas build --profile ${{ inputs.profile || 'preview' }} --platform ${{ inputs.platform || 'all' }} --non-interactive --auto-submit
env:
EXPO_APPLE_ID: ${{ secrets.EXPO_APPLE_ID }}
EXPO_APPLE_PASSWORD: ${{ secrets.EXPO_APPLE_PASSWORD }}
diff --git a/.github/workflows/update-production-mobile.yml b/.github/workflows/mobile-update.yml
similarity index 52%
rename from .github/workflows/update-production-mobile.yml
rename to .github/workflows/mobile-update.yml
index f650f46d79..0087665408 100644
--- a/.github/workflows/update-production-mobile.yml
+++ b/.github/workflows/mobile-update.yml
@@ -1,13 +1,27 @@
-name: Push Tlon Mobile Update [Production]
+name: Push Tlon Mobile Update
on:
workflow_dispatch:
+ inputs:
+ profile:
+ type: choice
+ description: Select profile
+ options:
+ - preview
+ - production
+ platform:
+ type: choice
+ description: Select platform
+ options:
+ - all
+ - android
+ - ios
env:
NOTIFY_PROVIDER: rivfur-livmet
NOTIFY_SERVICE: groups-native
jobs:
deploy:
runs-on: ubuntu-latest
- name: Push update
+ name: Push mobile updates
steps:
- name: Check out repository
uses: actions/checkout@v4
@@ -22,6 +36,6 @@ jobs:
token: ${{ secrets.EXPO_TOKEN }}
- name: Install dependencies
run: npm ci
- - name: Push update for all platforms
+ - name: Push update for selected platforms
working-directory: ./apps/tlon-mobile
- run: eas update --auto --platform all --channel production --non-interactive
+ run: eas update --auto --profile ${{ inputs.profile || 'preview' }} --platform ${{ inputs.platform || 'all' }} --non-interactive
diff --git a/apps/tlon-mobile/android/app/build.gradle b/apps/tlon-mobile/android/app/build.gradle
index a5605dff58..c677aef716 100644
--- a/apps/tlon-mobile/android/app/build.gradle
+++ b/apps/tlon-mobile/android/app/build.gradle
@@ -82,16 +82,13 @@ def jscFlavor = 'org.webkit:android-jsc:+'
android {
ndkVersion rootProject.ext.ndkVersion
- buildToolsVersion rootProject.ext.buildToolsVersion
- compileSdk rootProject.ext.compileSdkVersion
-
namespace "io.tlon.landscape"
defaultConfig {
- applicationId "io.tlon.groups.staging"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
- versionCode 44
- versionName "3.1.3"
+ compileSdk rootProject.ext.compileSdkVersion
+ versionCode 45
+ versionName "4.0.0"
buildConfigField("boolean", "REACT_NATIVE_UNSTABLE_USE_RUNTIME_SCHEDULER_ALWAYS", (findProperty("reactNative.unstable_useRuntimeSchedulerAlways") ?: true).toString())
}
@@ -121,6 +118,17 @@ android {
useLegacyPackaging (findProperty('expo.useLegacyPackaging')?.toBoolean() ?: false)
}
}
+ flavorDimensions "profile"
+ productFlavors {
+ production {
+ dimension "profile"
+ applicationId "io.tlon.groups"
+ }
+ preview {
+ dimension "profile"
+ applicationId "io.tlon.groups.preview"
+ }
+ }
}
// Apply static values from `gradle.properties` to the `android.packagingOptions`
@@ -173,14 +181,14 @@ dependencies {
implementation jscFlavor
}
- implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.0.0")
+ implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
implementation("androidx.security:security-crypto-ktx:1.1.0-alpha06")
implementation("com.android.volley:volley:1.2.1")
// Branch.io
- implementation("io.branch.sdk.android:library:5.+")
- implementation("com.google.android.gms:play-services-ads-identifier:17.1.0+")
- implementation("androidx.browser:browser:1.0.0")
+ implementation("io.branch.sdk.android:library:5.9.0")
+ implementation("com.google.android.gms:play-services-ads-identifier:18.0.1")
+ implementation("androidx.browser:browser:1.7.0")
}
apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim(), "../native_modules.gradle");
diff --git a/apps/tlon-mobile/android/app/google-services.json b/apps/tlon-mobile/android/app/google-services.json
index 94da9d769d..7f3b21a7f8 100644
--- a/apps/tlon-mobile/android/app/google-services.json
+++ b/apps/tlon-mobile/android/app/google-services.json
@@ -1,26 +1,65 @@
{
"project_info": {
- "project_number": "157622845881",
- "project_id": "tlon-mobile-staging",
- "storage_bucket": "tlon-mobile-staging.appspot.com"
+ "project_number": "543296749236",
+ "project_id": "tlon-groups-mobile",
+ "storage_bucket": "tlon-groups-mobile.appspot.com"
},
"client": [
{
"client_info": {
- "mobilesdk_app_id": "1:157622845881:android:e03c63bd5a3bc87cf27668",
+ "mobilesdk_app_id": "1:543296749236:android:3c51b56a1b8d31173e21e1",
"android_client_info": {
- "package_name": "io.tlon.groups.staging"
+ "package_name": "io.tlon.groups"
}
},
- "oauth_client": [],
+ "oauth_client": [
+ {
+ "client_id": "543296749236-1l5r4ipguvjdh083t5j7h1eicqi21j0o.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyDm8-5daeW5B8j6i_RIoSvOgnx6Fo0gEOU"
+ }
+ ],
+ "services": {
+ "appinvite_service": {
+ "other_platform_oauth_client": [
+ {
+ "client_id": "543296749236-1l5r4ipguvjdh083t5j7h1eicqi21j0o.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:543296749236:android:5f8dfa09efc9fbb93e21e1",
+ "android_client_info": {
+ "package_name": "io.tlon.groups.preview"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "543296749236-1l5r4ipguvjdh083t5j7h1eicqi21j0o.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
"api_key": [
{
- "current_key": "AIzaSyAPPGSCuJstxYqZnbDCMNzGC6pM8cQHXm0"
+ "current_key": "AIzaSyDm8-5daeW5B8j6i_RIoSvOgnx6Fo0gEOU"
}
],
"services": {
"appinvite_service": {
- "other_platform_oauth_client": []
+ "other_platform_oauth_client": [
+ {
+ "client_id": "543296749236-1l5r4ipguvjdh083t5j7h1eicqi21j0o.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
}
}
}
diff --git a/apps/tlon-mobile/android/app/src/main/AndroidManifest.xml b/apps/tlon-mobile/android/app/src/main/AndroidManifest.xml
index 52f03ad11b..9f185e80eb 100644
--- a/apps/tlon-mobile/android/app/src/main/AndroidManifest.xml
+++ b/apps/tlon-mobile/android/app/src/main/AndroidManifest.xml
@@ -19,6 +19,8 @@
+
+
@@ -26,7 +28,7 @@
-
+
@@ -34,32 +36,27 @@
-
-
+
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
\ No newline at end of file
diff --git a/apps/tlon-mobile/android/app/src/main/res/values/strings.xml b/apps/tlon-mobile/android/app/src/main/res/values/strings.xml
index 79022f2887..946e2bb7b8 100644
--- a/apps/tlon-mobile/android/app/src/main/res/values/strings.xml
+++ b/apps/tlon-mobile/android/app/src/main/res/values/strings.xml
@@ -2,7 +2,7 @@
Tlon
contain
false
- 3.1.3
+ 4.0.0
Tlon Notifications
Channel for receiving push notifications from your Tlon app.
Mark as read
diff --git a/apps/tlon-mobile/android/app/src/preview/ic_launcher-playstore.png b/apps/tlon-mobile/android/app/src/preview/ic_launcher-playstore.png
new file mode 100644
index 0000000000..f898af1956
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/ic_launcher-playstore.png differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-anydpi-v26/ic_launcher.xml b/apps/tlon-mobile/android/app/src/preview/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000000..036d09bc5f
--- /dev/null
+++ b/apps/tlon-mobile/android/app/src/preview/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-anydpi-v26/ic_launcher_round.xml b/apps/tlon-mobile/android/app/src/preview/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 0000000000..036d09bc5f
--- /dev/null
+++ b/apps/tlon-mobile/android/app/src/preview/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-hdpi/ic_launcher.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 0000000000..2d1835ce23
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-hdpi/ic_launcher_foreground.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-hdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000000..c031e83430
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-hdpi/ic_launcher_foreground.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-hdpi/ic_launcher_round.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000..2feb96bb23
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-mdpi/ic_launcher.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 0000000000..9fc2bfa3fd
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-mdpi/ic_launcher_foreground.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-mdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000000..afead934a7
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-mdpi/ic_launcher_foreground.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-mdpi/ic_launcher_round.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000..6346e56d9c
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-xhdpi/ic_launcher.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 0000000000..8148112363
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-xhdpi/ic_launcher_foreground.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xhdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000000..d433682171
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xhdpi/ic_launcher_foreground.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-xhdpi/ic_launcher_round.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000..ef49c47f8e
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxhdpi/ic_launcher.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 0000000000..9f659ee503
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxhdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000000..7e9b060967
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxhdpi/ic_launcher_foreground.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxhdpi/ic_launcher_round.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000..fb7aa0538e
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxxhdpi/ic_launcher.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 0000000000..395427aa9a
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
new file mode 100644
index 0000000000..b771e1edf1
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxxhdpi/ic_launcher_foreground.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxxhdpi/ic_launcher_round.webp b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000..24e66357ed
Binary files /dev/null and b/apps/tlon-mobile/android/app/src/preview/res/mipmap-xxxhdpi/ic_launcher_round.webp differ
diff --git a/apps/tlon-mobile/android/app/src/preview/res/values/ic_launcher_background.xml b/apps/tlon-mobile/android/app/src/preview/res/values/ic_launcher_background.xml
new file mode 100644
index 0000000000..beab31f753
--- /dev/null
+++ b/apps/tlon-mobile/android/app/src/preview/res/values/ic_launcher_background.xml
@@ -0,0 +1,4 @@
+
+
+ #000000
+
\ No newline at end of file
diff --git a/apps/tlon-mobile/android/app/src/preview/res/values/strings.xml b/apps/tlon-mobile/android/app/src/preview/res/values/strings.xml
new file mode 100644
index 0000000000..c86f613162
--- /dev/null
+++ b/apps/tlon-mobile/android/app/src/preview/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ Tlon - Preview
+
diff --git a/apps/tlon-mobile/android/build.gradle b/apps/tlon-mobile/android/build.gradle
index ffb76d1a60..743999c962 100644
--- a/apps/tlon-mobile/android/build.gradle
+++ b/apps/tlon-mobile/android/build.gradle
@@ -15,7 +15,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.google.gms:google-services:4.3.15'
+ classpath('com.google.gms:google-services:4.4.1')
classpath('com.android.tools.build:gradle')
classpath('com.facebook.react:react-native-gradle-plugin')
classpath('com.google.firebase:firebase-crashlytics-gradle:2.9.9')
diff --git a/apps/tlon-mobile/app.config.ts b/apps/tlon-mobile/app.config.ts
index 32d4bb4dc3..202cd6c43d 100644
--- a/apps/tlon-mobile/app.config.ts
+++ b/apps/tlon-mobile/app.config.ts
@@ -2,12 +2,13 @@ import 'dotenv/config';
import type { ConfigContext, ExpoConfig } from 'expo/config';
const projectId = '617bb643-5bf6-4c40-8af6-c6e9dd7e3bd0';
+const isPreview = process.env.APP_VARIANT === 'preview';
export default ({ config }: ConfigContext): ExpoConfig => ({
...config,
owner: 'tlon',
slug: 'groups',
- name: 'Tlon',
+ name: isPreview ? 'Tlon - Preview' : 'Tlon',
assetBundlePatterns: ['**/*'],
extra: {
eas: {
@@ -26,16 +27,15 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
recaptchaSiteKeyIOS: process.env.RECAPTCHA_SITE_KEY_IOS,
},
ios: {
- bundleIdentifier: 'io.tlon.groups.staging',
- runtimeVersion: '3.1.3',
- buildNumber: '44',
+ runtimeVersion: '4.0.0',
+ buildNumber: '45',
config: {
usesNonExemptEncryption: false,
},
},
android: {
- runtimeVersion: '3.1.3',
- versionCode: 44,
+ runtimeVersion: '4.0.0',
+ versionCode: 45,
},
updates: {
url: `https://u.expo.dev/${projectId}`,
diff --git a/apps/tlon-mobile/eas.json b/apps/tlon-mobile/eas.json
index 2ecda7e744..4f29524934 100644
--- a/apps/tlon-mobile/eas.json
+++ b/apps/tlon-mobile/eas.json
@@ -6,18 +6,42 @@
"build": {
"preview": {
"channel": "preview",
- "distribution": "internal",
+ "env": {
+ "APP_VARIANT": "preview"
+ },
"android": {
- "buildType": "apk"
+ "gradleCommand": ":app:bundlePreviewRelease"
+ },
+ "ios": {
+ "scheme": "Landscape-preview"
}
},
"production": {
- "channel": "production"
+ "channel": "production",
+ "android": {
+ "gradleCommand": ":app:bundleProductionRelease"
+ },
+ "ios": {
+ "scheme": "Landscape"
+ }
}
},
"submit": {
+ "preview": {
+ "android": {
+ "applicationId": "io.tlon.groups.preview",
+ "releaseStatus": "draft",
+ "track": "internal",
+ "changesNotSentForReview": true
+ },
+ "ios": {
+ "ascAppId": "6477973000",
+ "appleTeamId": "XU9PR2N722"
+ }
+ },
"production": {
"android": {
+ "applicationId": "io.tlon.groups",
"releaseStatus": "draft",
"track": "internal",
"changesNotSentForReview": true
diff --git a/apps/tlon-mobile/ios/GoogleService-Info.plist b/apps/tlon-mobile/ios/GoogleService-Info-io.tlon.groups.plist
similarity index 68%
rename from apps/tlon-mobile/ios/GoogleService-Info.plist
rename to apps/tlon-mobile/ios/GoogleService-Info-io.tlon.groups.plist
index 14e6521392..c19de3f2f1 100644
--- a/apps/tlon-mobile/ios/GoogleService-Info.plist
+++ b/apps/tlon-mobile/ios/GoogleService-Info-io.tlon.groups.plist
@@ -3,17 +3,17 @@
API_KEY
- AIzaSyDk3OH2oJyY0rkyw2JV7jA1ClZGBIoSzrM
+ AIzaSyDnjh8qXbZkuM_Bh1-tkP46FA-y2Uai7pc
GCM_SENDER_ID
- 157622845881
+ 543296749236
PLIST_VERSION
1
BUNDLE_ID
- io.tlon.groups.staging
+ io.tlon.groups
PROJECT_ID
- tlon-mobile-staging
+ tlon-groups-mobile
STORAGE_BUCKET
- tlon-mobile-staging.appspot.com
+ tlon-groups-mobile.appspot.com
IS_ADS_ENABLED
IS_ANALYTICS_ENABLED
@@ -25,6 +25,6 @@
IS_SIGNIN_ENABLED
GOOGLE_APP_ID
- 1:157622845881:ios:0142449d758fd047f27668
+ 1:543296749236:ios:aec1ebb1ed8b2ef73e21e1
\ No newline at end of file
diff --git a/apps/tlon-mobile/ios/GoogleService-Info-io.tlon.groups.preview.plist b/apps/tlon-mobile/ios/GoogleService-Info-io.tlon.groups.preview.plist
new file mode 100644
index 0000000000..96824d7539
--- /dev/null
+++ b/apps/tlon-mobile/ios/GoogleService-Info-io.tlon.groups.preview.plist
@@ -0,0 +1,30 @@
+
+
+
+
+ API_KEY
+ AIzaSyDnjh8qXbZkuM_Bh1-tkP46FA-y2Uai7pc
+ GCM_SENDER_ID
+ 543296749236
+ PLIST_VERSION
+ 1
+ BUNDLE_ID
+ io.tlon.groups.preview
+ PROJECT_ID
+ tlon-groups-mobile
+ STORAGE_BUCKET
+ tlon-groups-mobile.appspot.com
+ IS_ADS_ENABLED
+
+ IS_ANALYTICS_ENABLED
+
+ IS_APPINVITE_ENABLED
+
+ IS_GCM_ENABLED
+
+ IS_SIGNIN_ENABLED
+
+ GOOGLE_APP_ID
+ 1:543296749236:ios:8f24114b091162df3e21e1
+
+
\ No newline at end of file
diff --git a/apps/tlon-mobile/ios/Landscape.xcodeproj/project.pbxproj b/apps/tlon-mobile/ios/Landscape.xcodeproj/project.pbxproj
index 15fab22e5a..a3a421cf6c 100644
--- a/apps/tlon-mobile/ios/Landscape.xcodeproj/project.pbxproj
+++ b/apps/tlon-mobile/ios/Landscape.xcodeproj/project.pbxproj
@@ -8,10 +8,9 @@
/* Begin PBXBuildFile section */
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
- 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
+ 3DC46BC1B669DF8F5F059CA8 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8ACB38DC4FF4D6377774BF5F /* ExpoModulesProvider.swift */; };
3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */; };
- 4BF2FE6387FAE7A22C075035 /* Pods_Landscape.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE023FC01120ED0F85E7F551 /* Pods_Landscape.framework */; };
700B635B2A71DF860017F40F /* PocketUserAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 700B635A2A71DF860017F40F /* PocketUserAPI.swift */; };
700B635D2A71DFE90017F40F /* Contact.swift in Sources */ = {isa = PBXBuildFile; fileRef = 700B635C2A71DFE90017F40F /* Contact.swift */; };
700B63602A71E0810017F40F /* SettingsStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 700B635F2A71E0810017F40F /* SettingsStore.swift */; };
@@ -20,6 +19,8 @@
7036E3522ACD08E30020A9FB /* GroupChannelStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7036E3512ACD08E30020A9FB /* GroupChannelStore.swift */; };
7036E3542ACD0FC90020A9FB /* UserDefaultsStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7036E3532ACD0FC90020A9FB /* UserDefaultsStore.swift */; };
7036E3562ACD17600020A9FB /* ClubStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7036E3552ACD17600020A9FB /* ClubStore.swift */; };
+ 705D26452B7ECDF200F98AD6 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
+ 705D26482B7ECE5400F98AD6 /* Images-preview.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 705D26472B7ECE5400F98AD6 /* Images-preview.xcassets */; };
7083A16C2AFB01A30022404A /* TlonError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7083A16B2AFB01A30022404A /* TlonError.swift */; };
709FC0ED2AC1E25D00B0644D /* Club.swift in Sources */ = {isa = PBXBuildFile; fileRef = 709FC0EC2AC1E25D00B0644D /* Club.swift */; };
70A62C612A5A6B1A00EBED16 /* SimpleKeychain in Frameworks */ = {isa = PBXBuildFile; productRef = 70A62C602A5A6B1A00EBED16 /* SimpleKeychain */; };
@@ -35,6 +36,36 @@
70D3866F2A60A3B300AFB46E /* UrsusSigil in Frameworks */ = {isa = PBXBuildFile; productRef = 70D3866E2A60A3B300AFB46E /* UrsusSigil */; };
70D386712A60A3E600AFB46E /* UIColor+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D386702A60A3E600AFB46E /* UIColor+Extension.swift */; };
70D386722A61F2E400AFB46E /* main.jsbundle in Resources */ = {isa = PBXBuildFile; fileRef = 008F07F21AC5B25A0029DE68 /* main.jsbundle */; };
+ 70DBBFEA2B7C60B50021EA96 /* UrbitAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D386552A609BFC00AFB46E /* UrbitAPI.swift */; };
+ 70DBBFEB2B7C60B50021EA96 /* Club.swift in Sources */ = {isa = PBXBuildFile; fileRef = 709FC0EC2AC1E25D00B0644D /* Club.swift */; };
+ 70DBBFEC2B7C60B50021EA96 /* TlonError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7083A16B2AFB01A30022404A /* TlonError.swift */; };
+ 70DBBFED2B7C60B50021EA96 /* UserDefaultsStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7036E3532ACD0FC90020A9FB /* UserDefaultsStore.swift */; };
+ 70DBBFEE2B7C60B50021EA96 /* PocketNotificationsAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D386562A609BFC00AFB46E /* PocketNotificationsAPI.swift */; };
+ 70DBBFEF2B7C60B50021EA96 /* PocketAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D386572A609BFC00AFB46E /* PocketAPI.swift */; };
+ 70DBBFF02B7C60B50021EA96 /* PushNotificationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D386532A609BFC00AFB46E /* PushNotificationManager.swift */; };
+ 70DBBFF12B7C60B50021EA96 /* Contact.swift in Sources */ = {isa = PBXBuildFile; fileRef = 700B635C2A71DFE90017F40F /* Contact.swift */; };
+ 70DBBFF22B7C60B50021EA96 /* UrbitModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 70EAEAB62A57AAF200FE96E4 /* UrbitModule.m */; };
+ 70DBBFF32B7C60B50021EA96 /* INPerson+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D386662A60A37000AFB46E /* INPerson+Extension.swift */; };
+ 70DBBFF42B7C60B50021EA96 /* Error+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 701A09AF2B03081300D8F710 /* Error+Extension.swift */; };
+ 70DBBFF52B7C60B50021EA96 /* Group.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D3866A2A60A38400AFB46E /* Group.swift */; };
+ 70DBBFF62B7C60B50021EA96 /* SettingsStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 700B635F2A71E0810017F40F /* SettingsStore.swift */; };
+ 70DBBFF72B7C60B50021EA96 /* UIColor+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D386702A60A3E600AFB46E /* UIColor+Extension.swift */; };
+ 70DBBFF82B7C60B50021EA96 /* PocketUserAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 700B635A2A71DF860017F40F /* PocketUserAPI.swift */; };
+ 70DBBFF92B7C60B50021EA96 /* ClubStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7036E3552ACD17600020A9FB /* ClubStore.swift */; };
+ 70DBBFFA2B7C60B50021EA96 /* PocketChatAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D386612A609CE100AFB46E /* PocketChatAPI.swift */; };
+ 70DBBFFB2B7C60B50021EA96 /* GroupChannelStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7036E3512ACD08E30020A9FB /* GroupChannelStore.swift */; };
+ 70DBBFFC2B7C60B50021EA96 /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
+ 70DBBFFD2B7C60B50021EA96 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
+ 70DBBFFF2B7C60B50021EA96 /* UrbitModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70EAEAB42A57A99100FE96E4 /* UrbitModule.swift */; };
+ 70DBC0002B7C60B50021EA96 /* ContactStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 700B63612A71E0D70017F40F /* ContactStore.swift */; };
+ 70DBC0012B7C60B50021EA96 /* Yarn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D386692A60A38400AFB46E /* Yarn.swift */; };
+ 70DBC0032B7C60B50021EA96 /* UrsusSigil in Frameworks */ = {isa = PBXBuildFile; productRef = 70DBBFE42B7C60B50021EA96 /* UrsusSigil */; };
+ 70DBC0042B7C60B50021EA96 /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 70DBBFE22B7C60B50021EA96 /* Alamofire */; };
+ 70DBC0052B7C60B50021EA96 /* SimpleKeychain in Frameworks */ = {isa = PBXBuildFile; productRef = 70DBBFE02B7C60B50021EA96 /* SimpleKeychain */; };
+ 70DBC0082B7C60B50021EA96 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; };
+ 70DBC00B2B7C60B50021EA96 /* SplashScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */; };
+ 70DBC00C2B7C60B50021EA96 /* main.jsbundle in Resources */ = {isa = PBXBuildFile; fileRef = 008F07F21AC5B25A0029DE68 /* main.jsbundle */; };
+ 70DBC0182B7C61130021EA96 /* GoogleService-Info-io.tlon.groups.preview.plist in Resources */ = {isa = PBXBuildFile; fileRef = 70DBC0172B7C61130021EA96 /* GoogleService-Info-io.tlon.groups.preview.plist */; };
70EAEAB52A57A99100FE96E4 /* UrbitModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70EAEAB42A57A99100FE96E4 /* UrbitModule.swift */; };
70EAEAB92A57CE2A00FE96E4 /* UrbitModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 70EAEAB62A57AAF200FE96E4 /* UrbitModule.m */; };
70F99A982B2D2B6E00D77256 /* YarnTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70F99A972B2D2B6E00D77256 /* YarnTests.swift */; };
@@ -58,9 +89,11 @@
70F99AAA2B2D337600D77256 /* SettingsStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 700B635F2A71E0810017F40F /* SettingsStore.swift */; };
70F99AAB2B2D337600D77256 /* UserDefaultsStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7036E3532ACD0FC90020A9FB /* UserDefaultsStore.swift */; };
70F99AAC2B2D338E00D77256 /* UrbitModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70EAEAB42A57A99100FE96E4 /* UrbitModule.swift */; };
- B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */; };
+ 938C2E18DC4A4F3336AECD7E /* Pods_common_Landscape.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06B83AD4DCBF09E1B8DCC1E4 /* Pods_common_Landscape.framework */; };
BB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; };
- C184662C2ABBDFF1008EA8C0 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = C184662B2ABBDFF1008EA8C0 /* GoogleService-Info.plist */; };
+ C184662C2ABBDFF1008EA8C0 /* GoogleService-Info-io.tlon.groups.plist in Resources */ = {isa = PBXBuildFile; fileRef = C184662B2ABBDFF1008EA8C0 /* GoogleService-Info-io.tlon.groups.plist */; };
+ C515841C010C34E3FD5C5F70 /* Pods_common_Landscape_preview.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD26F8172CFE23D3CFBE5694 /* Pods_common_Landscape_preview.framework */; };
+ D0A57BA86BAF5327C2EECEE4 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = F61ADD28CFDBC6EFBD36E3DA /* ExpoModulesProvider.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -75,12 +108,14 @@
/* Begin PBXFileReference section */
008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; };
+ 06B83AD4DCBF09E1B8DCC1E4 /* Pods_common_Landscape.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_common_Landscape.framework; sourceTree = BUILT_PRODUCTS_DIR; };
13B07F961A680F5B00A75B9A /* Landscape.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Landscape.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Landscape/AppDelegate.h; sourceTree = ""; };
13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = Landscape/AppDelegate.mm; sourceTree = ""; };
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Landscape/Images.xcassets; sourceTree = ""; };
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Landscape/Info.plist; sourceTree = ""; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Landscape/main.m; sourceTree = ""; };
+ 3B0B210E999A7E0E1A345468 /* Pods-common-Landscape-preview.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-common-Landscape-preview.release.xcconfig"; path = "Target Support Files/Pods-common-Landscape-preview/Pods-common-Landscape-preview.release.xcconfig"; sourceTree = ""; };
6C2E3173556A471DD304B334 /* Pods-Landscape.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Landscape.debug.xcconfig"; path = "Target Support Files/Pods-Landscape/Pods-Landscape.debug.xcconfig"; sourceTree = ""; };
700B635A2A71DF860017F40F /* PocketUserAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PocketUserAPI.swift; sourceTree = ""; };
700B635C2A71DFE90017F40F /* Contact.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Contact.swift; sourceTree = ""; };
@@ -90,6 +125,7 @@
7036E3512ACD08E30020A9FB /* GroupChannelStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupChannelStore.swift; sourceTree = ""; };
7036E3532ACD0FC90020A9FB /* UserDefaultsStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaultsStore.swift; sourceTree = ""; };
7036E3552ACD17600020A9FB /* ClubStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClubStore.swift; sourceTree = ""; };
+ 705D26472B7ECE5400F98AD6 /* Images-preview.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = "Images-preview.xcassets"; path = "Landscape/Images-preview.xcassets"; sourceTree = ""; };
7083A16B2AFB01A30022404A /* TlonError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TlonError.swift; sourceTree = ""; };
709FC0EC2AC1E25D00B0644D /* Club.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Club.swift; sourceTree = ""; };
70D386532A609BFC00AFB46E /* PushNotificationManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PushNotificationManager.swift; sourceTree = ""; };
@@ -101,17 +137,24 @@
70D386692A60A38400AFB46E /* Yarn.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Yarn.swift; sourceTree = ""; };
70D3866A2A60A38400AFB46E /* Group.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Group.swift; sourceTree = ""; };
70D386702A60A3E600AFB46E /* UIColor+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+Extension.swift"; sourceTree = ""; };
+ 70DBC0152B7C60B50021EA96 /* Landscape-preview.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Landscape-preview.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 70DBC0172B7C61130021EA96 /* GoogleService-Info-io.tlon.groups.preview.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info-io.tlon.groups.preview.plist"; sourceTree = ""; };
70EAEAB42A57A99100FE96E4 /* UrbitModule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = UrbitModule.swift; path = Landscape/UrbitModule.swift; sourceTree = ""; };
70EAEAB62A57AAF200FE96E4 /* UrbitModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UrbitModule.m; path = Landscape/UrbitModule.m; sourceTree = ""; };
70EAEAB72A57AB8400FE96E4 /* Landscape-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "Landscape-Bridging-Header.h"; path = "Landscape/Landscape-Bridging-Header.h"; sourceTree = ""; };
70F99A8E2B2D2B5700D77256 /* LandscapeTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LandscapeTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
70F99A972B2D2B6E00D77256 /* YarnTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YarnTests.swift; sourceTree = ""; };
+ 74633B6584F10A6AA2FEE339 /* Pods-common-Landscape.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-common-Landscape.release.xcconfig"; path = "Target Support Files/Pods-common-Landscape/Pods-common-Landscape.release.xcconfig"; sourceTree = ""; };
7A4D352CD337FB3A3BF06240 /* Pods-Landscape.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Landscape.release.xcconfig"; path = "Target Support Files/Pods-Landscape/Pods-Landscape.release.xcconfig"; sourceTree = ""; };
+ 8ACB38DC4FF4D6377774BF5F /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-common-Landscape-preview/ExpoModulesProvider.swift"; sourceTree = ""; };
AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = Landscape/SplashScreen.storyboard; sourceTree = ""; };
+ B35AC6CF758CAFC9D112A69F /* Pods-common-Landscape.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-common-Landscape.debug.xcconfig"; path = "Target Support Files/Pods-common-Landscape/Pods-common-Landscape.debug.xcconfig"; sourceTree = ""; };
BB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Expo.plist; sourceTree = ""; };
- C184662B2ABBDFF1008EA8C0 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; };
- CE023FC01120ED0F85E7F551 /* Pods_Landscape.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Landscape.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ C184662B2ABBDFF1008EA8C0 /* GoogleService-Info-io.tlon.groups.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info-io.tlon.groups.plist"; sourceTree = ""; };
+ CD26F8172CFE23D3CFBE5694 /* Pods_common_Landscape_preview.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_common_Landscape_preview.framework; sourceTree = BUILT_PRODUCTS_DIR; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
+ EE042EA448A634B1DCCA2092 /* Pods-common-Landscape-preview.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-common-Landscape-preview.debug.xcconfig"; path = "Target Support Files/Pods-common-Landscape-preview/Pods-common-Landscape-preview.debug.xcconfig"; sourceTree = ""; };
+ F61ADD28CFDBC6EFBD36E3DA /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-common-Landscape/ExpoModulesProvider.swift"; sourceTree = ""; };
FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-Landscape/ExpoModulesProvider.swift"; sourceTree = ""; };
/* End PBXFileReference section */
@@ -123,7 +166,18 @@
70D3866F2A60A3B300AFB46E /* UrsusSigil in Frameworks */,
70D386482A6098F800AFB46E /* Alamofire in Frameworks */,
70A62C612A5A6B1A00EBED16 /* SimpleKeychain in Frameworks */,
- 4BF2FE6387FAE7A22C075035 /* Pods_Landscape.framework in Frameworks */,
+ 938C2E18DC4A4F3336AECD7E /* Pods_common_Landscape.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 70DBC0022B7C60B50021EA96 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 70DBC0032B7C60B50021EA96 /* UrsusSigil in Frameworks */,
+ 70DBC0042B7C60B50021EA96 /* Alamofire in Frameworks */,
+ 70DBC0052B7C60B50021EA96 /* SimpleKeychain in Frameworks */,
+ C515841C010C34E3FD5C5F70 /* Pods_common_Landscape_preview.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -145,6 +199,7 @@
13B07FAF1A68108700A75B9A /* AppDelegate.h */,
13B07FB01A68108700A75B9A /* AppDelegate.mm */,
13B07FB51A68108700A75B9A /* Images.xcassets */,
+ 705D26472B7ECE5400F98AD6 /* Images-preview.xcassets */,
13B07FB61A68108700A75B9A /* Info.plist */,
13B07FB71A68108700A75B9A /* main.m */,
AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */,
@@ -164,11 +219,20 @@
isa = PBXGroup;
children = (
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
- CE023FC01120ED0F85E7F551 /* Pods_Landscape.framework */,
+ 06B83AD4DCBF09E1B8DCC1E4 /* Pods_common_Landscape.framework */,
+ CD26F8172CFE23D3CFBE5694 /* Pods_common_Landscape_preview.framework */,
);
name = Frameworks;
sourceTree = "";
};
+ 3C9B45BB9D20806D92CA3A84 /* Landscape-preview */ = {
+ isa = PBXGroup;
+ children = (
+ 8ACB38DC4FF4D6377774BF5F /* ExpoModulesProvider.swift */,
+ );
+ name = "Landscape-preview";
+ sourceTree = "";
+ };
700B635E2A71E06E0017F40F /* Storage */ = {
isa = PBXGroup;
children = (
@@ -245,7 +309,8 @@
83CBB9F61A601CBA00E9B192 = {
isa = PBXGroup;
children = (
- C184662B2ABBDFF1008EA8C0 /* GoogleService-Info.plist */,
+ C184662B2ABBDFF1008EA8C0 /* GoogleService-Info-io.tlon.groups.plist */,
+ 70DBC0172B7C61130021EA96 /* GoogleService-Info-io.tlon.groups.preview.plist */,
13B07FAE1A68108700A75B9A /* Landscape */,
70F99A8F2B2D2B5700D77256 /* LandscapeTests */,
832341AE1AAA6A7D00B99B32 /* Libraries */,
@@ -264,6 +329,7 @@
children = (
13B07F961A680F5B00A75B9A /* Landscape.app */,
70F99A8E2B2D2B5700D77256 /* LandscapeTests.xctest */,
+ 70DBC0152B7C60B50021EA96 /* Landscape-preview.app */,
);
name = Products;
sourceTree = "";
@@ -272,6 +338,7 @@
isa = PBXGroup;
children = (
FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */,
+ F61ADD28CFDBC6EFBD36E3DA /* ExpoModulesProvider.swift */,
);
name = Landscape;
sourceTree = "";
@@ -290,6 +357,10 @@
children = (
6C2E3173556A471DD304B334 /* Pods-Landscape.debug.xcconfig */,
7A4D352CD337FB3A3BF06240 /* Pods-Landscape.release.xcconfig */,
+ B35AC6CF758CAFC9D112A69F /* Pods-common-Landscape.debug.xcconfig */,
+ 74633B6584F10A6AA2FEE339 /* Pods-common-Landscape.release.xcconfig */,
+ EE042EA448A634B1DCCA2092 /* Pods-common-Landscape-preview.debug.xcconfig */,
+ 3B0B210E999A7E0E1A345468 /* Pods-common-Landscape-preview.release.xcconfig */,
);
path = Pods;
sourceTree = "";
@@ -298,6 +369,7 @@
isa = PBXGroup;
children = (
92DBD88DE9BF7D494EA9DA96 /* Landscape */,
+ 3C9B45BB9D20806D92CA3A84 /* Landscape-preview */,
);
name = ExpoModulesProviders;
sourceTree = "";
@@ -315,11 +387,10 @@
13B07F871A680F5B00A75B9A /* Sources */,
13B07F8C1A680F5B00A75B9A /* Frameworks */,
13B07F8E1A680F5B00A75B9A /* Resources */,
+ 70DBC01A2B7C61690021EA96 /* Copy GoogleService-Info.plist */,
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */,
A8F420A9D9FA89D6A8CAB3CB /* [CP] Embed Pods Frameworks */,
- 16BF6871758CF5215ECCA862 /* [CP-User] [RNFB] Core Configuration */,
- 996699F1450D9A26847DC9A6 /* [CP-User] [RNFB] Crashlytics Configuration */,
);
buildRules = (
);
@@ -335,6 +406,35 @@
productReference = 13B07F961A680F5B00A75B9A /* Landscape.app */;
productType = "com.apple.product-type.application";
};
+ 70DBBFDF2B7C60B50021EA96 /* Landscape-preview */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 70DBC0122B7C60B50021EA96 /* Build configuration list for PBXNativeTarget "Landscape-preview" */;
+ buildPhases = (
+ 70DBBFE62B7C60B50021EA96 /* [CP] Check Pods Manifest.lock */,
+ 70DBBFE72B7C60B50021EA96 /* Start Packager */,
+ 70DBBFE82B7C60B50021EA96 /* [Expo] Configure project */,
+ 70DBBFE92B7C60B50021EA96 /* Sources */,
+ 70DBC0022B7C60B50021EA96 /* Frameworks */,
+ 70DBC0072B7C60B50021EA96 /* Resources */,
+ 70DBC01B2B7C61A20021EA96 /* Copy GoogleService-Info.plist */,
+ 70DBC00D2B7C60B50021EA96 /* Bundle React Native code and images */,
+ 70DBC00E2B7C60B50021EA96 /* [CP] Copy Pods Resources */,
+ 70DBC00F2B7C60B50021EA96 /* [CP] Embed Pods Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "Landscape-preview";
+ packageProductDependencies = (
+ 70DBBFE02B7C60B50021EA96 /* SimpleKeychain */,
+ 70DBBFE22B7C60B50021EA96 /* Alamofire */,
+ 70DBBFE42B7C60B50021EA96 /* UrsusSigil */,
+ );
+ productName = Landscape;
+ productReference = 70DBC0152B7C60B50021EA96 /* Landscape-preview.app */;
+ productType = "com.apple.product-type.application";
+ };
70F99A8D2B2D2B5700D77256 /* LandscapeTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 70F99A962B2D2B5700D77256 /* Build configuration list for PBXNativeTarget "LandscapeTests" */;
@@ -382,7 +482,7 @@
mainGroup = 83CBB9F61A601CBA00E9B192;
packageReferences = (
70A62C5F2A5A6B1A00EBED16 /* XCRemoteSwiftPackageReference "SimpleKeychain" */,
- 70D386462A6098F800AFB46E /* XCRemoteSwiftPackageReference "Alamofire.git" */,
+ 70D386462A6098F800AFB46E /* XCRemoteSwiftPackageReference "Alamofire" */,
70D3866D2A60A3B300AFB46E /* XCRemoteSwiftPackageReference "UrsusSigil" */,
);
productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
@@ -390,6 +490,7 @@
projectRoot = "";
targets = (
13B07F861A680F5B00A75B9A /* Landscape */,
+ 70DBBFDF2B7C60B50021EA96 /* Landscape-preview */,
70F99A8D2B2D2B5700D77256 /* LandscapeTests */,
);
};
@@ -401,13 +502,25 @@
buildActionMask = 2147483647;
files = (
BB2F792D24A3F905000567C9 /* Expo.plist in Resources */,
- 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
- C184662C2ABBDFF1008EA8C0 /* GoogleService-Info.plist in Resources */,
+ 705D26452B7ECDF200F98AD6 /* Images.xcassets in Resources */,
+ C184662C2ABBDFF1008EA8C0 /* GoogleService-Info-io.tlon.groups.plist in Resources */,
3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */,
70D386722A61F2E400AFB46E /* main.jsbundle in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
+ 70DBC0072B7C60B50021EA96 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 70DBC0082B7C60B50021EA96 /* Expo.plist in Resources */,
+ 705D26482B7ECE5400F98AD6 /* Images-preview.xcassets in Resources */,
+ 70DBC00B2B7C60B50021EA96 /* SplashScreen.storyboard in Resources */,
+ 70DBC0182B7C61130021EA96 /* GoogleService-Info-io.tlon.groups.preview.plist in Resources */,
+ 70DBC00C2B7C60B50021EA96 /* main.jsbundle in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
70F99A8C2B2D2B5700D77256 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -448,33 +561,95 @@
outputFileListPaths = (
);
outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-Landscape-checkManifestLockResult.txt",
+ "$(DERIVED_FILE_DIR)/Pods-common-Landscape-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 70DBBFE62B7C60B50021EA96 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-common-Landscape-preview-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 16BF6871758CF5215ECCA862 /* [CP-User] [RNFB] Core Configuration */ = {
+ 70DBBFE72B7C60B50021EA96 /* Start Packager */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
+ inputFileListPaths = (
+ );
inputPaths = (
- "$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)",
);
- name = "[CP-User] [RNFB] Core Configuration";
+ name = "Start Packager";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\nset -e\n\n_MAX_LOOKUPS=2;\n_SEARCH_RESULT=''\n_RN_ROOT_EXISTS=''\n_CURRENT_LOOKUPS=1\n_JSON_ROOT=\"'react-native'\"\n_JSON_FILE_NAME='firebase.json'\n_JSON_OUTPUT_BASE64='e30=' # { }\n_CURRENT_SEARCH_DIR=${PROJECT_DIR}\n_PLIST_BUDDY=/usr/libexec/PlistBuddy\n_TARGET_PLIST=\"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n_DSYM_PLIST=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n# plist arrays\n_PLIST_ENTRY_KEYS=()\n_PLIST_ENTRY_TYPES=()\n_PLIST_ENTRY_VALUES=()\n\nfunction setPlistValue {\n echo \"info: setting plist entry '$1' of type '$2' in file '$4'\"\n ${_PLIST_BUDDY} -c \"Add :$1 $2 '$3'\" $4 || echo \"info: '$1' already exists\"\n}\n\nfunction getFirebaseJsonKeyValue () {\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$1'); puts output[$_JSON_ROOT]['$2']\"\n else\n echo \"\"\n fi;\n}\n\nfunction jsonBoolToYesNo () {\n if [[ $1 == \"false\" ]]; then\n echo \"NO\"\n elif [[ $1 == \"true\" ]]; then\n echo \"YES\"\n else echo \"NO\"\n fi\n}\n\necho \"info: -> RNFB build script started\"\necho \"info: 1) Locating ${_JSON_FILE_NAME} file:\"\n\nif [[ -z ${_CURRENT_SEARCH_DIR} ]]; then\n _CURRENT_SEARCH_DIR=$(pwd)\nfi;\n\nwhile true; do\n _CURRENT_SEARCH_DIR=$(dirname \"$_CURRENT_SEARCH_DIR\")\n if [[ \"$_CURRENT_SEARCH_DIR\" == \"/\" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then break; fi;\n echo \"info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME} file.\"\n _SEARCH_RESULT=$(find \"$_CURRENT_SEARCH_DIR\" -maxdepth 2 -name ${_JSON_FILE_NAME} -print | /usr/bin/head -n 1)\n if [[ ${_SEARCH_RESULT} ]]; then\n echo \"info: ${_JSON_FILE_NAME} found at $_SEARCH_RESULT\"\n break;\n fi;\n _CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))\ndone\n\nif [[ ${_SEARCH_RESULT} ]]; then\n _JSON_OUTPUT_RAW=$(cat \"${_SEARCH_RESULT}\")\n _RN_ROOT_EXISTS=$(ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"python3 not found, firebase.json file processing error.\" && exit 1; fi\n _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"', '\"'rb'\"').read())['${_JSON_ROOT}']), '\"'utf-8'\"')).decode())' || echo \"e30=\")\n fi\n\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n\n # config.app_data_collection_default_enabled\n _APP_DATA_COLLECTION_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_data_collection_default_enabled\")\n if [[ $_APP_DATA_COLLECTION_ENABLED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseDataCollectionDefaultEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_DATA_COLLECTION_ENABLED\")\")\n fi\n\n # config.analytics_auto_collection_enabled\n _ANALYTICS_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_auto_collection_enabled\")\n if [[ $_ANALYTICS_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_COLLECTION\")\")\n fi\n\n # config.analytics_collection_deactivated\n _ANALYTICS_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_collection_deactivated\")\n if [[ $_ANALYTICS_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_DEACTIVATED\")\")\n fi\n\n # config.analytics_idfv_collection_enabled\n _ANALYTICS_IDFV_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_idfv_collection_enabled\")\n if [[ $_ANALYTICS_IDFV_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_IDFV_COLLECTION\")\")\n fi\n\n # config.analytics_default_allow_ad_personalization_signals\n _ANALYTICS_PERSONALIZATION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_personalization_signals\")\n if [[ $_ANALYTICS_PERSONALIZATION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_PERSONALIZATION\")\")\n fi\n\n # config.analytics_registration_with_ad_network_enabled\n _ANALYTICS_REGISTRATION_WITH_AD_NETWORK=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_registration_with_ad_network_enabled\")\n if [[ $_ANALYTICS_REGISTRATION_WITH_AD_NETWORK ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_REGISTRATION_WITH_AD_NETWORK_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_REGISTRATION_WITH_AD_NETWORK\")\")\n fi\n\n # config.google_analytics_automatic_screen_reporting_enabled\n _ANALYTICS_AUTO_SCREEN_REPORTING=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_automatic_screen_reporting_enabled\")\n if [[ $_ANALYTICS_AUTO_SCREEN_REPORTING ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAutomaticScreenReportingEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_SCREEN_REPORTING\")\")\n fi\n\n # config.perf_auto_collection_enabled\n _PERF_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_auto_collection_enabled\")\n if [[ $_PERF_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_enabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_AUTO_COLLECTION\")\")\n fi\n\n # config.perf_collection_deactivated\n _PERF_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_collection_deactivated\")\n if [[ $_PERF_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_deactivated\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_DEACTIVATED\")\")\n fi\n\n # config.messaging_auto_init_enabled\n _MESSAGING_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"messaging_auto_init_enabled\")\n if [[ $_MESSAGING_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseMessagingAutoInitEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_MESSAGING_AUTO_INIT\")\")\n fi\n\n # config.in_app_messaging_auto_colllection_enabled\n _FIAM_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"in_app_messaging_auto_collection_enabled\")\n if [[ $_FIAM_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseInAppMessagingAutomaticDataCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_FIAM_AUTO_INIT\")\")\n fi\n\n # config.app_check_token_auto_refresh\n _APP_CHECK_TOKEN_AUTO_REFRESH=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_check_token_auto_refresh\")\n if [[ $_APP_CHECK_TOKEN_AUTO_REFRESH ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAppCheckTokenAutoRefreshEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_CHECK_TOKEN_AUTO_REFRESH\")\")\n fi\n\n # config.crashlytics_disable_auto_disabler - undocumented for now - mainly for debugging, document if becomes useful\n _CRASHLYTICS_AUTO_DISABLE_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"crashlytics_disable_auto_disabler\")\n if [[ $_CRASHLYTICS_AUTO_DISABLE_ENABLED == \"true\" ]]; then\n echo \"Disabled Crashlytics auto disabler.\" # do nothing\n else\n _PLIST_ENTRY_KEYS+=(\"FirebaseCrashlyticsCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"NO\")\n fi\nelse\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n echo \"warning: A firebase.json file was not found, whilst this file is optional it is recommended to include it to configure firebase services in React Native Firebase.\"\nfi;\n\necho \"info: 2) Injecting Info.plist entries: \"\n\n# Log out the keys we're adding\nfor i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n echo \" -> $i) ${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\"\ndone\n\nfor plist in \"${_TARGET_PLIST}\" \"${_DSYM_PLIST}\" ; do\n if [[ -f \"${plist}\" ]]; then\n\n # paths with spaces break the call to setPlistValue. temporarily modify\n # the shell internal field separator variable (IFS), which normally\n # includes spaces, to consist only of line breaks\n oldifs=$IFS\n IFS=\"\n\"\n\n for i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n setPlistValue \"${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\" \"${plist}\"\n done\n\n # restore the original internal field separator value\n IFS=$oldifs\n else\n echo \"warning: A Info.plist build output file was not found (${plist})\"\n fi\ndone\n\necho \"info: <- RNFB build script finished\"\n";
+ shellScript = "if [[ -f \"$PODS_ROOT/../.xcode.env\" ]]; then\n source \"$PODS_ROOT/../.xcode.env\"\nfi\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.local\"\nfi\n\nexport RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > `$NODE_BINARY --print \"require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/.packager.env'\"`\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open `$NODE_BINARY --print \"require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/launchPackager.command'\"` || echo \"Can't start packager automatically\"\n fi\nfi\n";
+ showEnvVarsInLog = 0;
};
- 800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = {
+ 70DBBFE82B7C60B50021EA96 /* [Expo] Configure project */ = {
isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
+ inputFileListPaths = (
+ );
inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Landscape/Pods-Landscape-resources.sh",
+ );
+ name = "[Expo] Configure project";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-common-Landscape-preview/expo-configure-project.sh\"\n";
+ };
+ 70DBC00D2B7C60B50021EA96 /* Bundle React Native code and images */ = {
+ isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Bundle React Native code and images";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "if [[ -f \"$PODS_ROOT/../.xcode.env\" ]]; then\n source \"$PODS_ROOT/../.xcode.env\"\nfi\nif [[ -f \"$PODS_ROOT/../.xcode.env.local\" ]]; then\n source \"$PODS_ROOT/../.xcode.env.local\"\nfi\n\n# The project root by default is one level up from the ios directory\nexport PROJECT_ROOT=\"$PROJECT_DIR\"/..\n\nif [[ \"$CONFIGURATION\" = *Debug* ]]; then\n export SKIP_BUNDLING=1\nfi\nif [[ -z \"$ENTRY_FILE\" ]]; then\n # Set the entry JS file using the bundler's entry resolution.\n export ENTRY_FILE=\"$(\"$NODE_BINARY\" -e \"require('expo/scripts/resolveAppEntry')\" $PROJECT_ROOT ios relative | tail -n 1)\"\nfi\n\n`\"$NODE_BINARY\" --print \"require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/react-native-xcode.sh'\"`\n\n";
+ };
+ 70DBC00E2B7C60B50021EA96 /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-common-Landscape-preview/Pods-common-Landscape-preview-resources.sh",
"${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/EXConstants.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/EXUpdates/EXUpdates.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle",
@@ -487,22 +662,84 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Landscape/Pods-Landscape-resources.sh\"\n";
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-common-Landscape-preview/Pods-common-Landscape-preview-resources.sh\"\n";
showEnvVarsInLog = 0;
};
- 996699F1450D9A26847DC9A6 /* [CP-User] [RNFB] Crashlytics Configuration */ = {
+ 70DBC00F2B7C60B50021EA96 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-common-Landscape-preview/Pods-common-Landscape-preview-frameworks.sh",
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputPaths = (
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-common-Landscape-preview/Pods-common-Landscape-preview-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 70DBC01A2B7C61690021EA96 /* Copy GoogleService-Info.plist */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Copy GoogleService-Info.plist";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "PATH_TO_CONFIG=$SRCROOT/GoogleService-Info-$PRODUCT_BUNDLE_IDENTIFIER.plist\nFILENAME_IN_BUNDLE=GoogleService-Info.plist\nBUILD_APP_DIR=${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app\necho cp $PATH_TO_CONFIG \"$BUILD_APP_DIR/$FILENAME_IN_BUNDLE\"\ncp $PATH_TO_CONFIG \"$BUILD_APP_DIR/$FILENAME_IN_BUNDLE\"\n";
+ };
+ 70DBC01B2B7C61A20021EA96 /* Copy GoogleService-Info.plist */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Copy GoogleService-Info.plist";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "PATH_TO_CONFIG=$SRCROOT/GoogleService-Info-$PRODUCT_BUNDLE_IDENTIFIER.plist\nFILENAME_IN_BUNDLE=GoogleService-Info.plist\nBUILD_APP_DIR=${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app\necho cp $PATH_TO_CONFIG \"$BUILD_APP_DIR/$FILENAME_IN_BUNDLE\"\ncp $PATH_TO_CONFIG \"$BUILD_APP_DIR/$FILENAME_IN_BUNDLE\"\n";
+ };
+ 800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
- "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}",
- "$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)",
+ "${PODS_ROOT}/Target Support Files/Pods-common-Landscape/Pods-common-Landscape-resources.sh",
+ "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/EXConstants.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/EXUpdates/EXUpdates.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/RCTI18nStrings.bundle",
+ );
+ name = "[CP] Copy Pods Resources";
+ outputPaths = (
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXConstants.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXUpdates.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCTI18nStrings.bundle",
);
- name = "[CP-User] [RNFB] Crashlytics Configuration";
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\nset -e\n\nif [[ ${PODS_ROOT} ]]; then\n echo \"info: Exec FirebaseCrashlytics Run from Pods\"\n \"${PODS_ROOT}/FirebaseCrashlytics/run\"\nelse\n echo \"info: Exec FirebaseCrashlytics Run from framework\"\n \"${PROJECT_DIR}/FirebaseCrashlytics.framework/run\"\nfi\n";
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-common-Landscape/Pods-common-Landscape-resources.sh\"\n";
+ showEnvVarsInLog = 0;
};
A8F420A9D9FA89D6A8CAB3CB /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
@@ -510,7 +747,7 @@
files = (
);
inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Landscape/Pods-Landscape-frameworks.sh",
+ "${PODS_ROOT}/Target Support Files/Pods-common-Landscape/Pods-common-Landscape-frameworks.sh",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
);
name = "[CP] Embed Pods Frameworks";
@@ -519,7 +756,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Landscape/Pods-Landscape-frameworks.sh\"\n";
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-common-Landscape/Pods-common-Landscape-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
E99812A83EA5B4CD5D501DE3 /* [Expo] Configure project */ = {
@@ -539,7 +776,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-Landscape/expo-configure-project.sh\"\n";
+ shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-common-Landscape/expo-configure-project.sh\"\n";
};
FD10A7F022414F080027D42C /* Start Packager */ = {
isa = PBXShellScriptBuildPhase;
@@ -587,10 +824,41 @@
7036E3522ACD08E30020A9FB /* GroupChannelStore.swift in Sources */,
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */,
13B07FC11A68108700A75B9A /* main.m in Sources */,
- B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */,
70EAEAB52A57A99100FE96E4 /* UrbitModule.swift in Sources */,
700B63622A71E0D70017F40F /* ContactStore.swift in Sources */,
70D3866B2A60A38400AFB46E /* Yarn.swift in Sources */,
+ D0A57BA86BAF5327C2EECEE4 /* ExpoModulesProvider.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 70DBBFE92B7C60B50021EA96 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 70DBBFEA2B7C60B50021EA96 /* UrbitAPI.swift in Sources */,
+ 70DBBFEB2B7C60B50021EA96 /* Club.swift in Sources */,
+ 70DBBFEC2B7C60B50021EA96 /* TlonError.swift in Sources */,
+ 70DBBFED2B7C60B50021EA96 /* UserDefaultsStore.swift in Sources */,
+ 70DBBFEE2B7C60B50021EA96 /* PocketNotificationsAPI.swift in Sources */,
+ 70DBBFEF2B7C60B50021EA96 /* PocketAPI.swift in Sources */,
+ 70DBBFF02B7C60B50021EA96 /* PushNotificationManager.swift in Sources */,
+ 70DBBFF12B7C60B50021EA96 /* Contact.swift in Sources */,
+ 70DBBFF22B7C60B50021EA96 /* UrbitModule.m in Sources */,
+ 70DBBFF32B7C60B50021EA96 /* INPerson+Extension.swift in Sources */,
+ 70DBBFF42B7C60B50021EA96 /* Error+Extension.swift in Sources */,
+ 70DBBFF52B7C60B50021EA96 /* Group.swift in Sources */,
+ 70DBBFF62B7C60B50021EA96 /* SettingsStore.swift in Sources */,
+ 70DBBFF72B7C60B50021EA96 /* UIColor+Extension.swift in Sources */,
+ 70DBBFF82B7C60B50021EA96 /* PocketUserAPI.swift in Sources */,
+ 70DBBFF92B7C60B50021EA96 /* ClubStore.swift in Sources */,
+ 70DBBFFA2B7C60B50021EA96 /* PocketChatAPI.swift in Sources */,
+ 70DBBFFB2B7C60B50021EA96 /* GroupChannelStore.swift in Sources */,
+ 70DBBFFC2B7C60B50021EA96 /* AppDelegate.mm in Sources */,
+ 70DBBFFD2B7C60B50021EA96 /* main.m in Sources */,
+ 70DBBFFF2B7C60B50021EA96 /* UrbitModule.swift in Sources */,
+ 70DBC0002B7C60B50021EA96 /* ContactStore.swift in Sources */,
+ 70DBC0012B7C60B50021EA96 /* Yarn.swift in Sources */,
+ 3DC46BC1B669DF8F5F059CA8 /* ExpoModulesProvider.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -635,14 +903,15 @@
/* Begin XCBuildConfiguration section */
13B07F941A680F5B00A75B9A /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 6C2E3173556A471DD304B334 /* Pods-Landscape.debug.xcconfig */;
+ baseConfigurationReference = B35AC6CF758CAFC9D112A69F /* Pods-common-Landscape.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_DEBUG_INFORMATION_LEVEL = "DWARF with dSYM File";
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Landscape/Landscape.entitlements;
- CURRENT_PROJECT_VERSION = 44;
+ CURRENT_PROJECT_VERSION = 45;
DEVELOPMENT_TEAM = XU9PR2N722;
+ DISPLAY_NAME = Tlon;
ENABLE_BITCODE = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
@@ -653,14 +922,14 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 3.1.3;
+ MARKETING_VERSION = 4.0.0;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-lc++",
);
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
- PRODUCT_BUNDLE_IDENTIFIER = io.tlon.groups.staging;
+ PRODUCT_BUNDLE_IDENTIFIER = io.tlon.groups;
PRODUCT_NAME = Landscape;
"SWIFT_OBJC_BRIDGING_HEADER[arch=*]" = "$(SRCROOT)/$(PROJECT_NAME)/$(SWIFT_MODULE_NAME)-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -672,27 +941,28 @@
};
13B07F951A680F5B00A75B9A /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 7A4D352CD337FB3A3BF06240 /* Pods-Landscape.release.xcconfig */;
+ baseConfigurationReference = 74633B6584F10A6AA2FEE339 /* Pods-common-Landscape.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_DEBUG_INFORMATION_LEVEL = "DWARF with dSYM File";
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Landscape/Landscape.entitlements;
- CURRENT_PROJECT_VERSION = 44;
+ CURRENT_PROJECT_VERSION = 45;
DEVELOPMENT_TEAM = XU9PR2N722;
+ DISPLAY_NAME = Tlon;
INFOPLIST_FILE = Landscape/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 3.1.3;
+ MARKETING_VERSION = 4.0.0;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-lc++",
);
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
- PRODUCT_BUNDLE_IDENTIFIER = io.tlon.groups.staging;
+ PRODUCT_BUNDLE_IDENTIFIER = io.tlon.groups;
PRODUCT_NAME = Landscape;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(PROJECT_NAME)/$(SWIFT_MODULE_NAME)-Bridging-Header.h";
SWIFT_VERSION = 5.0;
@@ -701,6 +971,78 @@
};
name = Release;
};
+ 70DBC0132B7C60B50021EA96 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = EE042EA448A634B1DCCA2092 /* Pods-common-Landscape-preview.debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_DEBUG_INFORMATION_LEVEL = "DWARF with dSYM File";
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_ENTITLEMENTS = Landscape/Landscape.entitlements;
+ CURRENT_PROJECT_VERSION = 45;
+ DEVELOPMENT_TEAM = XU9PR2N722;
+ DISPLAY_NAME = "Tlon - Preview";
+ ENABLE_BITCODE = NO;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "FB_SONARKIT_ENABLED=1",
+ );
+ INFOPLIST_FILE = Landscape/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ MARKETING_VERSION = 4.0.0;
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ "-ObjC",
+ "-lc++",
+ );
+ OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
+ PRODUCT_BUNDLE_IDENTIFIER = io.tlon.groups.preview;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_MODULE_NAME = Landscape;
+ "SWIFT_OBJC_BRIDGING_HEADER[arch=*]" = "$(SRCROOT)/$(PROJECT_NAME)/$(SWIFT_MODULE_NAME)-Bridging-Header.h";
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = 1;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Debug;
+ };
+ 70DBC0142B7C60B50021EA96 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 3B0B210E999A7E0E1A345468 /* Pods-common-Landscape-preview.release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_DEBUG_INFORMATION_LEVEL = "DWARF with dSYM File";
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_ENTITLEMENTS = Landscape/Landscape.entitlements;
+ CURRENT_PROJECT_VERSION = 45;
+ DEVELOPMENT_TEAM = XU9PR2N722;
+ DISPLAY_NAME = "Tlon - Preview";
+ INFOPLIST_FILE = Landscape/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ MARKETING_VERSION = 4.0.0;
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ "-ObjC",
+ "-lc++",
+ );
+ OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
+ PRODUCT_BUNDLE_IDENTIFIER = io.tlon.groups.preview;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_MODULE_NAME = Landscape;
+ SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(PROJECT_NAME)/$(SWIFT_MODULE_NAME)-Bridging-Header.h";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = 1;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Release;
+ };
70F99A942B2D2B5700D77256 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -938,6 +1280,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ 70DBC0122B7C60B50021EA96 /* Build configuration list for PBXNativeTarget "Landscape-preview" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 70DBC0132B7C60B50021EA96 /* Debug */,
+ 70DBC0142B7C60B50021EA96 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
70F99A962B2D2B5700D77256 /* Build configuration list for PBXNativeTarget "LandscapeTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
@@ -967,7 +1318,7 @@
minimumVersion = 1.0.0;
};
};
- 70D386462A6098F800AFB46E /* XCRemoteSwiftPackageReference "Alamofire.git" */ = {
+ 70D386462A6098F800AFB46E /* XCRemoteSwiftPackageReference "Alamofire" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/Alamofire/Alamofire.git";
requirement = {
@@ -983,6 +1334,30 @@
minimumVersion = 1.0.0;
};
};
+ 70DBBFE12B7C60B50021EA96 /* XCRemoteSwiftPackageReference "SimpleKeychain" */ = {
+ isa = XCRemoteSwiftPackageReference;
+ repositoryURL = "https://github.com/auth0/SimpleKeychain";
+ requirement = {
+ kind = upToNextMajorVersion;
+ minimumVersion = 1.0.0;
+ };
+ };
+ 70DBBFE32B7C60B50021EA96 /* XCRemoteSwiftPackageReference "Alamofire" */ = {
+ isa = XCRemoteSwiftPackageReference;
+ repositoryURL = "https://github.com/Alamofire/Alamofire.git";
+ requirement = {
+ kind = upToNextMajorVersion;
+ minimumVersion = 5.0.0;
+ };
+ };
+ 70DBBFE52B7C60B50021EA96 /* XCRemoteSwiftPackageReference "UrsusSigil" */ = {
+ isa = XCRemoteSwiftPackageReference;
+ repositoryURL = "https://github.com/alecananian/UrsusSigil";
+ requirement = {
+ kind = upToNextMajorVersion;
+ minimumVersion = 1.0.0;
+ };
+ };
/* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
@@ -993,7 +1368,7 @@
};
70D386472A6098F800AFB46E /* Alamofire */ = {
isa = XCSwiftPackageProductDependency;
- package = 70D386462A6098F800AFB46E /* XCRemoteSwiftPackageReference "Alamofire.git" */;
+ package = 70D386462A6098F800AFB46E /* XCRemoteSwiftPackageReference "Alamofire" */;
productName = Alamofire;
};
70D3866E2A60A3B300AFB46E /* UrsusSigil */ = {
@@ -1001,6 +1376,21 @@
package = 70D3866D2A60A3B300AFB46E /* XCRemoteSwiftPackageReference "UrsusSigil" */;
productName = UrsusSigil;
};
+ 70DBBFE02B7C60B50021EA96 /* SimpleKeychain */ = {
+ isa = XCSwiftPackageProductDependency;
+ package = 70DBBFE12B7C60B50021EA96 /* XCRemoteSwiftPackageReference "SimpleKeychain" */;
+ productName = SimpleKeychain;
+ };
+ 70DBBFE22B7C60B50021EA96 /* Alamofire */ = {
+ isa = XCSwiftPackageProductDependency;
+ package = 70DBBFE32B7C60B50021EA96 /* XCRemoteSwiftPackageReference "Alamofire" */;
+ productName = Alamofire;
+ };
+ 70DBBFE42B7C60B50021EA96 /* UrsusSigil */ = {
+ isa = XCSwiftPackageProductDependency;
+ package = 70DBBFE52B7C60B50021EA96 /* XCRemoteSwiftPackageReference "UrsusSigil" */;
+ productName = UrsusSigil;
+ };
/* End XCSwiftPackageProductDependency section */
};
rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
diff --git a/apps/tlon-mobile/ios/Landscape.xcodeproj/xcshareddata/xcschemes/Landscape-preview.xcscheme b/apps/tlon-mobile/ios/Landscape.xcodeproj/xcshareddata/xcschemes/Landscape-preview.xcscheme
new file mode 100644
index 0000000000..5ae1378bf1
--- /dev/null
+++ b/apps/tlon-mobile/ios/Landscape.xcodeproj/xcshareddata/xcschemes/Landscape-preview.xcscheme
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-1024.png b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-1024.png
new file mode 100644
index 0000000000..ea37906fb5
Binary files /dev/null and b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-1024.png differ
diff --git a/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-20@2x.png b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-20@2x.png
new file mode 100644
index 0000000000..32f709c476
Binary files /dev/null and b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-20@2x.png differ
diff --git a/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-20@3x.png b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-20@3x.png
new file mode 100644
index 0000000000..d1ab385c7b
Binary files /dev/null and b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-20@3x.png differ
diff --git a/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-29@2x.png b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-29@2x.png
new file mode 100644
index 0000000000..5ea11d00f1
Binary files /dev/null and b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-29@2x.png differ
diff --git a/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-29@3x.png b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-29@3x.png
new file mode 100644
index 0000000000..dd9b013765
Binary files /dev/null and b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-29@3x.png differ
diff --git a/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-40@2x.png b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-40@2x.png
new file mode 100644
index 0000000000..6e881d5ae6
Binary files /dev/null and b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-40@2x.png differ
diff --git a/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-40@3x.png b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-40@3x.png
new file mode 100644
index 0000000000..a5a15155b4
Binary files /dev/null and b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-40@3x.png differ
diff --git a/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-60@2x.png b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-60@2x.png
new file mode 100644
index 0000000000..1572f45082
Binary files /dev/null and b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-60@2x.png differ
diff --git a/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-60@3x.png b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-60@3x.png
new file mode 100644
index 0000000000..a066e82a40
Binary files /dev/null and b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/AppIcon-60@3x.png differ
diff --git a/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/Contents.json b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000000..8fca09a28a
--- /dev/null
+++ b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,62 @@
+{
+ "images" : [
+ {
+ "filename" : "AppIcon-20@2x.png",
+ "idiom" : "iphone",
+ "scale" : "2x",
+ "size" : "20x20"
+ },
+ {
+ "filename" : "AppIcon-20@3x.png",
+ "idiom" : "iphone",
+ "scale" : "3x",
+ "size" : "20x20"
+ },
+ {
+ "filename" : "AppIcon-29@2x.png",
+ "idiom" : "iphone",
+ "scale" : "2x",
+ "size" : "29x29"
+ },
+ {
+ "filename" : "AppIcon-29@3x.png",
+ "idiom" : "iphone",
+ "scale" : "3x",
+ "size" : "29x29"
+ },
+ {
+ "filename" : "AppIcon-40@2x.png",
+ "idiom" : "iphone",
+ "scale" : "2x",
+ "size" : "40x40"
+ },
+ {
+ "filename" : "AppIcon-40@3x.png",
+ "idiom" : "iphone",
+ "scale" : "3x",
+ "size" : "40x40"
+ },
+ {
+ "filename" : "AppIcon-60@2x.png",
+ "idiom" : "iphone",
+ "scale" : "2x",
+ "size" : "60x60"
+ },
+ {
+ "filename" : "AppIcon-60@3x.png",
+ "idiom" : "iphone",
+ "scale" : "3x",
+ "size" : "60x60"
+ },
+ {
+ "filename" : "AppIcon-1024.png",
+ "idiom" : "ios-marketing",
+ "scale" : "1x",
+ "size" : "1024x1024"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/Contents.json b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/Contents.json
new file mode 100644
index 0000000000..73c00596a7
--- /dev/null
+++ b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/SplashScreenBackground.imageset/Contents.json b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/SplashScreenBackground.imageset/Contents.json
new file mode 100644
index 0000000000..3cf8489772
--- /dev/null
+++ b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/SplashScreenBackground.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images": [
+ {
+ "idiom": "universal",
+ "filename": "image.png",
+ "scale": "1x"
+ },
+ {
+ "idiom": "universal",
+ "scale": "2x"
+ },
+ {
+ "idiom": "universal",
+ "scale": "3x"
+ }
+ ],
+ "info": {
+ "version": 1,
+ "author": "expo"
+ }
+}
\ No newline at end of file
diff --git a/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/SplashScreenBackground.imageset/image.png b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/SplashScreenBackground.imageset/image.png
new file mode 100644
index 0000000000..33ddf20bb3
Binary files /dev/null and b/apps/tlon-mobile/ios/Landscape/Images-preview.xcassets/SplashScreenBackground.imageset/image.png differ
diff --git a/apps/tlon-mobile/ios/Landscape/Images.xcassets/Contents.json b/apps/tlon-mobile/ios/Landscape/Images.xcassets/Contents.json
index ed285c2e5f..73c00596a7 100644
--- a/apps/tlon-mobile/ios/Landscape/Images.xcassets/Contents.json
+++ b/apps/tlon-mobile/ios/Landscape/Images.xcassets/Contents.json
@@ -1,6 +1,6 @@
{
"info" : {
- "version" : 1,
- "author" : "expo"
+ "author" : "xcode",
+ "version" : 1
}
}
diff --git a/apps/tlon-mobile/ios/Landscape/Info.plist b/apps/tlon-mobile/ios/Landscape/Info.plist
index 37fa2f9707..97c41e52f5 100644
--- a/apps/tlon-mobile/ios/Landscape/Info.plist
+++ b/apps/tlon-mobile/ios/Landscape/Info.plist
@@ -9,7 +9,7 @@
CFBundleDevelopmentRegion
$(DEVELOPMENT_LANGUAGE)
CFBundleDisplayName
- Tlon
+ $(DISPLAY_NAME)
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
@@ -29,7 +29,7 @@
CFBundleURLSchemes
- io.tlon.groups.staging
+ io.tlon.groups
diff --git a/apps/tlon-mobile/ios/Landscape/Supporting/Expo.plist b/apps/tlon-mobile/ios/Landscape/Supporting/Expo.plist
index e39700a29e..5f8a893567 100644
--- a/apps/tlon-mobile/ios/Landscape/Supporting/Expo.plist
+++ b/apps/tlon-mobile/ios/Landscape/Supporting/Expo.plist
@@ -9,7 +9,7 @@
EXUpdatesLaunchWaitMs
0
EXUpdatesRuntimeVersion
- 3.1.3
+ 4.0.0
EXUpdatesURL
https://u.expo.dev/617bb643-5bf6-4c40-8af6-c6e9dd7e3bd0
diff --git a/apps/tlon-mobile/ios/Podfile b/apps/tlon-mobile/ios/Podfile
index 91887c2e3c..39897ec05e 100644
--- a/apps/tlon-mobile/ios/Podfile
+++ b/apps/tlon-mobile/ios/Podfile
@@ -38,7 +38,7 @@ elsif podfile_properties.key?('ios.flipper') then
end
end
-target 'Landscape' do
+abstract_target 'common' do
use_expo_modules!
config = use_native_modules!
@@ -86,4 +86,10 @@ target 'Landscape' do
Pod::UI.warn e
end
end
+
+ target 'Landscape' do
+ end
+
+ target 'Landscape-preview' do
+ end
end
diff --git a/apps/tlon-mobile/ios/Podfile.lock b/apps/tlon-mobile/ios/Podfile.lock
index 7874d75fc0..9e88dde902 100644
--- a/apps/tlon-mobile/ios/Podfile.lock
+++ b/apps/tlon-mobile/ios/Podfile.lock
@@ -1595,6 +1595,6 @@ SPEC CHECKSUMS:
UMAppLoader: 5df85360d65cabaef544be5424ac64672e648482
Yoga: 1b901a6d6eeba4e8a2e8f308f708691cdb5db312
-PODFILE CHECKSUM: bebef443864c4d459a5b44fcd000912004c764e1
+PODFILE CHECKSUM: 82da24eb176d4abdeaf445b3581717ec492dd7e8
COCOAPODS: 1.15.2
diff --git a/apps/tlon-mobile/package.json b/apps/tlon-mobile/package.json
index eecfcb7038..6c873553e0 100644
--- a/apps/tlon-mobile/package.json
+++ b/apps/tlon-mobile/package.json
@@ -1,6 +1,6 @@
{
"name": "tlon-mobile",
- "version": "3.1.3",
+ "version": "4.0.0",
"private": true,
"scripts": {
"dev": "concurrently \"tailwindcss --input input.css --output tailwind.css --no-autoprefixer --watch\" \"tailwind-rn --watch\"",
diff --git a/apps/tlon-mobile/src/screens/WebViewScreen.tsx b/apps/tlon-mobile/src/screens/WebViewScreen.tsx
index 0c305b72b8..ccc8c6a933 100644
--- a/apps/tlon-mobile/src/screens/WebViewScreen.tsx
+++ b/apps/tlon-mobile/src/screens/WebViewScreen.tsx
@@ -15,7 +15,7 @@ import { useShip } from '../contexts/ship';
import { useWebView } from '../hooks/useWebView';
import { markChatRead } from '../lib/chatApi';
import { getHostingUser } from '../lib/hostingApi';
-import { connectNotifications } from '../lib/notifications';
+// import { connectNotifications } from '../lib/notifications';
import type { WebViewStackParamList } from '../types';
import {
getHostingToken,
@@ -144,7 +144,7 @@ const InnerWebViewScreen = ({
);
// Start notification prompt
- connectNotifications();
+ // connectNotifications();
return () => {
// Clean up listeners
diff --git a/package-lock.json b/package-lock.json
index a2a54c79da..87c54c2388 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,12 +17,12 @@
"vitest": "^1.2.2"
},
"engines": {
- "node": "^20.11.0",
- "npm": "^10.2.4"
+ "node": ">=18.18.0",
+ "npm": ">=9.8.1"
}
},
"apps/tlon-mobile": {
- "version": "3.1.3",
+ "version": "4.0.0",
"hasInstallScript": true,
"dependencies": {
"@google-cloud/recaptcha-enterprise-react-native": "^18.3.0",
diff --git a/package.json b/package.json
index ebc8c5a5cb..175061558d 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,7 @@
"vitest": "^1.2.2"
},
"engines": {
- "node": "^20.11.0",
- "npm": "^10.2.4"
+ "node": ">=18.18.0",
+ "npm": ">=9.8.1"
}
}