diff --git a/node_modules/react-native-mmkv-storage/ios/SecureStorage.m b/node_modules/react-native-mmkv-storage/ios/SecureStorage.m
index eacd030..f4b1b96 100644
--- a/node_modules/react-native-mmkv-storage/ios/SecureStorage.m
+++ b/node_modules/react-native-mmkv-storage/ios/SecureStorage.m
@@ -96,6 +96,9 @@ NSString *serviceName = nil;
 
 - (NSMutableDictionary *)newSearchDictionary:(NSString *)identifier {
     NSMutableDictionary *searchDictionary = [[NSMutableDictionary alloc] init];
+    // this value is shared by main app and extensions, so, is the best to be used here
+    serviceName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"AppGroup"];
+
     if(serviceName == nil){
         serviceName = [[NSBundle mainBundle] bundleIdentifier];
     }
@@ -107,6 +110,9 @@ NSString *serviceName = nil;
     [searchDictionary setObject:encodedIdentifier forKey:(id)kSecAttrAccount];
     [searchDictionary setObject:serviceName forKey:(id)kSecAttrService];
 
+    NSString *keychainGroup = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"KeychainGroup"];
+    [searchDictionary setObject:keychainGroup forKey:(id)kSecAttrAccessGroup];
+
     return searchDictionary;
 }
 
@@ -208,11 +214,14 @@ NSString *serviceName = nil;
 
 - (void)handleAppUninstallation
 {
-   // if (![[NSUserDefaults standardUserDefaults] boolForKey:@"RnSksIsAppInstalled"]) {
-   //     [self clearSecureKeyStore];
-     //[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"IsAppInstalled"];
-     [[NSUserDefaults standardUserDefaults] synchronize];
-   // }
+    // use app group user defaults to prevent clear when it's share extension
+    NSString *suiteName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"AppGroup"];
+    NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:suiteName];
+    if (![userDefaults boolForKey:@"RnSksIsAppInstalled"]) {
+        [self clearSecureKeyStore];
+        [userDefaults setBool:YES forKey:@"RnSksIsAppInstalled"];
+        [userDefaults synchronize];
+    }
 }
 
 - (void) setServiceName:(NSString *)_serviceName
