From b38bc3c30894c611545c58bd2a68562c145e2c13 Mon Sep 17 00:00:00 2001 From: Dorian Mazur <46839236+DorianMazur@users.noreply.github.com> Date: Mon, 21 Oct 2024 12:07:43 +0300 Subject: [PATCH] refactor: remove duplicated code and add hasCredentialsWithSecClass (#669) * refactor: remove duplicated code and add hasCredentialsWithSecClass * fix: ios build --- KeychainExample/ios/.xcode.env | 2 +- KeychainExample/ios/Podfile.lock | 454 +++++++++++----------- ios/RNKeychainManager/RNKeychainManager.m | 107 +++-- 3 files changed, 277 insertions(+), 286 deletions(-) diff --git a/KeychainExample/ios/.xcode.env b/KeychainExample/ios/.xcode.env index b9f92fb3..772b339b 100644 --- a/KeychainExample/ios/.xcode.env +++ b/KeychainExample/ios/.xcode.env @@ -1 +1 @@ -export NODE_BINARY=/Users/dorianmazur/.nvm/versions/node/v20.11.1/bin/node +export NODE_BINARY=$(command -v node) diff --git a/KeychainExample/ios/Podfile.lock b/KeychainExample/ios/Podfile.lock index bd2cb03b..dcda0d5f 100644 --- a/KeychainExample/ios/Podfile.lock +++ b/KeychainExample/ios/Podfile.lock @@ -1,7 +1,7 @@ PODS: - boost (1.83.0) - DoubleConversion (1.1.6) - - FBLazyVector (0.74.5) + - FBLazyVector (0.74.6) - fmt (9.1.0) - glog (0.3.5) - RCT-Folly (2024.01.01.00): @@ -20,27 +20,27 @@ PODS: - DoubleConversion - fmt (= 9.1.0) - glog - - RCTDeprecation (0.74.5) - - RCTRequired (0.74.5) - - RCTTypeSafety (0.74.5): - - FBLazyVector (= 0.74.5) - - RCTRequired (= 0.74.5) - - React-Core (= 0.74.5) - - React (0.74.5): - - React-Core (= 0.74.5) - - React-Core/DevSupport (= 0.74.5) - - React-Core/RCTWebSocket (= 0.74.5) - - React-RCTActionSheet (= 0.74.5) - - React-RCTAnimation (= 0.74.5) - - React-RCTBlob (= 0.74.5) - - React-RCTImage (= 0.74.5) - - React-RCTLinking (= 0.74.5) - - React-RCTNetwork (= 0.74.5) - - React-RCTSettings (= 0.74.5) - - React-RCTText (= 0.74.5) - - React-RCTVibration (= 0.74.5) - - React-callinvoker (0.74.5) - - React-Codegen (0.74.5): + - RCTDeprecation (0.74.6) + - RCTRequired (0.74.6) + - RCTTypeSafety (0.74.6): + - FBLazyVector (= 0.74.6) + - RCTRequired (= 0.74.6) + - React-Core (= 0.74.6) + - React (0.74.6): + - React-Core (= 0.74.6) + - React-Core/DevSupport (= 0.74.6) + - React-Core/RCTWebSocket (= 0.74.6) + - React-RCTActionSheet (= 0.74.6) + - React-RCTAnimation (= 0.74.6) + - React-RCTBlob (= 0.74.6) + - React-RCTImage (= 0.74.6) + - React-RCTLinking (= 0.74.6) + - React-RCTNetwork (= 0.74.6) + - React-RCTSettings (= 0.74.6) + - React-RCTText (= 0.74.6) + - React-RCTVibration (= 0.74.6) + - React-callinvoker (0.74.6) + - React-Codegen (0.74.6): - DoubleConversion - glog - RCT-Folly @@ -60,11 +60,11 @@ PODS: - React-utils - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-Core (0.74.5): + - React-Core (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - RCTDeprecation - - React-Core/Default (= 0.74.5) + - React-Core/Default (= 0.74.6) - React-cxxreact - React-featureflags - React-jsc @@ -76,7 +76,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/CoreModulesHeaders (0.74.5): + - React-Core/CoreModulesHeaders (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - RCTDeprecation @@ -92,7 +92,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/Default (0.74.5): + - React-Core/Default (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - RCTDeprecation @@ -107,12 +107,12 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/DevSupport (0.74.5): + - React-Core/DevSupport (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - RCTDeprecation - - React-Core/Default (= 0.74.5) - - React-Core/RCTWebSocket (= 0.74.5) + - React-Core/Default (= 0.74.6) + - React-Core/RCTWebSocket (= 0.74.6) - React-cxxreact - React-featureflags - React-jsc @@ -124,7 +124,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTActionSheetHeaders (0.74.5): + - React-Core/RCTActionSheetHeaders (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - RCTDeprecation @@ -140,7 +140,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTAnimationHeaders (0.74.5): + - React-Core/RCTAnimationHeaders (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - RCTDeprecation @@ -156,7 +156,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTBlobHeaders (0.74.5): + - React-Core/RCTBlobHeaders (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - RCTDeprecation @@ -172,7 +172,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTImageHeaders (0.74.5): + - React-Core/RCTImageHeaders (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - RCTDeprecation @@ -188,7 +188,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTLinkingHeaders (0.74.5): + - React-Core/RCTLinkingHeaders (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - RCTDeprecation @@ -204,7 +204,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTNetworkHeaders (0.74.5): + - React-Core/RCTNetworkHeaders (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - RCTDeprecation @@ -220,7 +220,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTSettingsHeaders (0.74.5): + - React-Core/RCTSettingsHeaders (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - RCTDeprecation @@ -236,7 +236,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTTextHeaders (0.74.5): + - React-Core/RCTTextHeaders (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - RCTDeprecation @@ -252,7 +252,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTVibrationHeaders (0.74.5): + - React-Core/RCTVibrationHeaders (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - RCTDeprecation @@ -268,11 +268,11 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTWebSocket (0.74.5): + - React-Core/RCTWebSocket (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - RCTDeprecation - - React-Core/Default (= 0.74.5) + - React-Core/Default (= 0.74.6) - React-cxxreact - React-featureflags - React-jsc @@ -284,35 +284,35 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-CoreModules (0.74.5): + - React-CoreModules (0.74.6): - DoubleConversion - fmt (= 9.1.0) - RCT-Folly (= 2024.01.01.00) - - RCTTypeSafety (= 0.74.5) + - RCTTypeSafety (= 0.74.6) - React-Codegen - - React-Core/CoreModulesHeaders (= 0.74.5) - - React-jsi (= 0.74.5) + - React-Core/CoreModulesHeaders (= 0.74.6) + - React-jsi (= 0.74.6) - React-jsinspector - React-NativeModulesApple - React-RCTBlob - - React-RCTImage (= 0.74.5) + - React-RCTImage (= 0.74.6) - ReactCommon - SocketRocket (= 0.7.0) - - React-cxxreact (0.74.5): + - React-cxxreact (0.74.6): - boost (= 1.83.0) - DoubleConversion - fmt (= 9.1.0) - glog - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.74.5) - - React-debug (= 0.74.5) - - React-jsi (= 0.74.5) + - React-callinvoker (= 0.74.6) + - React-debug (= 0.74.6) + - React-jsi (= 0.74.6) - React-jsinspector - - React-logger (= 0.74.5) - - React-perflogger (= 0.74.5) - - React-runtimeexecutor (= 0.74.5) - - React-debug (0.74.5) - - React-Fabric (0.74.5): + - React-logger (= 0.74.6) + - React-perflogger (= 0.74.6) + - React-runtimeexecutor (= 0.74.6) + - React-debug (0.74.6) + - React-Fabric (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -322,20 +322,20 @@ PODS: - React-Core - React-cxxreact - React-debug - - React-Fabric/animations (= 0.74.5) - - React-Fabric/attributedstring (= 0.74.5) - - React-Fabric/componentregistry (= 0.74.5) - - React-Fabric/componentregistrynative (= 0.74.5) - - React-Fabric/components (= 0.74.5) - - React-Fabric/core (= 0.74.5) - - React-Fabric/imagemanager (= 0.74.5) - - React-Fabric/leakchecker (= 0.74.5) - - React-Fabric/mounting (= 0.74.5) - - React-Fabric/scheduler (= 0.74.5) - - React-Fabric/telemetry (= 0.74.5) - - React-Fabric/templateprocessor (= 0.74.5) - - React-Fabric/textlayoutmanager (= 0.74.5) - - React-Fabric/uimanager (= 0.74.5) + - React-Fabric/animations (= 0.74.6) + - React-Fabric/attributedstring (= 0.74.6) + - React-Fabric/componentregistry (= 0.74.6) + - React-Fabric/componentregistrynative (= 0.74.6) + - React-Fabric/components (= 0.74.6) + - React-Fabric/core (= 0.74.6) + - React-Fabric/imagemanager (= 0.74.6) + - React-Fabric/leakchecker (= 0.74.6) + - React-Fabric/mounting (= 0.74.6) + - React-Fabric/scheduler (= 0.74.6) + - React-Fabric/telemetry (= 0.74.6) + - React-Fabric/templateprocessor (= 0.74.6) + - React-Fabric/textlayoutmanager (= 0.74.6) + - React-Fabric/uimanager (= 0.74.6) - React-graphics - React-jsc - React-jsi @@ -345,7 +345,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/animations (0.74.5): + - React-Fabric/animations (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -364,7 +364,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/attributedstring (0.74.5): + - React-Fabric/attributedstring (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -383,7 +383,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/componentregistry (0.74.5): + - React-Fabric/componentregistry (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -402,7 +402,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/componentregistrynative (0.74.5): + - React-Fabric/componentregistrynative (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -421,7 +421,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components (0.74.5): + - React-Fabric/components (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -431,17 +431,17 @@ PODS: - React-Core - React-cxxreact - React-debug - - React-Fabric/components/inputaccessory (= 0.74.5) - - React-Fabric/components/legacyviewmanagerinterop (= 0.74.5) - - React-Fabric/components/modal (= 0.74.5) - - React-Fabric/components/rncore (= 0.74.5) - - React-Fabric/components/root (= 0.74.5) - - React-Fabric/components/safeareaview (= 0.74.5) - - React-Fabric/components/scrollview (= 0.74.5) - - React-Fabric/components/text (= 0.74.5) - - React-Fabric/components/textinput (= 0.74.5) - - React-Fabric/components/unimplementedview (= 0.74.5) - - React-Fabric/components/view (= 0.74.5) + - React-Fabric/components/inputaccessory (= 0.74.6) + - React-Fabric/components/legacyviewmanagerinterop (= 0.74.6) + - React-Fabric/components/modal (= 0.74.6) + - React-Fabric/components/rncore (= 0.74.6) + - React-Fabric/components/root (= 0.74.6) + - React-Fabric/components/safeareaview (= 0.74.6) + - React-Fabric/components/scrollview (= 0.74.6) + - React-Fabric/components/text (= 0.74.6) + - React-Fabric/components/textinput (= 0.74.6) + - React-Fabric/components/unimplementedview (= 0.74.6) + - React-Fabric/components/view (= 0.74.6) - React-graphics - React-jsc - React-jsi @@ -451,7 +451,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/inputaccessory (0.74.5): + - React-Fabric/components/inputaccessory (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -470,7 +470,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/legacyviewmanagerinterop (0.74.5): + - React-Fabric/components/legacyviewmanagerinterop (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -489,7 +489,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/modal (0.74.5): + - React-Fabric/components/modal (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -508,7 +508,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/rncore (0.74.5): + - React-Fabric/components/rncore (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -527,7 +527,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/root (0.74.5): + - React-Fabric/components/root (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -546,7 +546,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/safeareaview (0.74.5): + - React-Fabric/components/safeareaview (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -565,7 +565,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/scrollview (0.74.5): + - React-Fabric/components/scrollview (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -584,7 +584,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/text (0.74.5): + - React-Fabric/components/text (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -603,7 +603,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/textinput (0.74.5): + - React-Fabric/components/textinput (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -622,7 +622,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/unimplementedview (0.74.5): + - React-Fabric/components/unimplementedview (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -641,7 +641,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/view (0.74.5): + - React-Fabric/components/view (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -661,7 +661,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - Yoga - - React-Fabric/core (0.74.5): + - React-Fabric/core (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -680,7 +680,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/imagemanager (0.74.5): + - React-Fabric/imagemanager (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -699,7 +699,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/leakchecker (0.74.5): + - React-Fabric/leakchecker (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -718,7 +718,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/mounting (0.74.5): + - React-Fabric/mounting (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -737,7 +737,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/scheduler (0.74.5): + - React-Fabric/scheduler (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -756,7 +756,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/telemetry (0.74.5): + - React-Fabric/telemetry (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -775,7 +775,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/templateprocessor (0.74.5): + - React-Fabric/templateprocessor (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -794,7 +794,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/textlayoutmanager (0.74.5): + - React-Fabric/textlayoutmanager (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -814,7 +814,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/uimanager (0.74.5): + - React-Fabric/uimanager (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog @@ -833,33 +833,33 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-FabricImage (0.74.5): + - React-FabricImage (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog - RCT-Folly/Fabric (= 2024.01.01.00) - - RCTRequired (= 0.74.5) - - RCTTypeSafety (= 0.74.5) + - RCTRequired (= 0.74.6) + - RCTTypeSafety (= 0.74.6) - React-Fabric - React-graphics - React-ImageManager - React-jsc - React-jsi - - React-jsiexecutor (= 0.74.5) + - React-jsiexecutor (= 0.74.6) - React-logger - React-rendererdebug - React-utils - ReactCommon - Yoga - - React-featureflags (0.74.5) - - React-graphics (0.74.5): + - React-featureflags (0.74.6) + - React-graphics (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog - RCT-Folly/Fabric (= 2024.01.01.00) - - React-Core/Default (= 0.74.5) + - React-Core/Default (= 0.74.6) - React-utils - - React-ImageManager (0.74.5): + - React-ImageManager (0.74.6): - glog - RCT-Folly/Fabric - React-Core/Default @@ -868,47 +868,47 @@ PODS: - React-graphics - React-rendererdebug - React-utils - - React-jsc (0.74.5): - - React-jsc/Fabric (= 0.74.5) - - React-jsi (= 0.74.5) - - React-jsc/Fabric (0.74.5): - - React-jsi (= 0.74.5) - - React-jserrorhandler (0.74.5): + - React-jsc (0.74.6): + - React-jsc/Fabric (= 0.74.6) + - React-jsi (= 0.74.6) + - React-jsc/Fabric (0.74.6): + - React-jsi (= 0.74.6) + - React-jserrorhandler (0.74.6): - RCT-Folly/Fabric (= 2024.01.01.00) - React-debug - React-jsi - React-Mapbuffer - - React-jsi (0.74.5): + - React-jsi (0.74.6): - boost (= 1.83.0) - DoubleConversion - fmt (= 9.1.0) - glog - RCT-Folly (= 2024.01.01.00) - - React-jsiexecutor (0.74.5): + - React-jsiexecutor (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog - RCT-Folly (= 2024.01.01.00) - - React-cxxreact (= 0.74.5) - - React-jsi (= 0.74.5) + - React-cxxreact (= 0.74.6) + - React-jsi (= 0.74.6) - React-jsinspector - - React-perflogger (= 0.74.5) - - React-jsinspector (0.74.5): + - React-perflogger (= 0.74.6) + - React-jsinspector (0.74.6): - DoubleConversion - glog - RCT-Folly (= 2024.01.01.00) - React-featureflags - React-jsi - - React-runtimeexecutor (= 0.74.5) - - React-jsitracing (0.74.5): + - React-runtimeexecutor (= 0.74.6) + - React-jsitracing (0.74.6): - React-jsi - - React-logger (0.74.5): + - React-logger (0.74.6): - glog - - React-Mapbuffer (0.74.5): + - React-Mapbuffer (0.74.6): - glog - React-debug - - React-nativeconfig (0.74.5) - - React-NativeModulesApple (0.74.5): + - React-nativeconfig (0.74.6) + - React-NativeModulesApple (0.74.6): - glog - React-callinvoker - React-Core @@ -919,10 +919,10 @@ PODS: - React-runtimeexecutor - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-perflogger (0.74.5) - - React-RCTActionSheet (0.74.5): - - React-Core/RCTActionSheetHeaders (= 0.74.5) - - React-RCTAnimation (0.74.5): + - React-perflogger (0.74.6) + - React-RCTActionSheet (0.74.6): + - React-Core/RCTActionSheetHeaders (= 0.74.6) + - React-RCTAnimation (0.74.6): - RCT-Folly (= 2024.01.01.00) - RCTTypeSafety - React-Codegen @@ -930,7 +930,7 @@ PODS: - React-jsi - React-NativeModulesApple - ReactCommon - - React-RCTAppDelegate (0.74.5): + - React-RCTAppDelegate (0.74.6): - RCT-Folly (= 2024.01.01.00) - RCTRequired - RCTTypeSafety @@ -953,7 +953,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon - - React-RCTBlob (0.74.5): + - React-RCTBlob (0.74.6): - DoubleConversion - fmt (= 9.1.0) - RCT-Folly (= 2024.01.01.00) @@ -965,7 +965,7 @@ PODS: - React-NativeModulesApple - React-RCTNetwork - ReactCommon - - React-RCTFabric (0.74.5): + - React-RCTFabric (0.74.6): - glog - RCT-Folly/Fabric (= 2024.01.01.00) - React-Core @@ -985,7 +985,7 @@ PODS: - React-runtimescheduler - React-utils - Yoga - - React-RCTImage (0.74.5): + - React-RCTImage (0.74.6): - RCT-Folly (= 2024.01.01.00) - RCTTypeSafety - React-Codegen @@ -994,14 +994,14 @@ PODS: - React-NativeModulesApple - React-RCTNetwork - ReactCommon - - React-RCTLinking (0.74.5): + - React-RCTLinking (0.74.6): - React-Codegen - - React-Core/RCTLinkingHeaders (= 0.74.5) - - React-jsi (= 0.74.5) + - React-Core/RCTLinkingHeaders (= 0.74.6) + - React-jsi (= 0.74.6) - React-NativeModulesApple - ReactCommon - - ReactCommon/turbomodule/core (= 0.74.5) - - React-RCTNetwork (0.74.5): + - ReactCommon/turbomodule/core (= 0.74.6) + - React-RCTNetwork (0.74.6): - RCT-Folly (= 2024.01.01.00) - RCTTypeSafety - React-Codegen @@ -1009,7 +1009,7 @@ PODS: - React-jsi - React-NativeModulesApple - ReactCommon - - React-RCTSettings (0.74.5): + - React-RCTSettings (0.74.6): - RCT-Folly (= 2024.01.01.00) - RCTTypeSafety - React-Codegen @@ -1017,23 +1017,23 @@ PODS: - React-jsi - React-NativeModulesApple - ReactCommon - - React-RCTText (0.74.5): - - React-Core/RCTTextHeaders (= 0.74.5) + - React-RCTText (0.74.6): + - React-Core/RCTTextHeaders (= 0.74.6) - Yoga - - React-RCTVibration (0.74.5): + - React-RCTVibration (0.74.6): - RCT-Folly (= 2024.01.01.00) - React-Codegen - React-Core/RCTVibrationHeaders - React-jsi - React-NativeModulesApple - ReactCommon - - React-rendererdebug (0.74.5): + - React-rendererdebug (0.74.6): - DoubleConversion - fmt (= 9.1.0) - RCT-Folly (= 2024.01.01.00) - React-debug - - React-rncore (0.74.5) - - React-RuntimeApple (0.74.5): + - React-rncore (0.74.6) + - React-RuntimeApple (0.74.6): - RCT-Folly/Fabric (= 2024.01.01.00) - React-callinvoker - React-Core/Default @@ -1050,7 +1050,7 @@ PODS: - React-RuntimeCore - React-runtimeexecutor - React-utils - - React-RuntimeCore (0.74.5): + - React-RuntimeCore (0.74.6): - glog - RCT-Folly/Fabric (= 2024.01.01.00) - React-cxxreact @@ -1063,9 +1063,9 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - React-runtimeexecutor (0.74.5): - - React-jsi (= 0.74.5) - - React-runtimescheduler (0.74.5): + - React-runtimeexecutor (0.74.6): + - React-jsi (= 0.74.6) + - React-runtimescheduler (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - React-callinvoker @@ -1077,48 +1077,48 @@ PODS: - React-rendererdebug - React-runtimeexecutor - React-utils - - React-utils (0.74.5): + - React-utils (0.74.6): - glog - RCT-Folly (= 2024.01.01.00) - React-debug - React-jsc - - React-jsi (= 0.74.5) - - ReactCommon (0.74.5): - - ReactCommon/turbomodule (= 0.74.5) - - ReactCommon/turbomodule (0.74.5): + - React-jsi (= 0.74.6) + - ReactCommon (0.74.6): + - ReactCommon/turbomodule (= 0.74.6) + - ReactCommon/turbomodule (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.74.5) - - React-cxxreact (= 0.74.5) - - React-jsi (= 0.74.5) - - React-logger (= 0.74.5) - - React-perflogger (= 0.74.5) - - ReactCommon/turbomodule/bridging (= 0.74.5) - - ReactCommon/turbomodule/core (= 0.74.5) - - ReactCommon/turbomodule/bridging (0.74.5): + - React-callinvoker (= 0.74.6) + - React-cxxreact (= 0.74.6) + - React-jsi (= 0.74.6) + - React-logger (= 0.74.6) + - React-perflogger (= 0.74.6) + - ReactCommon/turbomodule/bridging (= 0.74.6) + - ReactCommon/turbomodule/core (= 0.74.6) + - ReactCommon/turbomodule/bridging (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.74.5) - - React-cxxreact (= 0.74.5) - - React-jsi (= 0.74.5) - - React-logger (= 0.74.5) - - React-perflogger (= 0.74.5) - - ReactCommon/turbomodule/core (0.74.5): + - React-callinvoker (= 0.74.6) + - React-cxxreact (= 0.74.6) + - React-jsi (= 0.74.6) + - React-logger (= 0.74.6) + - React-perflogger (= 0.74.6) + - ReactCommon/turbomodule/core (0.74.6): - DoubleConversion - fmt (= 9.1.0) - glog - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.74.5) - - React-cxxreact (= 0.74.5) - - React-debug (= 0.74.5) - - React-jsi (= 0.74.5) - - React-logger (= 0.74.5) - - React-perflogger (= 0.74.5) - - React-utils (= 0.74.5) + - React-callinvoker (= 0.74.6) + - React-cxxreact (= 0.74.6) + - React-debug (= 0.74.6) + - React-jsi (= 0.74.6) + - React-logger (= 0.74.6) + - React-perflogger (= 0.74.6) + - React-utils (= 0.74.6) - ReactNativeHost (0.4.12): - DoubleConversion - glog @@ -1350,61 +1350,61 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost: d3f49c53809116a5d38da093a8aa78bf551aed09 DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5 - FBLazyVector: ac12dc084d1c8ec4cc4d7b3cf1b0ebda6dab85af + FBLazyVector: 4b1589d37c9ff4dba11a63083fe7515fad3ac111 fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120 glog: fdfdfe5479092de0c4bdbebedd9056951f092c4f RCT-Folly: 02617c592a293bd6d418e0a88ff4ee1f88329b47 - RCTDeprecation: 3afceddffa65aee666dafd6f0116f1d975db1584 - RCTRequired: ec1239bc9d8bf63e10fb92bd8b26171a9258e0c1 - RCTTypeSafety: f5ecbc86c5c5fa163c05acb7a1c5012e15b5f994 - React: fc9fa7258eff606f44d58c5b233a82dc9cf09018 - React-callinvoker: e3fab14d69607fb7e8e3a57e5a415aed863d3599 - React-Codegen: f6b1fd1a91eb9c09bf86134c358b64bf40e237fe - React-Core: 0358701798f780c6abc9672465a1f53db32873ee - React-CoreModules: cbf4707dafab8f9f826ac0c63a07d0bf5d01e256 - React-cxxreact: bbcd4cd82c55d34420b338eb7ecdc764ad508224 - React-debug: d30893c49ae1bce4037ea5cd8bb2511d2a38d057 - React-Fabric: 21ebfc00c8f17edfc685bd8d5c0348a3338f28c5 - React-FabricImage: d7557282a6e6856187f3d31beb752ebf981886d0 - React-featureflags: 4ae83e72d9a92452793601ac9ac7d2280e486089 - React-graphics: 61a026e1c1e7e20d20ac9fec6f6de631732b233d - React-ImageManager: 2bbd6eb2e696bc680f76f84563e4b87d241614e1 - React-jsc: 3ec68d4dd44b21345144a18c84204495e6232db5 - React-jserrorhandler: 56fa04d49bfbe54ddfece7916673a73ebfea286b - React-jsi: 04272d9a2dc26627ff56ad3729a6ec094a21cf77 - React-jsiexecutor: 5ab042f8f9ce04a39c5140d10151997b327b4fdf - React-jsinspector: 48d50026e5ba13e696799009e64a1ca24ebc9640 - React-jsitracing: 3b6060bbf5317663667e1dd93560c7943ab86ccc - React-logger: 257858bd55f3a4e1bc0cf07ddc8fb9faba6f8c7c - React-Mapbuffer: 6c1cacdbf40b531f549eba249e531a7d0bfd8e7f - React-nativeconfig: ba9a2e54e2f0882cf7882698825052793ed4c851 - React-NativeModulesApple: 374d2a7da3657bd284ffa024449ae01c804ca8da - React-perflogger: ed4e0c65781521e0424f2e5e40b40cc7879d737e - React-RCTActionSheet: 49d53ff03bb5688ca4606c55859053a0cd129ea5 - React-RCTAnimation: 07b4923885c52c397c4ec103924bf6e53b42c73e - React-RCTAppDelegate: 851a957235af2fe88bee41240a9cd6e3970729a4 - React-RCTBlob: 8b8fc9e44ce3caba82ac19a840e7fb4714010477 - React-RCTFabric: fea9748972c0216d3cb06f9aa9c4e51ad3a3ddc4 - React-RCTImage: b965c85bec820e2a9c154b1fb00a2ecdd59a9c92 - React-RCTLinking: 75f04a5f27c26c4e73a39c50df470820d219df79 - React-RCTNetwork: c1a9143f4d5778efc92da40d83969d03912ccc24 - React-RCTSettings: c6800f91c0ecd48868cd5db754b0b0a7f5ffe039 - React-RCTText: b923e24f9b7250bc4f7ab154c4168ad9f8d8fc9d - React-RCTVibration: 08c4f0c917c435b3619386c25a94ee5d64c250f0 - React-rendererdebug: 3cda04217d9df67b94397ee0ead8ef3d8b7e427b - React-rncore: 4013508a2f3fcf46c961919bbbd4bfdda198977e - React-RuntimeApple: 056ac1b1d15b88f178a5bd03f41c59877e5a63df - React-RuntimeCore: 0b1289ca86bbc5eb8e981cd8dae1d1258f87ea85 - React-runtimeexecutor: 0e688aefc14c6bc8601f4968d8d01c3fb6446844 - React-runtimescheduler: 057a40b536cab47481d2a2b4f5e93d7eb0b285de - React-utils: b4b4a8bdd58632a9ec314071fbd4a642d984718e - ReactCommon: bfd464c8f774a0acb93cf2a45afa80b763431f1b + RCTDeprecation: 5f1d7e1f8ef6c53f0207e3ac0d0ca23575e8a6ab + RCTRequired: dcfd24ece09940bbf24b7c2974f4eb68a9baee55 + RCTTypeSafety: 3d65944055cc73f3bb28c3f05c7eaff2bb7ceb83 + React: c5e9f3c07a890a7e2a1ec9b79faa5c53dd7aee01 + React-callinvoker: 9ac986dbbd0e1b3463cb740b12c0b37dbcd15fed + React-Codegen: e00bdee58d608acc6dc03a75fed540be38d5cd9b + React-Core: 68da647e240a80868718b0974e0d310678561dab + React-CoreModules: 704fd52f83780e1870a946d5c3ea6ea1175aa523 + React-cxxreact: 2860d008fec1b67c1d1bb977e3d53c7bbeed282c + React-debug: 180e1bf4a97fa4404ee7fb68952cace122aa9d73 + React-Fabric: 8fc5a34fc0ae0ec35614c4c281dae9d882d7a5c1 + React-FabricImage: b08f9140939f4935c6899ef8da93cea5569eb7e9 + React-featureflags: 05fabc5e165fa3864c879556e83a455b8a0573fa + React-graphics: 77bb68d9d913682a23c621df01ab61b2e58a5c70 + React-ImageManager: 6dbe9e5578c03d48b25e646ee65faa63b10e9544 + React-jsc: 23f24ca8ea96bb10849d973cf4ba4bfc51f58366 + React-jserrorhandler: 16f7ef986fd20a2d342e5430c9dd0502a4136320 + React-jsi: f662b7af10a32bb958af2a9ac48fd48b826f7f26 + React-jsiexecutor: d4ca3a09b9f80be6acb9f7cff23d9d29dff931ed + React-jsinspector: 065c536ee8e472e7116d23a54ebdaa8e2709b575 + React-jsitracing: df84cc252a1f4bb0970f7fe13c470451b18c2cbb + React-logger: de9b65c8c7b71a663e6e99d347b1c445f5190c39 + React-Mapbuffer: 766bb4d8f655d816913325b353d800debbde7209 + React-nativeconfig: c36a079fa219a9911070cc0058b746407e1ef47d + React-NativeModulesApple: 3a44200b0b19341bcf508d8530317cae6348c89e + React-perflogger: 9f21c9e3d8d220833e649a141fed8e5ca08977d9 + React-RCTActionSheet: 4c1f0dc56952f21a904e9f3bf74253eebee1d1d9 + React-RCTAnimation: 2c0b963d4fd978ce35daa330986a8bc442c7517a + React-RCTAppDelegate: eb1afd41372c101a3cd8620047dcdccf1213fc75 + React-RCTBlob: c81fb4174c8d59505dd8fcda419534eb7f7812d3 + React-RCTFabric: 02c7370cde90e51eee2ed2021d40d5fc489624f1 + React-RCTImage: e63bc8abbad2c5a4eda53ff35282d83bc9df7559 + React-RCTLinking: 12c6962253fd2f2494231eb8ae2fecae71e54e2f + React-RCTNetwork: 46df47440bd2bf63b0ca0a3c640471243ed2922a + React-RCTSettings: 5e1dfa02ae2d6cf54b3fdfebaa80837540c50847 + React-RCTText: 1c045a74e4fda674523c932f53bdd15b2a3ba085 + React-RCTVibration: 2ba9de92ae71526b3e02b8b8b2fce5cbf47c393f + React-rendererdebug: acb324f4975412bb14d55b29dd5ca6961b5fa06a + React-rncore: 63db76511a92db6cf9649c9d6567e014b7eeb6f5 + React-RuntimeApple: 8e600b273afe075e607ec88d774ee5b453ed3b50 + React-RuntimeCore: 060bf0cf81193f69604251936edc6c006af465bf + React-runtimeexecutor: bf091a7f5f5130daab6d8216aaa290374b214cb8 + React-runtimescheduler: ec2095b24e8062d598798598752415d4215d057d + React-utils: b0685fbfd8a0e99bbf62f1c1a27534642fd3dc05 + ReactCommon: 3362de98d22932facb7484fbf8fc77cd6d334759 ReactNativeHost: 2bc85a4cc8f2e7e7fef5e551d4adb9c90757859f ReactTestApp-DevSupport: 74676edd899013becce4eaecc5eabba1fc51e26e ReactTestApp-Resources: 857244f3a23f2b3157b364fa06cf3e8866deff9c RNKeychain: 604650b3772651acb4a47e261c306c789c0c4d9f SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d - Yoga: 950bbfd7e6f04790fdb51149ed51df41f329fcc8 + Yoga: 4f4f07a17818e76d1b04edc01b68b6d49a682100 PODFILE CHECKSUM: 8daf094af2120901c020904ed4ae6b82bfbd5642 diff --git a/ios/RNKeychainManager/RNKeychainManager.m b/ios/RNKeychainManager/RNKeychainManager.m index 8f1df814..18e42abd 100644 --- a/ios/RNKeychainManager/RNKeychainManager.m +++ b/ios/RNKeychainManager/RNKeychainManager.m @@ -226,12 +226,12 @@ - (void)insertKeychainEntry:(NSDictionary *)attributes if (accessControl) { NSError *aerr = nil; -#if TARGET_OS_IOS || TARGET_OS_VISION + #if TARGET_OS_IOS || TARGET_OS_VISION BOOL canAuthenticate = [[LAContext new] canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error:&aerr]; if (aerr || !canAuthenticate) { return rejectWithError(reject, aerr); } -#endif + #endif CFErrorRef error = NULL; SecAccessControlRef sacRef = SecAccessControlCreateWithFlags(kCFAllocatorDefault, @@ -267,6 +267,45 @@ - (void)insertKeychainEntry:(NSDictionary *)attributes } } +- (void)hasCredentialsWithSecClass:(CFTypeRef)secClass + options:(NSDictionary *)options + resolver:(RCTPromiseResolveBlock)resolve + rejecter:(RCTPromiseRejectBlock)reject +{ + CFBooleanRef cloudSync = cloudSyncValue(options); + NSMutableDictionary *queryParts = [[NSMutableDictionary alloc] init]; + queryParts[(__bridge NSString *)kSecClass] = (__bridge id)(secClass), + queryParts[(__bridge NSString *)kSecMatchLimit] = (__bridge NSString *)kSecMatchLimitOne; + queryParts[(__bridge NSString *)kSecAttrSynchronizable] = (__bridge id)(cloudSync); + + if (secClass == kSecClassInternetPassword) { + queryParts[(__bridge NSString *)kSecAttrServer] = serverValue(options); + } else { + queryParts[(__bridge NSString *)kSecAttrService] = serviceValue(options); + } + + if (@available(iOS 9, *)) { + queryParts[(__bridge NSString *)kSecUseAuthenticationUI] = (__bridge NSString *)kSecUseAuthenticationUIFail; + } + + NSDictionary *query = [queryParts copy]; + + // Perform the keychain query + OSStatus osStatus = SecItemCopyMatching((__bridge CFDictionaryRef)query, nil); + + switch (osStatus) { + case noErr: + case errSecInteractionNotAllowed: + return resolve(@(YES)); + + case errSecItemNotFound: + return resolve(@(NO)); + } + + NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain code:osStatus userInfo:nil]; + return rejectWithError(reject, error); +} + - (OSStatus)deletePasswordsForOptions:(NSDictionary *)options { NSString *service = serviceValue(options); @@ -485,68 +524,20 @@ - (OSStatus)deleteCredentialsForServer:(NSString *)server withOptions:(NSDiction resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) { - CFBooleanRef cloudSync = cloudSyncValue(options); - NSString *server = serverValue(options); - NSMutableDictionary *queryParts = [[NSMutableDictionary alloc] init]; - - queryParts[(__bridge NSString *)kSecClass] = (__bridge id)(kSecClassInternetPassword); - queryParts[(__bridge NSString *)kSecAttrServer] = server; - queryParts[(__bridge NSString *)kSecMatchLimit] = (__bridge NSString *)kSecMatchLimitOne; - queryParts[(__bridge NSString *)kSecAttrSynchronizable] = (__bridge id)(cloudSync); - - if (@available(iOS 9, *)) { - queryParts[(__bridge NSString *)kSecUseAuthenticationUI] = (__bridge NSString *)kSecUseAuthenticationUIFail; - } - - NSDictionary *query = [queryParts copy]; - - // Look up server in the keychain - OSStatus osStatus = SecItemCopyMatching((__bridge CFDictionaryRef) query, nil); - - switch (osStatus) { - case noErr: - case errSecInteractionNotAllowed: - return resolve(@(YES)); - - case errSecItemNotFound: - return resolve(@(NO)); - } - - NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain code:osStatus userInfo:nil]; - return rejectWithError(reject, error); + [self hasCredentialsWithSecClass:kSecClassInternetPassword + options:options + resolver:resolve + rejecter:reject]; } RCT_EXPORT_METHOD(hasGenericPasswordForOptions:(NSDictionary *)options resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) { - NSString *service = serviceValue(options); - - NSMutableDictionary *queryParts = [[NSMutableDictionary alloc] init]; - queryParts[(__bridge NSString *)kSecClass] = (__bridge id)(kSecClassGenericPassword); - queryParts[(__bridge NSString *)kSecAttrService] = service; - queryParts[(__bridge NSString *)kSecMatchLimit] = (__bridge NSString *)kSecMatchLimitOne; - - if (@available(iOS 9, *)) { - queryParts[(__bridge NSString *)kSecUseAuthenticationUI] = (__bridge NSString *)kSecUseAuthenticationUIFail; - } - - NSDictionary *query = [queryParts copy]; - - // Look up service in the keychain - OSStatus osStatus = SecItemCopyMatching((__bridge CFDictionaryRef) query, nil); - - switch (osStatus) { - case noErr: - case errSecInteractionNotAllowed: - return resolve(@(YES)); - - case errSecItemNotFound: - return resolve(@(NO)); - } - - NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain code:osStatus userInfo:nil]; - return rejectWithError(reject, error); + [self hasCredentialsWithSecClass:kSecClassGenericPassword + options:options + resolver:resolve + rejecter:reject]; } RCT_EXPORT_METHOD(getInternetCredentialsForServer:(NSString *)server