mirror of
https://github.com/jjbrunton/Sauci.git
synced 2026-11-01 18:19:43 +00:00
Update
This commit is contained in:
1 parent
4c18afaeae
commit
785e73d6c0
19 files changed
+3809
-4749
No files matched your search
@@ -91,8 +91,8 @@ android {
|
|||||||
applicationId 'com.sauci.app'
|
applicationId 'com.sauci.app'
|
||||||
minSdkVersion rootProject.ext.minSdkVersion
|
minSdkVersion rootProject.ext.minSdkVersion
|
||||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||||
versionCode 42
|
versionCode 44
|
||||||
versionName "1.0.4"
|
versionName "1.0.5"
|
||||||
}
|
}
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
debug {
|
debug {
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
<data android:scheme="exp+sauci"/>
|
<data android:scheme="exp+sauci"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<receiver android:name=".widget.LiveDraw" android:exported="false" android:label="Live Draw">
|
<receiver android:name=".widget.LiveDraw" android:exported="true" android:label="Live Draw">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||||
<action android:name="com.sauci.app.WIDGET_CLICK"/>
|
<action android:name="com.sauci.app.WIDGET_CLICK"/>
|
||||||
|
|||||||
@@ -1,6 +1,84 @@
|
|||||||
package com.sauci.app.widget;
|
package com.sauci.app.widget;
|
||||||
|
|
||||||
import com.reactnativeandroidwidget.RNWidgetProvider;
|
import android.appwidget.AppWidgetManager;
|
||||||
|
import android.appwidget.AppWidgetProvider;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.graphics.Bitmap;
|
||||||
|
import android.graphics.BitmapFactory;
|
||||||
|
import android.graphics.Canvas;
|
||||||
|
import android.graphics.Paint;
|
||||||
|
import android.graphics.RectF;
|
||||||
|
import android.util.Base64;
|
||||||
|
import android.util.TypedValue;
|
||||||
|
import android.widget.RemoteViews;
|
||||||
|
|
||||||
public class LiveDraw extends RNWidgetProvider {
|
import com.sauci.app.R;
|
||||||
|
|
||||||
|
public class LiveDraw extends AppWidgetProvider {
|
||||||
|
|
||||||
|
private static final String PREFS_NAME_SUFFIX = ".widgetdata";
|
||||||
|
private static final String KEY_IMAGE = "LiveDrawImage";
|
||||||
|
private static final int BG_COLOR = 0xFF1A1A2E;
|
||||||
|
private static final int CORNER_RADIUS_DP = 16;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
|
||||||
|
for (int widgetId : appWidgetIds) {
|
||||||
|
updateWidget(context, appWidgetManager, widgetId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateWidget(Context context, AppWidgetManager appWidgetManager, int widgetId) {
|
||||||
|
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_live_draw);
|
||||||
|
|
||||||
|
String base64 = getStoredImage(context);
|
||||||
|
if (base64 != null && !base64.isEmpty()) {
|
||||||
|
try {
|
||||||
|
byte[] bytes = Base64.decode(base64, Base64.DEFAULT);
|
||||||
|
Bitmap decoded = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
|
||||||
|
if (decoded != null) {
|
||||||
|
Bitmap rounded = addRoundedBackground(context, decoded);
|
||||||
|
views.setImageViewBitmap(R.id.widget_image, rounded);
|
||||||
|
decoded.recycle();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
setPlaceholder(views);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
setPlaceholder(views);
|
||||||
|
}
|
||||||
|
|
||||||
|
appWidgetManager.updateAppWidget(widgetId, views);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getStoredImage(Context context) {
|
||||||
|
SharedPreferences prefs = context.getSharedPreferences(
|
||||||
|
context.getPackageName() + PREFS_NAME_SUFFIX, Context.MODE_PRIVATE);
|
||||||
|
return prefs.getString(KEY_IMAGE, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setPlaceholder(RemoteViews views) {
|
||||||
|
views.setImageViewResource(R.id.widget_image, R.drawable.widget_placeholder);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Bitmap addRoundedBackground(Context context, Bitmap drawing) {
|
||||||
|
float radius = TypedValue.applyDimension(
|
||||||
|
TypedValue.COMPLEX_UNIT_DIP, CORNER_RADIUS_DP,
|
||||||
|
context.getResources().getDisplayMetrics());
|
||||||
|
|
||||||
|
int w = drawing.getWidth();
|
||||||
|
int h = drawing.getHeight();
|
||||||
|
|
||||||
|
Bitmap output = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
|
||||||
|
Canvas canvas = new Canvas(output);
|
||||||
|
|
||||||
|
Paint bgPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||||
|
bgPaint.setColor(BG_COLOR);
|
||||||
|
canvas.drawRoundRect(new RectF(0, 0, w, h), radius, radius, bgPaint);
|
||||||
|
|
||||||
|
canvas.drawBitmap(drawing, 0, 0, null);
|
||||||
|
|
||||||
|
return output;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item>
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<solid android:color="#1A1A2E" />
|
||||||
|
<corners android:radius="16dp" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="#1A1A2E">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/widget_image"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:scaleType="centerInside"
|
||||||
|
android:contentDescription="@string/widget_livedraw_description" />
|
||||||
|
</FrameLayout>
|
||||||
@@ -4,18 +4,10 @@
|
|||||||
android:minHeight="110dp"
|
android:minHeight="110dp"
|
||||||
android:targetCellWidth="4"
|
android:targetCellWidth="4"
|
||||||
android:targetCellHeight="2"
|
android:targetCellHeight="2"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
android:resizeMode="none"
|
android:resizeMode="none"
|
||||||
|
|
||||||
android:description="@string/widget_livedraw_description"
|
android:description="@string/widget_livedraw_description"
|
||||||
|
android:initialLayout="@layout/widget_live_draw"
|
||||||
android:initialLayout="@layout/rn_widget"
|
|
||||||
android:previewImage="@drawable/livedraw_preview"
|
android:previewImage="@drawable/livedraw_preview"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
android:updatePeriodMillis="1800000"
|
android:updatePeriodMillis="1800000"
|
||||||
android:widgetCategory="home_screen">
|
android:widgetCategory="home_screen">
|
||||||
</appwidget-provider>
|
</appwidget-provider>
|
||||||
+12
-6
@@ -2,7 +2,7 @@
|
|||||||
"expo": {
|
"expo": {
|
||||||
"name": "Sauci",
|
"name": "Sauci",
|
||||||
"slug": "sauci",
|
"slug": "sauci",
|
||||||
"version": "1.0.4",
|
"version": "1.0.5",
|
||||||
"orientation": "portrait",
|
"orientation": "portrait",
|
||||||
"icon": "./assets/icon.png",
|
"icon": "./assets/icon.png",
|
||||||
"scheme": "app.sauci",
|
"scheme": "app.sauci",
|
||||||
@@ -17,9 +17,11 @@
|
|||||||
"supportsTablet": false,
|
"supportsTablet": false,
|
||||||
"bundleIdentifier": "com.sauci.app",
|
"bundleIdentifier": "com.sauci.app",
|
||||||
"entitlements": {
|
"entitlements": {
|
||||||
"com.apple.security.application-groups": ["group.com.sauci.app"]
|
"com.apple.security.application-groups": [
|
||||||
|
"group.com.sauci.app"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"buildNumber": "35",
|
"buildNumber": "42",
|
||||||
"usesAppleSignIn": true,
|
"usesAppleSignIn": true,
|
||||||
"googleServicesFile": "./GoogleService-Info.plist",
|
"googleServicesFile": "./GoogleService-Info.plist",
|
||||||
"infoPlist": {
|
"infoPlist": {
|
||||||
@@ -181,7 +183,7 @@
|
|||||||
"backgroundColor": "#1a1a2e"
|
"backgroundColor": "#1a1a2e"
|
||||||
},
|
},
|
||||||
"package": "com.sauci.app",
|
"package": "com.sauci.app",
|
||||||
"versionCode": 42,
|
"versionCode": 44,
|
||||||
"googleServicesFile": "./google-services.json",
|
"googleServicesFile": "./google-services.json",
|
||||||
"permissions": [
|
"permissions": [
|
||||||
"RECEIVE_BOOT_COMPLETED",
|
"RECEIVE_BOOT_COMPLETED",
|
||||||
@@ -197,6 +199,7 @@
|
|||||||
"favicon": "./assets/favicon.png"
|
"favicon": "./assets/favicon.png"
|
||||||
},
|
},
|
||||||
"plugins": [
|
"plugins": [
|
||||||
|
"./plugins/withFixHoisting.js",
|
||||||
"@react-native-firebase/app",
|
"@react-native-firebase/app",
|
||||||
[
|
[
|
||||||
"expo-build-properties",
|
"expo-build-properties",
|
||||||
@@ -260,11 +263,14 @@
|
|||||||
"targetCellHeight": 2,
|
"targetCellHeight": 2,
|
||||||
"description": "See your shared drawing with your partner.",
|
"description": "See your shared drawing with your partner.",
|
||||||
"previewImage": "./assets/widget-preview/live-draw.png",
|
"previewImage": "./assets/widget-preview/live-draw.png",
|
||||||
"updatePeriodMillis": 1800000
|
"updatePeriodMillis": 1800000,
|
||||||
|
"nativeProvider": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"./plugins/withWidgetExported.js",
|
||||||
|
"./plugins/withNativeWidget.js"
|
||||||
],
|
],
|
||||||
"experiments": {
|
"experiments": {
|
||||||
"typedRoutes": true
|
"typedRoutes": true
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ PODS:
|
|||||||
- SDWebImageSVGCoder (~> 1.7.0)
|
- SDWebImageSVGCoder (~> 1.7.0)
|
||||||
- ExpoImagePicker (16.0.6):
|
- ExpoImagePicker (16.0.6):
|
||||||
- ExpoModulesCore
|
- ExpoModulesCore
|
||||||
- ExpoKeepAwake (15.0.8):
|
- ExpoKeepAwake (14.0.3):
|
||||||
- ExpoModulesCore
|
- ExpoModulesCore
|
||||||
- ExpoLinearGradient (14.0.2):
|
- ExpoLinearGradient (14.0.2):
|
||||||
- ExpoModulesCore
|
- ExpoModulesCore
|
||||||
@@ -304,6 +304,8 @@ PODS:
|
|||||||
- ExpoModulesCore
|
- ExpoModulesCore
|
||||||
- ExpoWidgets (3.0.2):
|
- ExpoWidgets (3.0.2):
|
||||||
- ExpoModulesCore
|
- ExpoModulesCore
|
||||||
|
- ExtensionStorage (1.0.0):
|
||||||
|
- ExpoModulesCore
|
||||||
- EXUpdatesInterface (1.0.0):
|
- EXUpdatesInterface (1.0.0):
|
||||||
- ExpoModulesCore
|
- ExpoModulesCore
|
||||||
- fast_float (6.1.4)
|
- fast_float (6.1.4)
|
||||||
@@ -433,8 +435,8 @@ PODS:
|
|||||||
- PromisesObjC (2.4.0)
|
- PromisesObjC (2.4.0)
|
||||||
- PromisesSwift (2.4.0):
|
- PromisesSwift (2.4.0):
|
||||||
- PromisesObjC (= 2.4.0)
|
- PromisesObjC (= 2.4.0)
|
||||||
- PurchasesHybridCommon (17.28.0):
|
- PurchasesHybridCommon (17.30.1):
|
||||||
- RevenueCat (= 5.55.1)
|
- RevenueCat (= 5.56.0)
|
||||||
- RCT-Folly (2024.10.14.00):
|
- RCT-Folly (2024.10.14.00):
|
||||||
- boost
|
- boost
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
@@ -2052,10 +2054,10 @@ PODS:
|
|||||||
- React-logger
|
- React-logger
|
||||||
- React-perflogger
|
- React-perflogger
|
||||||
- React-utils (= 0.76.9)
|
- React-utils (= 0.76.9)
|
||||||
- RevenueCat (5.55.1)
|
- RevenueCat (5.56.0)
|
||||||
- RNCAsyncStorage (1.23.1):
|
- RNCAsyncStorage (1.23.1):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNFBAnalytics (23.8.3):
|
- RNFBAnalytics (23.8.5):
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- FirebaseAnalytics/Core (= 12.8.0)
|
- FirebaseAnalytics/Core (= 12.8.0)
|
||||||
- FirebaseAnalytics/IdentitySupport (= 12.8.0)
|
- FirebaseAnalytics/IdentitySupport (= 12.8.0)
|
||||||
@@ -2079,7 +2081,7 @@ PODS:
|
|||||||
- ReactCommon/turbomodule/core
|
- ReactCommon/turbomodule/core
|
||||||
- RNFBApp
|
- RNFBApp
|
||||||
- Yoga
|
- Yoga
|
||||||
- RNFBApp (23.8.4):
|
- RNFBApp (23.8.5):
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- Firebase/CoreOnly (= 12.8.0)
|
- Firebase/CoreOnly (= 12.8.0)
|
||||||
- glog
|
- glog
|
||||||
@@ -2101,7 +2103,7 @@ PODS:
|
|||||||
- ReactCommon/turbomodule/bridging
|
- ReactCommon/turbomodule/bridging
|
||||||
- ReactCommon/turbomodule/core
|
- ReactCommon/turbomodule/core
|
||||||
- Yoga
|
- Yoga
|
||||||
- RNFBCrashlytics (23.8.4):
|
- RNFBCrashlytics (23.8.5):
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- Firebase/Crashlytics (= 12.8.0)
|
- Firebase/Crashlytics (= 12.8.0)
|
||||||
- FirebaseCoreExtension
|
- FirebaseCoreExtension
|
||||||
@@ -2149,8 +2151,8 @@ PODS:
|
|||||||
- RNGoogleSignin (16.1.1):
|
- RNGoogleSignin (16.1.1):
|
||||||
- GoogleSignIn (~> 9.0)
|
- GoogleSignIn (~> 9.0)
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNPurchases (9.7.1):
|
- RNPurchases (9.7.5):
|
||||||
- PurchasesHybridCommon (= 17.28.0)
|
- PurchasesHybridCommon (= 17.30.1)
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNReanimated (3.16.7):
|
- RNReanimated (3.16.7):
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
@@ -2286,7 +2288,7 @@ DEPENDENCIES:
|
|||||||
- EXJSONUtils (from `../../../node_modules/expo-json-utils/ios`)
|
- EXJSONUtils (from `../../../node_modules/expo-json-utils/ios`)
|
||||||
- EXManifests (from `../../../node_modules/expo-manifests/ios`)
|
- EXManifests (from `../../../node_modules/expo-manifests/ios`)
|
||||||
- EXNotifications (from `../../../node_modules/expo-notifications/ios`)
|
- EXNotifications (from `../../../node_modules/expo-notifications/ios`)
|
||||||
- Expo (from `../node_modules/expo`)
|
- Expo (from `../../../node_modules/expo`)
|
||||||
- expo-dev-client (from `../../../node_modules/expo-dev-client/ios`)
|
- expo-dev-client (from `../../../node_modules/expo-dev-client/ios`)
|
||||||
- expo-dev-launcher (from `../../../node_modules/expo-dev-launcher`)
|
- expo-dev-launcher (from `../../../node_modules/expo-dev-launcher`)
|
||||||
- expo-dev-menu (from `../../../node_modules/expo-dev-menu`)
|
- expo-dev-menu (from `../../../node_modules/expo-dev-menu`)
|
||||||
@@ -2309,8 +2311,9 @@ DEPENDENCIES:
|
|||||||
- ExpoMediaLibrary (from `../../../node_modules/expo-media-library/ios`)
|
- ExpoMediaLibrary (from `../../../node_modules/expo-media-library/ios`)
|
||||||
- ExpoModulesCore (from `../../../node_modules/expo-modules-core`)
|
- ExpoModulesCore (from `../../../node_modules/expo-modules-core`)
|
||||||
- ExpoSecureStore (from `../../../node_modules/expo-secure-store/ios`)
|
- ExpoSecureStore (from `../../../node_modules/expo-secure-store/ios`)
|
||||||
- ExpoSharing (from `../node_modules/expo-sharing/ios`)
|
- ExpoSharing (from `../../../node_modules/expo-sharing/ios`)
|
||||||
- "ExpoWidgets (from `../../../node_modules/@bittingz/expo-widgets/ios`)"
|
- "ExpoWidgets (from `../../../node_modules/@bittingz/expo-widgets/ios`)"
|
||||||
|
- "ExtensionStorage (from `../../../node_modules/@bacons/apple-targets/ios`)"
|
||||||
- EXUpdatesInterface (from `../../../node_modules/expo-updates-interface/ios`)
|
- EXUpdatesInterface (from `../../../node_modules/expo-updates-interface/ios`)
|
||||||
- fast_float (from `../../../node_modules/react-native/third-party-podspecs/fast_float.podspec`)
|
- fast_float (from `../../../node_modules/react-native/third-party-podspecs/fast_float.podspec`)
|
||||||
- FBLazyVector (from `../../../node_modules/react-native/Libraries/FBLazyVector`)
|
- FBLazyVector (from `../../../node_modules/react-native/Libraries/FBLazyVector`)
|
||||||
@@ -2388,7 +2391,7 @@ DEPENDENCIES:
|
|||||||
- RNPurchases (from `../../../node_modules/react-native-purchases`)
|
- RNPurchases (from `../../../node_modules/react-native-purchases`)
|
||||||
- RNReanimated (from `../../../node_modules/react-native-reanimated`)
|
- RNReanimated (from `../../../node_modules/react-native-reanimated`)
|
||||||
- RNScreens (from `../../../node_modules/react-native-screens`)
|
- RNScreens (from `../../../node_modules/react-native-screens`)
|
||||||
- RNSVG (from `../node_modules/react-native-svg`)
|
- RNSVG (from `../../../node_modules/react-native-svg`)
|
||||||
- WidgetBridge (from `../modules/widget-bridge/ios`)
|
- WidgetBridge (from `../modules/widget-bridge/ios`)
|
||||||
- Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`)
|
- Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`)
|
||||||
|
|
||||||
@@ -2443,7 +2446,7 @@ EXTERNAL SOURCES:
|
|||||||
EXNotifications:
|
EXNotifications:
|
||||||
:path: "../../../node_modules/expo-notifications/ios"
|
:path: "../../../node_modules/expo-notifications/ios"
|
||||||
Expo:
|
Expo:
|
||||||
:path: "../node_modules/expo"
|
:path: "../../../node_modules/expo"
|
||||||
expo-dev-client:
|
expo-dev-client:
|
||||||
:path: "../../../node_modules/expo-dev-client/ios"
|
:path: "../../../node_modules/expo-dev-client/ios"
|
||||||
expo-dev-launcher:
|
expo-dev-launcher:
|
||||||
@@ -2489,9 +2492,11 @@ EXTERNAL SOURCES:
|
|||||||
ExpoSecureStore:
|
ExpoSecureStore:
|
||||||
:path: "../../../node_modules/expo-secure-store/ios"
|
:path: "../../../node_modules/expo-secure-store/ios"
|
||||||
ExpoSharing:
|
ExpoSharing:
|
||||||
:path: "../node_modules/expo-sharing/ios"
|
:path: "../../../node_modules/expo-sharing/ios"
|
||||||
ExpoWidgets:
|
ExpoWidgets:
|
||||||
:path: "../../../node_modules/@bittingz/expo-widgets/ios"
|
:path: "../../../node_modules/@bittingz/expo-widgets/ios"
|
||||||
|
ExtensionStorage:
|
||||||
|
:path: "../../../node_modules/@bacons/apple-targets/ios"
|
||||||
EXUpdatesInterface:
|
EXUpdatesInterface:
|
||||||
:path: "../../../node_modules/expo-updates-interface/ios"
|
:path: "../../../node_modules/expo-updates-interface/ios"
|
||||||
fast_float:
|
fast_float:
|
||||||
@@ -2644,7 +2649,7 @@ EXTERNAL SOURCES:
|
|||||||
RNScreens:
|
RNScreens:
|
||||||
:path: "../../../node_modules/react-native-screens"
|
:path: "../../../node_modules/react-native-screens"
|
||||||
RNSVG:
|
RNSVG:
|
||||||
:path: "../node_modules/react-native-svg"
|
:path: "../../../node_modules/react-native-svg"
|
||||||
WidgetBridge:
|
WidgetBridge:
|
||||||
:path: "../modules/widget-bridge/ios"
|
:path: "../modules/widget-bridge/ios"
|
||||||
Yoga:
|
Yoga:
|
||||||
@@ -2678,7 +2683,7 @@ SPEC CHECKSUMS:
|
|||||||
ExpoHead: 2a14db58219c0a506e4a409ea83f884eab23f555
|
ExpoHead: 2a14db58219c0a506e4a409ea83f884eab23f555
|
||||||
ExpoImage: d840b256050f4428d2942bc2b6e9251f9e0d7021
|
ExpoImage: d840b256050f4428d2942bc2b6e9251f9e0d7021
|
||||||
ExpoImagePicker: 24e5ba8da111f74519b1e6dc556e0b438b2b8464
|
ExpoImagePicker: 24e5ba8da111f74519b1e6dc556e0b438b2b8464
|
||||||
ExpoKeepAwake: 55f75eca6499bb9e4231ebad6f3e9cb8f99c0296
|
ExpoKeepAwake: b0171a73665bfcefcfcc311742a72a956e6aa680
|
||||||
ExpoLinearGradient: 35ebd83b16f80b3add053a2fd68cc328ed927f60
|
ExpoLinearGradient: 35ebd83b16f80b3add053a2fd68cc328ed927f60
|
||||||
ExpoLinking: 8d12bee174ba0cdf31239706578e29e74a417402
|
ExpoLinking: 8d12bee174ba0cdf31239706578e29e74a417402
|
||||||
ExpoLocalAuthentication: eb2be9c7bcdc68e9434d4be4bb5aa5cf7943e816
|
ExpoLocalAuthentication: eb2be9c7bcdc68e9434d4be4bb5aa5cf7943e816
|
||||||
@@ -2687,6 +2692,7 @@ SPEC CHECKSUMS:
|
|||||||
ExpoSecureStore: 9a3665d7161dd1031be386e278bffd623658f316
|
ExpoSecureStore: 9a3665d7161dd1031be386e278bffd623658f316
|
||||||
ExpoSharing: 849a5ce9985c22598c16ec027e32969be8062e8e
|
ExpoSharing: 849a5ce9985c22598c16ec027e32969be8062e8e
|
||||||
ExpoWidgets: 366fe61c681044e13b7cc344bdbd319ff5d54b28
|
ExpoWidgets: 366fe61c681044e13b7cc344bdbd319ff5d54b28
|
||||||
|
ExtensionStorage: 5796de20bf181317c376d693fedb64c6781a33ba
|
||||||
EXUpdatesInterface: 7c977640bdd8b85833c19e3959ba46145c5719db
|
EXUpdatesInterface: 7c977640bdd8b85833c19e3959ba46145c5719db
|
||||||
fast_float: 06eeec4fe712a76acc9376682e4808b05ce978b6
|
fast_float: 06eeec4fe712a76acc9376682e4808b05ce978b6
|
||||||
FBLazyVector: 7605ea4810e0e10ae4815292433c09bf4324ba45
|
FBLazyVector: 7605ea4810e0e10ae4815292433c09bf4324ba45
|
||||||
@@ -2713,7 +2719,7 @@ SPEC CHECKSUMS:
|
|||||||
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
|
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
|
||||||
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
|
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
|
||||||
PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851
|
PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851
|
||||||
PurchasesHybridCommon: c2f8f5fcd2e472c585fccd1ab2fe317a3dc1171e
|
PurchasesHybridCommon: c0bc3edee10a8742e9a238247944b4be044ff177
|
||||||
RCT-Folly: ea9d9256ba7f9322ef911169a9f696e5857b9e17
|
RCT-Folly: ea9d9256ba7f9322ef911169a9f696e5857b9e17
|
||||||
RCTDeprecation: ebe712bb05077934b16c6bf25228bdec34b64f83
|
RCTDeprecation: ebe712bb05077934b16c6bf25228bdec34b64f83
|
||||||
RCTRequired: ca91e5dd26b64f577b528044c962baf171c6b716
|
RCTRequired: ca91e5dd26b64f577b528044c962baf171c6b716
|
||||||
@@ -2774,14 +2780,14 @@ SPEC CHECKSUMS:
|
|||||||
React-utils: 59c5bbbc0e72be22c9d6eceb40afadf9be872819
|
React-utils: 59c5bbbc0e72be22c9d6eceb40afadf9be872819
|
||||||
ReactCodegen: 52b654894b5771d0085b24d4b1b897ebeaf939dc
|
ReactCodegen: 52b654894b5771d0085b24d4b1b897ebeaf939dc
|
||||||
ReactCommon: b2eb96a61b826ff327a773a74357b302cf6da678
|
ReactCommon: b2eb96a61b826ff327a773a74357b302cf6da678
|
||||||
RevenueCat: 347221fad5ab0ed5636546867deae2c32c64749f
|
RevenueCat: 9e2a13bead55198a72272ff105a7265e9510cd11
|
||||||
RNCAsyncStorage: aa75595c1aefa18f868452091fa0c411a516ce11
|
RNCAsyncStorage: aa75595c1aefa18f868452091fa0c411a516ce11
|
||||||
RNFBAnalytics: d1c906bbb01b3a6f6b99d6eaa977f04b1ae5d279
|
RNFBAnalytics: 0213dc76b4bf1f83a687376be2ce4e8e395e270b
|
||||||
RNFBApp: 5c07dbcf30f00d7ea5400c3faae4e88e000b7685
|
RNFBApp: 02a70215550d9890516c3b381019f6b0f0543b7c
|
||||||
RNFBCrashlytics: bd6ae7c83468c749e986707c0e54365832b3d237
|
RNFBCrashlytics: 8ae23057fe4254c5804225f5c328cd05312cc3bf
|
||||||
RNGestureHandler: 2dd124adb171aab16629e9387cf1830957d242c2
|
RNGestureHandler: 2dd124adb171aab16629e9387cf1830957d242c2
|
||||||
RNGoogleSignin: 5782dd7dad559608a06f3c6b1d4142c395fb5308
|
RNGoogleSignin: 5782dd7dad559608a06f3c6b1d4142c395fb5308
|
||||||
RNPurchases: e265e2ed27349b567b91b89d8712aa8c9c57f5b0
|
RNPurchases: ae1f8f522674a7938dd26eba6c103c40d049dfee
|
||||||
RNReanimated: 38e033fd1790c817678bc8a075277cdc49d6817c
|
RNReanimated: 38e033fd1790c817678bc8a075277cdc49d6817c
|
||||||
RNScreens: ad2d0cfb3f15c9ed56ffb43651366ec0dcd70c36
|
RNScreens: ad2d0cfb3f15c9ed56ffb43651366ec0dcd70c36
|
||||||
RNSVG: 8542aa11770b27563714bbd8494a8436385fc85f
|
RNSVG: 8542aa11770b27563714bbd8494a8436385fc85f
|
||||||
|
|||||||
@@ -10,14 +10,16 @@
|
|||||||
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
|
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
|
||||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
||||||
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
||||||
170EE6B9AAF2430B9AB5101D /* noop-file.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6823268A39AC4F3D974A70BB /* noop-file.swift */; };
|
|
||||||
1963764A838740A9AB3B6EDB /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 943B28EF95A6439B9246862F /* GoogleService-Info.plist */; };
|
|
||||||
2BC8A1C04BCD698B29D2E6E8 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 70C97E8BE29E641DB4CA72F3 /* PrivacyInfo.xcprivacy */; };
|
|
||||||
2C1F3D17C413D275BE33BC07 /* Pods_Sauci.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCE00E1F3D8BD0B3956748EB /* Pods_Sauci.framework */; };
|
|
||||||
3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */; };
|
3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */; };
|
||||||
|
5254BDADE70741A0B2504FB1 /* noop-file.swift in Sources */ = {isa = PBXBuildFile; fileRef = F744EAD4ABA54509966475D6 /* noop-file.swift */; };
|
||||||
|
7B71EEB2AF682FA7AFF556D5 /* Pods_Sauci.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DDDAD8C12C38D3BD0A76D345 /* Pods_Sauci.framework */; };
|
||||||
B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */; };
|
B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */; };
|
||||||
BB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; };
|
BB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; };
|
||||||
|
CEF2F278ABBC5FBFD470A0F7 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = D7B5C17768E3B74AC152531F /* PrivacyInfo.xcprivacy */; };
|
||||||
|
FDFABE1A1A3547B1B22DD2DD /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = A9280FDF3E0D43AC90382DBC /* GoogleService-Info.plist */; };
|
||||||
XX12B55A1EDABF083C3B51XX /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = XX470101BAEB8E0BBC8B0DXX /* WidgetKit.framework */; };
|
XX12B55A1EDABF083C3B51XX /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = XX470101BAEB8E0BBC8B0DXX /* WidgetKit.framework */; };
|
||||||
|
XX1A6800511A685AB346D2XX /* AppIntents.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = XXA12889081EB894481655XX /* AppIntents.framework */; };
|
||||||
|
XX3C562DEF346B45594832XX /* ActivityKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = XXCAF23C3FC41F82140FA1XX /* ActivityKit.framework */; };
|
||||||
XX6A44985675A04437B8C4XX /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = XX4DFF38D47332D6BF0183XX /* SwiftUI.framework */; };
|
XX6A44985675A04437B8C4XX /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = XX4DFF38D47332D6BF0183XX /* SwiftUI.framework */; };
|
||||||
XXFA0BA4D1DD274640D183XX /* LiveDrawWidget.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = XXAC1FC213FDAA75508994XX /* LiveDrawWidget.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
XXFA0BA4D1DD274640D183XX /* LiveDrawWidget.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = XXAC1FC213FDAA75508994XX /* LiveDrawWidget.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
@@ -53,20 +55,22 @@
|
|||||||
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Sauci/Images.xcassets; sourceTree = "<group>"; };
|
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Sauci/Images.xcassets; sourceTree = "<group>"; };
|
||||||
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = text.plist.xml; name = Info.plist; path = Sauci/Info.plist; sourceTree = "<group>"; };
|
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = text.plist.xml; name = Info.plist; path = Sauci/Info.plist; sourceTree = "<group>"; };
|
||||||
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Sauci/main.m; sourceTree = "<group>"; };
|
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Sauci/main.m; sourceTree = "<group>"; };
|
||||||
6823268A39AC4F3D974A70BB /* noop-file.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = "noop-file.swift"; path = "Sauci/noop-file.swift"; sourceTree = "<group>"; };
|
|
||||||
6C2E3173556A471DD304B334 /* Pods-Sauci.debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Sauci.debug.xcconfig"; path = "Target Support Files/Pods-Sauci/Pods-Sauci.debug.xcconfig"; sourceTree = "<group>"; };
|
6C2E3173556A471DD304B334 /* Pods-Sauci.debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Sauci.debug.xcconfig"; path = "Target Support Files/Pods-Sauci/Pods-Sauci.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
70C97E8BE29E641DB4CA72F3 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = Sauci/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
|
|
||||||
7A4D352CD337FB3A3BF06240 /* Pods-Sauci.release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Sauci.release.xcconfig"; path = "Target Support Files/Pods-Sauci/Pods-Sauci.release.xcconfig"; sourceTree = "<group>"; };
|
7A4D352CD337FB3A3BF06240 /* Pods-Sauci.release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Sauci.release.xcconfig"; path = "Target Support Files/Pods-Sauci/Pods-Sauci.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
943B28EF95A6439B9246862F /* GoogleService-Info.plist */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Sauci/GoogleService-Info.plist"; sourceTree = "<group>"; };
|
A9280FDF3E0D43AC90382DBC /* GoogleService-Info.plist */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Sauci/GoogleService-Info.plist"; sourceTree = "<group>"; };
|
||||||
AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = Sauci/SplashScreen.storyboard; sourceTree = "<group>"; };
|
AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = Sauci/SplashScreen.storyboard; sourceTree = "<group>"; };
|
||||||
BB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = text.plist.xml; path = Expo.plist; sourceTree = "<group>"; };
|
BB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = text.plist.xml; path = Expo.plist; sourceTree = "<group>"; };
|
||||||
D927CBDDA31C4219BE8F155B /* Sauci-Bridging-Header.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "Sauci-Bridging-Header.h"; path = "Sauci/Sauci-Bridging-Header.h"; sourceTree = "<group>"; };
|
D7B5C17768E3B74AC152531F /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 1; lastKnownFileType = undefined; name = PrivacyInfo.xcprivacy; path = Sauci/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
|
||||||
DCE00E1F3D8BD0B3956748EB /* Pods_Sauci.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Sauci.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
DA536CAC88B349A59DFC1F1E /* Sauci-Bridging-Header.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "Sauci-Bridging-Header.h"; path = "Sauci/Sauci-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||||
|
DDDAD8C12C38D3BD0A76D345 /* Pods_Sauci.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; fileEncoding = 4; includeInIndex = undefined; path = Pods_Sauci.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = undefined; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = undefined; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
||||||
|
F744EAD4ABA54509966475D6 /* noop-file.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = "noop-file.swift"; path = "Sauci/noop-file.swift"; sourceTree = "<group>"; };
|
||||||
FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-Sauci/ExpoModulesProvider.swift"; sourceTree = "<group>"; };
|
FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-Sauci/ExpoModulesProvider.swift"; sourceTree = "<group>"; };
|
||||||
XX470101BAEB8E0BBC8B0DXX /* WidgetKit.framework */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = undefined; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; };
|
XX470101BAEB8E0BBC8B0DXX /* WidgetKit.framework */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = undefined; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; };
|
||||||
XX4DFF38D47332D6BF0183XX /* SwiftUI.framework */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = undefined; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; };
|
XX4DFF38D47332D6BF0183XX /* SwiftUI.framework */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = undefined; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; };
|
||||||
|
XXA12889081EB894481655XX /* AppIntents.framework */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = undefined; lastKnownFileType = wrapper.framework; name = AppIntents.framework; path = System/Library/Frameworks/AppIntents.framework; sourceTree = SDKROOT; };
|
||||||
XXAC1FC213FDAA75508994XX /* LiveDrawWidget.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; fileEncoding = 4; includeInIndex = 0; path = LiveDrawWidget.appex; sourceTree = BUILT_PRODUCTS_DIR; };
|
XXAC1FC213FDAA75508994XX /* LiveDrawWidget.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; fileEncoding = 4; includeInIndex = 0; path = LiveDrawWidget.appex; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
XXCAF23C3FC41F82140FA1XX /* ActivityKit.framework */ = {isa = PBXFileReference; fileEncoding = 4; includeInIndex = undefined; lastKnownFileType = wrapper.framework; name = ActivityKit.framework; path = System/Library/Frameworks/ActivityKit.framework; sourceTree = SDKROOT; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
|
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
|
||||||
@@ -100,7 +104,7 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
2C1F3D17C413D275BE33BC07 /* Pods_Sauci.framework in Frameworks */,
|
7B71EEB2AF682FA7AFF556D5 /* Pods_Sauci.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -110,6 +114,8 @@
|
|||||||
files = (
|
files = (
|
||||||
XX12B55A1EDABF083C3B51XX /* WidgetKit.framework in Frameworks */,
|
XX12B55A1EDABF083C3B51XX /* WidgetKit.framework in Frameworks */,
|
||||||
XX6A44985675A04437B8C4XX /* SwiftUI.framework in Frameworks */,
|
XX6A44985675A04437B8C4XX /* SwiftUI.framework in Frameworks */,
|
||||||
|
XX3C562DEF346B45594832XX /* ActivityKit.framework in Frameworks */,
|
||||||
|
XX1A6800511A685AB346D2XX /* AppIntents.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -126,10 +132,10 @@
|
|||||||
13B07FB61A68108700A75B9A /* Info.plist */,
|
13B07FB61A68108700A75B9A /* Info.plist */,
|
||||||
13B07FB71A68108700A75B9A /* main.m */,
|
13B07FB71A68108700A75B9A /* main.m */,
|
||||||
AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */,
|
AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */,
|
||||||
943B28EF95A6439B9246862F /* GoogleService-Info.plist */,
|
A9280FDF3E0D43AC90382DBC /* GoogleService-Info.plist */,
|
||||||
6823268A39AC4F3D974A70BB /* noop-file.swift */,
|
F744EAD4ABA54509966475D6 /* noop-file.swift */,
|
||||||
D927CBDDA31C4219BE8F155B /* Sauci-Bridging-Header.h */,
|
DA536CAC88B349A59DFC1F1E /* Sauci-Bridging-Header.h */,
|
||||||
70C97E8BE29E641DB4CA72F3 /* PrivacyInfo.xcprivacy */,
|
D7B5C17768E3B74AC152531F /* PrivacyInfo.xcprivacy */,
|
||||||
);
|
);
|
||||||
name = Sauci;
|
name = Sauci;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -140,7 +146,9 @@
|
|||||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
|
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
|
||||||
XX470101BAEB8E0BBC8B0DXX /* WidgetKit.framework */,
|
XX470101BAEB8E0BBC8B0DXX /* WidgetKit.framework */,
|
||||||
XX4DFF38D47332D6BF0183XX /* SwiftUI.framework */,
|
XX4DFF38D47332D6BF0183XX /* SwiftUI.framework */,
|
||||||
DCE00E1F3D8BD0B3956748EB /* Pods_Sauci.framework */,
|
DDDAD8C12C38D3BD0A76D345 /* Pods_Sauci.framework */,
|
||||||
|
XXCAF23C3FC41F82140FA1XX /* ActivityKit.framework */,
|
||||||
|
XXA12889081EB894481655XX /* AppIntents.framework */,
|
||||||
);
|
);
|
||||||
name = Frameworks;
|
name = Frameworks;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -228,16 +236,16 @@
|
|||||||
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Sauci" */;
|
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Sauci" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */,
|
08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */,
|
||||||
78092B71106F49D87690DCAF /* [Expo] Configure project */,
|
DC3D179C6B62F16DA5F17C2F /* [Expo] Configure project */,
|
||||||
13B07F871A680F5B00A75B9A /* Sources */,
|
13B07F871A680F5B00A75B9A /* Sources */,
|
||||||
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
||||||
13B07F8E1A680F5B00A75B9A /* Resources */,
|
13B07F8E1A680F5B00A75B9A /* Resources */,
|
||||||
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
|
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
|
||||||
800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */,
|
800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */,
|
||||||
XX72A8CFBF0FBA13A79902XX /* Embed Foundation Extensions */,
|
XX72A8CFBF0FBA13A79902XX /* Embed Foundation Extensions */,
|
||||||
40AF2F5BA5CA84AF70BDCE64 /* [CP] Embed Pods Frameworks */,
|
A1248897D24903117793599B /* [CP] Embed Pods Frameworks */,
|
||||||
D2EE170024D385D3D7E9FF8F /* [CP-User] [RNFB] Core Configuration */,
|
FB4B019D835055733ACDE109 /* [CP-User] [RNFB] Core Configuration */,
|
||||||
CCC1C00E4CE250301404ADA6 /* [CP-User] [RNFB] Crashlytics Configuration */,
|
563ACE2651AC39438F3B399B /* [CP-User] [RNFB] Crashlytics Configuration */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
@@ -251,7 +259,7 @@
|
|||||||
};
|
};
|
||||||
XX540FB4ABC75CE91A6036XX /* LiveDrawWidget */ = {
|
XX540FB4ABC75CE91A6036XX /* LiveDrawWidget */ = {
|
||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = XXBAA32A968BCCE457D462XX /* Build configuration list for PBXNativeTarget "LiveDrawWidget" */;
|
buildConfigurationList = XX63FAB1BD532DA0D8AE18XX /* Build configuration list for PBXNativeTarget "LiveDrawWidget" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
XX074B8811C1CF8E8A3D74XX /* Frameworks */,
|
XX074B8811C1CF8E8A3D74XX /* Frameworks */,
|
||||||
XXE45443DC38DCFE1DB622XX /* Sources */,
|
XXE45443DC38DCFE1DB622XX /* Sources */,
|
||||||
@@ -314,8 +322,8 @@
|
|||||||
BB2F792D24A3F905000567C9 /* Expo.plist in Resources */,
|
BB2F792D24A3F905000567C9 /* Expo.plist in Resources */,
|
||||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
|
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
|
||||||
3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */,
|
3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */,
|
||||||
1963764A838740A9AB3B6EDB /* GoogleService-Info.plist in Resources */,
|
FDFABE1A1A3547B1B22DD2DD /* GoogleService-Info.plist in Resources */,
|
||||||
2BC8A1C04BCD698B29D2E6E8 /* PrivacyInfo.xcprivacy in Resources */,
|
CEF2F278ABBC5FBFD470A0F7 /* PrivacyInfo.xcprivacy in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -370,42 +378,19 @@
|
|||||||
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";
|
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;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
40AF2F5BA5CA84AF70BDCE64 /* [CP] Embed Pods Frameworks */ = {
|
563ACE2651AC39438F3B399B /* [CP-User] [RNFB] Crashlytics Configuration */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
"${PODS_ROOT}/Target Support Files/Pods-Sauci/Pods-Sauci-frameworks.sh",
|
"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}",
|
||||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
|
"$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)",
|
||||||
);
|
|
||||||
name = "[CP] Embed Pods Frameworks";
|
|
||||||
outputPaths = (
|
|
||||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
|
|
||||||
);
|
);
|
||||||
|
name = "[CP-User] [RNFB] Crashlytics Configuration";
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Sauci/Pods-Sauci-frameworks.sh\"\n";
|
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";
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
78092B71106F49D87690DCAF /* [Expo] Configure project */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
alwaysOutOfDate = 1;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputFileListPaths = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
);
|
|
||||||
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-Sauci/expo-configure-project.sh\"\n";
|
|
||||||
};
|
};
|
||||||
800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = {
|
800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
@@ -485,21 +470,44 @@
|
|||||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Sauci/Pods-Sauci-resources.sh\"\n";
|
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Sauci/Pods-Sauci-resources.sh\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
CCC1C00E4CE250301404ADA6 /* [CP-User] [RNFB] Crashlytics Configuration */ = {
|
A1248897D24903117793599B /* [CP] Embed Pods Frameworks */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}",
|
"${PODS_ROOT}/Target Support Files/Pods-Sauci/Pods-Sauci-frameworks.sh",
|
||||||
"$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)",
|
"${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",
|
||||||
);
|
);
|
||||||
name = "[CP-User] [RNFB] Crashlytics Configuration";
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
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-Sauci/Pods-Sauci-frameworks.sh\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
D2EE170024D385D3D7E9FF8F /* [CP-User] [RNFB] Core Configuration */ = {
|
DC3D179C6B62F16DA5F17C2F /* [Expo] Configure project */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
alwaysOutOfDate = 1;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputFileListPaths = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
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-Sauci/expo-configure-project.sh\"\n";
|
||||||
|
};
|
||||||
|
FB4B019D835055733ACDE109 /* [CP-User] [RNFB] Core Configuration */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
@@ -522,7 +530,7 @@
|
|||||||
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */,
|
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */,
|
||||||
13B07FC11A68108700A75B9A /* main.m in Sources */,
|
13B07FC11A68108700A75B9A /* main.m in Sources */,
|
||||||
B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */,
|
B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */,
|
||||||
170EE6B9AAF2430B9AB5101D /* noop-file.swift in Sources */,
|
5254BDADE70741A0B2504FB1 /* noop-file.swift in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -561,7 +569,7 @@
|
|||||||
INFOPLIST_FILE = Sauci/Info.plist;
|
INFOPLIST_FILE = Sauci/Info.plist;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
|
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
MARKETING_VERSION = 1.0.4;
|
MARKETING_VERSION = 1.0.5;
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
@@ -590,7 +598,7 @@
|
|||||||
INFOPLIST_FILE = Sauci/Info.plist;
|
INFOPLIST_FILE = Sauci/Info.plist;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
|
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
MARKETING_VERSION = 1.0.4;
|
MARKETING_VERSION = 1.0.5;
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
@@ -746,44 +754,7 @@
|
|||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
XX7511AEB23A8B63601AE1XX /* Debug */ = {
|
XX1230635DC14DD95E28A2XX /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
|
||||||
buildSettings = {
|
|
||||||
CLANG_ANALYZER_NONNULL = YES;
|
|
||||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
|
||||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
|
||||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
|
||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
|
||||||
CODE_SIGN_ENTITLEMENTS = ../targets/widget/generated.entitlements;
|
|
||||||
CODE_SIGN_STYLE = Automatic;
|
|
||||||
CURRENT_PROJECT_VERSION = 35;
|
|
||||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
|
||||||
DEVELOPMENT_TEAM = BXVPBATDZY;
|
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
|
||||||
INFOPLIST_FILE = ../targets/widget/Info.plist;
|
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = LiveDrawWidget;
|
|
||||||
INFOPLIST_KEY_NSHumanReadableCopyright = "";
|
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
|
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
|
||||||
MARKETING_VERSION = 1.0.4;
|
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
|
||||||
MTL_FAST_MATH = YES;
|
|
||||||
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
|
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.sauci.app.LiveDrawWidget;
|
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
||||||
SKIP_INSTALL = YES;
|
|
||||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
|
||||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
||||||
SWIFT_VERSION = 5;
|
|
||||||
TARGETED_DEVICE_FAMILY = "1,2";
|
|
||||||
};
|
|
||||||
name = Debug;
|
|
||||||
};
|
|
||||||
XX917F28A41B713380F670XX /* Release */ = {
|
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
CLANG_ANALYZER_NONNULL = YES;
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
@@ -796,7 +767,7 @@
|
|||||||
CODE_SIGN_ENTITLEMENTS = ../targets/widget/generated.entitlements;
|
CODE_SIGN_ENTITLEMENTS = ../targets/widget/generated.entitlements;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
CURRENT_PROJECT_VERSION = 35;
|
CURRENT_PROJECT_VERSION = 41;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
DEVELOPMENT_TEAM = BXVPBATDZY;
|
DEVELOPMENT_TEAM = BXVPBATDZY;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
@@ -806,7 +777,7 @@
|
|||||||
INFOPLIST_KEY_NSHumanReadableCopyright = "";
|
INFOPLIST_KEY_NSHumanReadableCopyright = "";
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
|
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
||||||
MARKETING_VERSION = 1.0.4;
|
MARKETING_VERSION = 1.0.5;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
|
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.sauci.app.LiveDrawWidget;
|
PRODUCT_BUNDLE_IDENTIFIER = com.sauci.app.LiveDrawWidget;
|
||||||
@@ -815,11 +786,48 @@
|
|||||||
SWIFT_COMPILATION_MODE = wholemodule;
|
SWIFT_COMPILATION_MODE = wholemodule;
|
||||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||||
SWIFT_VERSION = 5;
|
SWIFT_VERSION = 5.0;
|
||||||
TARGETED_DEVICE_FAMILY = "1,2";
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
XX710DB962925BCE8D59ACXX /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CLANG_ANALYZER_NONNULL = YES;
|
||||||
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
||||||
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||||
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||||
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
|
CODE_SIGN_ENTITLEMENTS = ../targets/widget/generated.entitlements;
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
CURRENT_PROJECT_VERSION = 41;
|
||||||
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
|
DEVELOPMENT_TEAM = BXVPBATDZY;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
INFOPLIST_FILE = ../targets/widget/Info.plist;
|
||||||
|
INFOPLIST_KEY_CFBundleDisplayName = LiveDrawWidget;
|
||||||
|
INFOPLIST_KEY_NSHumanReadableCopyright = "";
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
||||||
|
MARKETING_VERSION = 1.0.5;
|
||||||
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
|
MTL_FAST_MATH = YES;
|
||||||
|
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = com.sauci.app.LiveDrawWidget;
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SKIP_INSTALL = YES;
|
||||||
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
/* End XCBuildConfiguration section */
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */
|
/* Begin XCConfigurationList section */
|
||||||
@@ -841,11 +849,11 @@
|
|||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
XXBAA32A968BCCE457D462XX /* Build configuration list for PBXNativeTarget "LiveDrawWidget" */ = {
|
XX63FAB1BD532DA0D8AE18XX /* Build configuration list for PBXNativeTarget "LiveDrawWidget" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
XX7511AEB23A8B63601AE1XX /* Debug */,
|
XX710DB962925BCE8D59ACXX /* Debug */,
|
||||||
XX917F28A41B713380F670XX /* Release */,
|
XX1230635DC14DD95E28A2XX /* Release */,
|
||||||
);
|
);
|
||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>1.0.4</string>
|
<string>1.0.5</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleURLTypes</key>
|
<key>CFBundleURLTypes</key>
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>35</string>
|
<string>42</string>
|
||||||
<key>GOOGLE_ANALYTICS_INAPURCHASE_COLLECTION_ENABLED</key>
|
<key>GOOGLE_ANALYTICS_INAPURCHASE_COLLECTION_ENABLED</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
|||||||
@@ -59,5 +59,5 @@ android {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation project(':expo-modules-core')
|
implementation project(':expo-modules-core')
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${getKotlinVersion()}"
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${rootProject.ext.has('kotlinVersion') ? rootProject.ext.kotlinVersion : '1.9.25'}"
|
||||||
}
|
}
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
"react": "18.3.1",
|
"react": "18.3.1",
|
||||||
"react-dom": "18.3.1",
|
"react-dom": "18.3.1",
|
||||||
"react-native": "0.76.9",
|
"react-native": "0.76.9",
|
||||||
"react-native-android-widget": "^0.20.1",
|
"react-native-android-widget": "^0.17.2",
|
||||||
"react-native-compressor": "^1.13.0",
|
"react-native-compressor": "^1.13.0",
|
||||||
"react-native-gesture-handler": "~2.20.0",
|
"react-native-gesture-handler": "~2.20.0",
|
||||||
"react-native-purchases": "^9.6.12",
|
"react-native-purchases": "^9.6.12",
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
/**
|
||||||
|
* Expo config plugin that ensures hoisted native packages are moved back
|
||||||
|
* to apps/mobile/node_modules BEFORE any other plugins try to resolve them.
|
||||||
|
*
|
||||||
|
* This runs at plugin load time (synchronously), not as a deferred mod,
|
||||||
|
* so it fixes the issue before @react-native-firebase/app plugin resolution.
|
||||||
|
*/
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
const ROOT = path.resolve(__dirname, '..', '..', '..'); // apps/mobile/../../..
|
||||||
|
const MOBILE_NM = path.join(ROOT, 'apps', 'mobile', 'node_modules');
|
||||||
|
const ROOT_NM = path.join(ROOT, 'node_modules');
|
||||||
|
|
||||||
|
const PACKAGES_TO_FIX = [
|
||||||
|
'@react-native-firebase/app',
|
||||||
|
'@react-native-firebase/analytics',
|
||||||
|
'@react-native-firebase/crashlytics',
|
||||||
|
'@shopify/react-native-skia',
|
||||||
|
];
|
||||||
|
|
||||||
|
for (const pkg of PACKAGES_TO_FIX) {
|
||||||
|
const rootPkg = path.join(ROOT_NM, pkg);
|
||||||
|
const localPkg = path.join(MOBILE_NM, pkg);
|
||||||
|
|
||||||
|
if (!fs.existsSync(rootPkg)) continue;
|
||||||
|
if (fs.existsSync(localPkg)) continue;
|
||||||
|
|
||||||
|
const localParent = path.dirname(localPkg);
|
||||||
|
fs.mkdirSync(localParent, { recursive: true });
|
||||||
|
fs.renameSync(rootPkg, localPkg);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = function withFixHoisting(config) {
|
||||||
|
return config;
|
||||||
|
};
|
||||||
@@ -0,0 +1,173 @@
|
|||||||
|
const { withDangerousMod } = require('expo/config-plugins');
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Overwrites the react-native-android-widget generated files with a native
|
||||||
|
* implementation that reads directly from SharedPreferences instead of using
|
||||||
|
* a headless JS task (broken on RN 0.76 old-arch / PlatformConstants error).
|
||||||
|
*/
|
||||||
|
module.exports = function withNativeWidget(config) {
|
||||||
|
return withDangerousMod(config, [
|
||||||
|
'android',
|
||||||
|
(dangerousConfig) => {
|
||||||
|
const androidRoot = dangerousConfig.modRequest.platformProjectRoot;
|
||||||
|
const pkg = dangerousConfig.android && dangerousConfig.android.package
|
||||||
|
? dangerousConfig.android.package
|
||||||
|
: 'com.sauci.app';
|
||||||
|
const pkgPath = pkg.split('.').join('/');
|
||||||
|
|
||||||
|
// 1. Overwrite LiveDraw.java with native implementation
|
||||||
|
const widgetDir = path.join(androidRoot, 'app/src/main/java', pkgPath, 'widget');
|
||||||
|
fs.mkdirSync(widgetDir, { recursive: true });
|
||||||
|
fs.writeFileSync(
|
||||||
|
path.join(widgetDir, 'LiveDraw.java'),
|
||||||
|
LIVE_DRAW_JAVA.replace(/com\.sauci\.app/g, pkg)
|
||||||
|
);
|
||||||
|
|
||||||
|
// 2. Write widget layout
|
||||||
|
const layoutDir = path.join(androidRoot, 'app/src/main/res/layout');
|
||||||
|
fs.mkdirSync(layoutDir, { recursive: true });
|
||||||
|
fs.writeFileSync(path.join(layoutDir, 'widget_live_draw.xml'), WIDGET_LAYOUT);
|
||||||
|
|
||||||
|
// 3. Write placeholder drawable
|
||||||
|
const drawableDir = path.join(androidRoot, 'app/src/main/res/drawable');
|
||||||
|
fs.mkdirSync(drawableDir, { recursive: true });
|
||||||
|
fs.writeFileSync(path.join(drawableDir, 'widget_placeholder.xml'), PLACEHOLDER_DRAWABLE);
|
||||||
|
|
||||||
|
// 4. Write widget provider XML with our layout
|
||||||
|
const xmlDir = path.join(androidRoot, 'app/src/main/res/xml');
|
||||||
|
fs.mkdirSync(xmlDir, { recursive: true });
|
||||||
|
fs.writeFileSync(path.join(xmlDir, 'widgetprovider_livedraw.xml'), WIDGET_PROVIDER_XML);
|
||||||
|
|
||||||
|
return dangerousConfig;
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
};
|
||||||
|
|
||||||
|
const LIVE_DRAW_JAVA = `package com.sauci.app.widget;
|
||||||
|
|
||||||
|
import android.appwidget.AppWidgetManager;
|
||||||
|
import android.appwidget.AppWidgetProvider;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.graphics.Bitmap;
|
||||||
|
import android.graphics.BitmapFactory;
|
||||||
|
import android.graphics.Canvas;
|
||||||
|
import android.graphics.Paint;
|
||||||
|
import android.graphics.RectF;
|
||||||
|
import android.util.Base64;
|
||||||
|
import android.util.TypedValue;
|
||||||
|
import android.widget.RemoteViews;
|
||||||
|
|
||||||
|
import com.sauci.app.R;
|
||||||
|
|
||||||
|
public class LiveDraw extends AppWidgetProvider {
|
||||||
|
|
||||||
|
private static final String PREFS_NAME_SUFFIX = ".widgetdata";
|
||||||
|
private static final String KEY_IMAGE = "LiveDrawImage";
|
||||||
|
private static final int BG_COLOR = 0xFF1A1A2E;
|
||||||
|
private static final int CORNER_RADIUS_DP = 16;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
|
||||||
|
for (int widgetId : appWidgetIds) {
|
||||||
|
updateWidget(context, appWidgetManager, widgetId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateWidget(Context context, AppWidgetManager appWidgetManager, int widgetId) {
|
||||||
|
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_live_draw);
|
||||||
|
|
||||||
|
String base64 = getStoredImage(context);
|
||||||
|
if (base64 != null && !base64.isEmpty()) {
|
||||||
|
try {
|
||||||
|
byte[] bytes = Base64.decode(base64, Base64.DEFAULT);
|
||||||
|
Bitmap decoded = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
|
||||||
|
if (decoded != null) {
|
||||||
|
Bitmap rounded = addRoundedBackground(context, decoded);
|
||||||
|
views.setImageViewBitmap(R.id.widget_image, rounded);
|
||||||
|
decoded.recycle();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
setPlaceholder(views);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
setPlaceholder(views);
|
||||||
|
}
|
||||||
|
|
||||||
|
appWidgetManager.updateAppWidget(widgetId, views);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getStoredImage(Context context) {
|
||||||
|
SharedPreferences prefs = context.getSharedPreferences(
|
||||||
|
context.getPackageName() + PREFS_NAME_SUFFIX, Context.MODE_PRIVATE);
|
||||||
|
return prefs.getString(KEY_IMAGE, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setPlaceholder(RemoteViews views) {
|
||||||
|
views.setImageViewResource(R.id.widget_image, R.drawable.widget_placeholder);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Bitmap addRoundedBackground(Context context, Bitmap drawing) {
|
||||||
|
float radius = TypedValue.applyDimension(
|
||||||
|
TypedValue.COMPLEX_UNIT_DIP, CORNER_RADIUS_DP,
|
||||||
|
context.getResources().getDisplayMetrics());
|
||||||
|
|
||||||
|
int w = drawing.getWidth();
|
||||||
|
int h = drawing.getHeight();
|
||||||
|
|
||||||
|
Bitmap output = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
|
||||||
|
Canvas canvas = new Canvas(output);
|
||||||
|
|
||||||
|
Paint bgPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||||
|
bgPaint.setColor(BG_COLOR);
|
||||||
|
canvas.drawRoundRect(new RectF(0, 0, w, h), radius, radius, bgPaint);
|
||||||
|
|
||||||
|
canvas.drawBitmap(drawing, 0, 0, null);
|
||||||
|
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|
||||||
|
const WIDGET_LAYOUT = `<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="#1A1A2E">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/widget_image"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:scaleType="centerInside"
|
||||||
|
android:contentDescription="@string/widget_livedraw_description" />
|
||||||
|
</FrameLayout>
|
||||||
|
`;
|
||||||
|
|
||||||
|
const WIDGET_PROVIDER_XML = `<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:minWidth="250dp"
|
||||||
|
android:minHeight="110dp"
|
||||||
|
android:targetCellWidth="4"
|
||||||
|
android:targetCellHeight="2"
|
||||||
|
android:resizeMode="none"
|
||||||
|
android:description="@string/widget_livedraw_description"
|
||||||
|
android:initialLayout="@layout/widget_live_draw"
|
||||||
|
android:previewImage="@drawable/livedraw_preview"
|
||||||
|
android:updatePeriodMillis="1800000"
|
||||||
|
android:widgetCategory="home_screen">
|
||||||
|
</appwidget-provider>
|
||||||
|
`;
|
||||||
|
|
||||||
|
const PLACEHOLDER_DRAWABLE = `<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item>
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<solid android:color="#1A1A2E" />
|
||||||
|
<corners android:radius="16dp" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
|
`;
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
const { withAndroidManifest } = require('expo/config-plugins');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fixes react-native-android-widget setting android:exported="false" on widget receivers.
|
||||||
|
* Widget receivers MUST be exported so the launcher can send APPWIDGET_UPDATE broadcasts.
|
||||||
|
*
|
||||||
|
* Uses withAndroidManifest's dangerous modifier priority to run after all other plugins.
|
||||||
|
*/
|
||||||
|
module.exports = function withWidgetExported(config) {
|
||||||
|
return withAndroidManifest(config, (config) => {
|
||||||
|
const mainApplication =
|
||||||
|
config.modResults.manifest.application?.[0];
|
||||||
|
if (!mainApplication?.receiver) return config;
|
||||||
|
|
||||||
|
for (const receiver of mainApplication.receiver) {
|
||||||
|
const intentFilters = receiver['intent-filter'] ?? [];
|
||||||
|
const isWidget = intentFilters.some((filter) =>
|
||||||
|
filter.action?.some(
|
||||||
|
(a) =>
|
||||||
|
a.$?.['android:name'] ===
|
||||||
|
'android.appwidget.action.APPWIDGET_UPDATE'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
if (isWidget) {
|
||||||
|
receiver.$['android:exported'] = 'true';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return config;
|
||||||
|
});
|
||||||
|
};
|
||||||
@@ -7,5 +7,9 @@
|
|||||||
<key>NSExtensionPointIdentifier</key>
|
<key>NSExtensionPointIdentifier</key>
|
||||||
<string>com.apple.widgetkit-extension</string>
|
<string>com.apple.widgetkit-extension</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>42</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0.5</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
Generated
+3299
-4599
File diff suppressed because it is too large.
Load diff
+3
-1
@@ -17,6 +17,7 @@
|
|||||||
"typecheck": "turbo typecheck"
|
"typecheck": "turbo typecheck"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"patch-package": "^8.0.1",
|
||||||
"pg": "^8.17.2",
|
"pg": "^8.17.2",
|
||||||
"turbo": "^2.3.3",
|
"turbo": "^2.3.3",
|
||||||
"typescript": "^5.3.3"
|
"typescript": "^5.3.3"
|
||||||
@@ -27,7 +28,8 @@
|
|||||||
},
|
},
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"rollup": "4.54.0",
|
"rollup": "4.54.0",
|
||||||
"react-native": "0.76.9"
|
"react-native": "0.76.9",
|
||||||
|
"expo": "~52.0.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@rollup/rollup-linux-arm64-musl": "4.54.0",
|
"@rollup/rollup-linux-arm64-musl": "4.54.0",
|
||||||
|
|||||||
@@ -19,7 +19,9 @@ const ROOT_NM = path.join(ROOT, 'node_modules');
|
|||||||
|
|
||||||
// Packages that must live in apps/mobile/node_modules, not root
|
// Packages that must live in apps/mobile/node_modules, not root
|
||||||
const PACKAGES_TO_FIX = [
|
const PACKAGES_TO_FIX = [
|
||||||
|
'@react-native-firebase/app',
|
||||||
'@react-native-firebase/analytics',
|
'@react-native-firebase/analytics',
|
||||||
|
'@react-native-firebase/crashlytics',
|
||||||
'@shopify/react-native-skia',
|
'@shopify/react-native-skia',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user