mrousavy / react-native-mmkv

⚡️ The fastest key/value storage for React Native. ~30x faster than AsyncStorage!
https://mrousavy.com
MIT License
5.86k stars 252 forks source link

3.0.0. build issue (Expo SDK 51, RN 0.74.5 New architecture) #723

Closed plrdev closed 2 weeks ago

plrdev commented 3 weeks ago

ENV:

Expo SDK 51 RN 0.74.5 New Architecture/Bridgeless enabled

iOS build:

❌ (node_modules/react-native-mmkv/MMKV/Core/aes/AESCrypt.cpp:192:16)

190 | 191 | // check if AESCrypt is encrypt-decrypt full-duplex

192 | void AESCrypt::testAESCrypt() { | ^ cannot define or redeclare 'testAESCrypt' here because namespace 'mmkv' does not enclose namespace 'AESCrypt' 193 | testRandomPlaceHolder(); 194 | 195 | const uint8_t plainText[] = "Hello, OpenSSL-mmkv::AESCrypt::testAESCrypt() with AES CFB 128.";

Many errors related to AESCrypt, such as this when trying to compile.

Android build works just fine.

maintenance-hans[bot] commented 3 weeks ago

Guten Tag, Hans here 🍻

Thank you for reporting zis issue! It seems like you're running into a compile issue with AESCrypt on iOS. However, I notice zat you didn’t provide ze complete build logs from Xcode. To help mrousavy fix zis, please share ze relevant logs you see when you build ze project in Xcode.

Also, if you find zese issues helpful, consider supporting ze project by becoming a sponsor so mrousavy can dedicate more time to resolving issues.

Looking forward to your response!

Note: If you think I made a mistake, please ping @mrousavy to take a look.

Artem2001S commented 3 weeks ago

Same issue

image
mrousavy commented 3 weeks ago

Posting screenshots is not very helpful btw. Build logs would be better.

But you can try building a release build to see if that works

mrousavy commented 3 weeks ago

Does 3.0.0-beta.7 work for you?

joacub commented 2 weeks ago

Does 3.0.0-beta.7 work for you?

still failing even in 3.0.0

Build Logs

› Compiling react-native-mmkv Pods/react-native-mmkv » AESCrypt.cpp

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:30:18)

  28 | template<class _Tp>
  29 | struct is_bind_expression : _If<
> 30 |     _IsSame<_Tp, __remove_cvref_t<_Tp> >::value,
     |                  ^ use of undeclared identifier '__remove_cvref_t'
  31 |     false_type,
  32 |     is_bind_expression<__remove_cvref_t<_Tp> >
  33 | > {};

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:42:18)

  40 | template<class _Tp>
  41 | struct is_placeholder : _If<
> 42 |     _IsSame<_Tp, __remove_cvref_t<_Tp> >::value,
     |                  ^ use of undeclared identifier '__remove_cvref_t'
  43 |     integral_constant<int, 0>,
  44 |     is_placeholder<__remove_cvref_t<_Tp> >
  45 | > {};

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:44:20)

  42 |     _IsSame<_Tp, __remove_cvref_t<_Tp> >::value,
  43 |     integral_constant<int, 0>,
> 44 |     is_placeholder<__remove_cvref_t<_Tp> >
     |                    ^ use of undeclared identifier '__remove_cvref_t'
  45 | > {};
  46 | 
  47 | #if _LIBCPP_STD_VER >= 17

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:80:14)

  78 | template<int _Np>
  79 | struct is_placeholder<placeholders::__ph<_Np> >
> 80 |     : public integral_constant<int, _Np> {};
     |              ^ no template named 'integral_constant'; did you mean '::std::integral_constant'?
  81 | 
  82 | 
  83 | #ifndef _LIBCPP_CXX03_LANG

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:88:6)

  86 | inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20
  87 | _Tp&
> 88 | __mu(reference_wrapper<_Tp> __t, _Uj&)
     |      ^ no template named 'reference_wrapper'; did you mean '::std::reference_wrapper'?
  89 | {
  90 |     return __t.get();
  91 | }

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:95:10)

  93 | template <class _Ti, class ..._Uj, size_t ..._Indx>
  94 | inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20
> 95 | typename __invoke_of<_Ti&, _Uj...>::type
     |          ^ no template named '__invoke_of'; did you mean '::std::__invoke_of'?
  96 | __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
  97 | {
  98 |     return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:96:24)

  94 | inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20
  95 | typename __invoke_of<_Ti&, _Uj...>::type
> 96 | __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
     |                        ^ no template named 'tuple'; did you mean '::std::tuple'?
  97 | {
  98 |     return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);
  99 | }

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:96:45)

  94 | inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20
  95 | typename __invoke_of<_Ti&, _Uj...>::type
> 96 | __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
     |                                             ^ no template named '__tuple_indices'; did you mean '::std::__tuple_indices'?
  97 | {
  98 |     return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);
  99 | }

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:98:17)

   96 | __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
   97 | {
>  98 |     return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);
      |                 ^ no template named 'forward' in namespace 'mmkv::std'; did you mean '::std::forward'?
   99 | }
  100 | 
  101 | template <class _Ti, class ..._Uj>

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:98:17)

   96 | __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
   97 | {
>  98 |     return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);
      |                 ^ no template named 'forward' in namespace 'mmkv::std'; did you mean '::std::forward'?
   99 | }
  100 | 
  101 | template <class _Ti, class ..._Uj>

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:98:37)

   96 | __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
   97 | {
>  98 |     return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);
      |                                     ^ no template named 'get' in namespace 'mmkv::std'; did you mean '::std::get'?
   99 | }
  100 | 
  101 | template <class _Ti, class ..._Uj>

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:98:37)

   96 | __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
   97 | {
>  98 |     return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);
      |                                     ^ no template named 'get' in namespace 'mmkv::std'; did you mean '::std::get'?
   99 | }
  100 | 
  101 | template <class _Ti, class ..._Uj>

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:106:5)

  104 | <
  105 |     is_bind_expression<_Ti>::value,
> 106 |     __invoke_of<_Ti&, _Uj...>
      |     ^ use of undeclared identifier '__invoke_of'
  107 | >::type
  108 | __mu(_Ti& __ti, tuple<_Uj...>& __uj)
  109 | {

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:108:17)

  106 |     __invoke_of<_Ti&, _Uj...>
  107 | >::type
> 108 | __mu(_Ti& __ti, tuple<_Uj...>& __uj)
      |                 ^ no template named 'tuple'; did you mean '::std::tuple'?
  109 | {
  110 |     typedef typename __make_tuple_indices<sizeof...(_Uj)>::type __indices;
  111 |     return _VSTD::__mu_expand(__ti, __uj, __indices());

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:110:22)

  108 | __mu(_Ti& __ti, tuple<_Uj...>& __uj)
  109 | {
> 110 |     typedef typename __make_tuple_indices<sizeof...(_Uj)>::type __indices;
      |                      ^ no template named '__make_tuple_indices'; did you mean '::std::__make_tuple_indices'?
  111 |     return _VSTD::__mu_expand(__ti, __uj, __indices());
  112 | }
  113 | 

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:120:22)

  118 | struct __mu_return2<true, _Ti, _Uj>
  119 | {
> 120 |     typedef typename tuple_element<is_placeholder<_Ti>::value - 1, _Uj>::type type;
      |                      ^ no template named 'tuple_element'; did you mean '::std::tuple_element'?
  121 | };
  122 | 
  123 | template <class _Ti, class _Uj>

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:125:10)

  123 | template <class _Ti, class _Uj>
  124 | inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20
> 125 | typename enable_if
      |          ^ no template named 'enable_if'; did you mean '::std::enable_if'?
  126 | <
  127 |     0 < is_placeholder<_Ti>::value,
  128 |     typename __mu_return2<0 < is_placeholder<_Ti>::value, _Ti, _Uj>::type

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:133:12)

  131 | {
  132 |     const size_t __indx = is_placeholder<_Ti>::value - 1;
> 133 |     return _VSTD::forward<typename tuple_element<__indx, _Uj>::type>(_VSTD::get<__indx>(__uj));
      |            ^ no template named 'forward' in namespace 'mmkv::std'; did you mean '::std::forward'?
  134 | }
  135 | 
  136 | template <class _Ti, class _Uj>

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:133:36)

  131 | {
  132 |     const size_t __indx = is_placeholder<_Ti>::value - 1;
> 133 |     return _VSTD::forward<typename tuple_element<__indx, _Uj>::type>(_VSTD::get<__indx>(__uj));
      |                                    ^ no template named 'tuple_element'; did you mean '::std::tuple_element'?
  134 | }
  135 | 
  136 | template <class _Ti, class _Uj>

❌  fatal error: too many errors emitted, stopping now [-ferror-limit=]

› Compiling @react-native-community/blur Pods/react-native-blur » VibrancyViewManager.mm
› Compiling @react-native-community/blur Pods/react-native-blur » VibrancyView.mm
› Compiling @react-native-community/blur Pods/react-native-blur » BlurViewManager.mm
› Compiling @react-native-community/blur Pods/react-native-blur » BlurView.mm
› Compiling rn-phone-number-input Pods/phone-number-input » phone-number-input-dummy.m
› Compiling rn-phone-number-input Pods/phone-number-input » PhoneNumberToolbarViewManager.mm
› Compiling rn-phone-number-input Pods/phone-number-input » PhoneNumberToolbarView.mm
› Compiling rn-phone-number-input Pods/phone-number-input » PhoneNumberToolbar.mm
› Compiling rn-phone-number-input Pods/phone-number-input » PhoneNumberPicker.mm
› Compiling rn-phone-number-input Pods/phone-number-input » PhoneNumberInputViewManager.mm
› Compiling rn-phone-number-input Pods/phone-number-input » PhoneNumberInputView.mm
› Compiling rn-phone-number-input Pods/phone-number-input » phone_number_input_vers.c
› Compiling react-native-vector-icons Pods/RNVectorIcons » RNVectorIconsManager.mm
› Compiling react-native-vector-icons Pods/RNVectorIcons » RNVectorIcons_vers.c
› Compiling @sentry/react-native Pods/RNSentry » RNSentryReplayBreadcrumbConverter.m
› Compiling @sentry/react-native Pods/RNSentry » RNSentryReplay.m
› Compiling @sentry/react-native Pods/RNSentry » RNSentryRNSScreen.m
› Compiling @sentry/react-native Pods/RNSentry » RNSentryOnDrawReporter.m
› Compiling @sentry/react-native Pods/RNSentry » RNSentryId.m
› Compiling @sentry/react-native Pods/RNSentry » RNSentryFramesTrackerListener.m
› Compiling @sentry/react-native Pods/RNSentry » RNSentryEvents.m
› Compiling @sentry/react-native Pods/RNSentry » RNSentryDependencyContainer.m
⚠️  Script has ambiguous dependencies causing it to run on every build.
   To fix, go to: Xcode » WeShipYou/WeShipYou » Build Phases » 'Upload Debug Symbols to Sentry'
   Either: Uncheck "Based on dependency analysis", or select output files to trigger the script

› 20 error(s), and 1 warning(s)

CommandError: Failed to build iOS project. "xcodebuild" exited with error code 65.
plrdev commented 2 weeks ago

Does 3.0.0-beta.7 work for you?

3.0.0-beta7 did compile properly for me.

b0xtch commented 2 weeks ago

Facing the same issue as well, compiling with 3.0.0-beta7 works

DorianMazur commented 2 weeks ago

Hey @mrousavy This error is caused by this commit. I created a patch that others can apply to quickly fix builds:

diff --git a/MMKV/Core/aes/AESCrypt.cpp b/MMKV/Core/aes/AESCrypt.cpp
index 64f42661a34eac831463a4e8b428690c2ff1a5e3..a1225b039e95d614b54f429bc6efe9afecc4c824 100644
--- a/MMKV/Core/aes/AESCrypt.cpp
+++ b/MMKV/Core/aes/AESCrypt.cpp
@@ -25,25 +25,12 @@
 #include <cstring>
 #include <ctime>

-namespace mmkv {
-
-// assuming size in [1, 5]
-uint32_t AESCrypt::randomItemSizeHolder(uint32_t size) {
-    constexpr uint32_t ItemSizeHolders[] = {0, 0x80, 0x4000, 0x200000, 0x10000000, 0};
-    auto ItemSizeHolderMin = ItemSizeHolders[size - 1];
-    auto ItemSizeHolderMax = ItemSizeHolders[size] - 1;
-
-    srand((unsigned) time(nullptr));
-    auto result = static_cast<uint32_t>(rand());
-    result = result % (ItemSizeHolderMax - ItemSizeHolderMin + 1);
-    result += ItemSizeHolderMin;
-    return result;
-}
-
 #ifndef MMKV_DISABLE_CRYPT

 using namespace openssl;

+namespace mmkv {
+
 AESCrypt::AESCrypt(const void *key, size_t keyLength, const void *iv, size_t ivLength) {
     if (key && keyLength > 0) {
         memcpy(m_key, key, (keyLength > AES_KEY_LEN) ? AES_KEY_LEN : keyLength);
@@ -115,6 +102,19 @@ void AESCrypt::fillRandomIV(void *vector) {
     }
 }

+// assuming size in [1, 5]
+uint32_t AESCrypt::randomItemSizeHolder(uint32_t size) {
+    constexpr uint32_t ItemSizeHolders[] = {0, 0x80, 0x4000, 0x200000, 0x10000000, 0};
+    auto ItemSizeHolderMin = ItemSizeHolders[size - 1];
+    auto ItemSizeHolderMax = ItemSizeHolders[size] - 1;
+
+    srand((unsigned) time(nullptr));
+    auto result = static_cast<uint32_t>(rand());
+    result = result % (ItemSizeHolderMax - ItemSizeHolderMin + 1);
+    result += ItemSizeHolderMin;
+    return result;
+}
+
 static inline void
 Rollback_cfb_decrypt(const uint8_t *input, const uint8_t *output, size_t len, AES_KEY *key, AESCryptStatus &status) {
     auto ivec = status.m_vector;
@@ -174,6 +174,8 @@ AESCrypt AESCrypt::cloneWithStatus(const AESCryptStatus &status) const {
     return AESCrypt(*this, status);
 }

+} // namespace mmkv
+
 #    ifdef MMKV_DEBUG

 #        include "../MMKVLog.h"
@@ -270,7 +272,7 @@ void AESCrypt::testAESCrypt() {
     delete[] decryptText;
 }

+} // namespace mmkv
+
 #    endif // MMKV_DEBUG
 #endif     // MMKV_DISABLE_CRYPT
\ No newline at end of file
-
-} // namespace mmkv
diff --git a/MMKV/Core/aes/AESCrypt.h b/MMKV/Core/aes/AESCrypt.h
index 5a31704271070d5f4c6dc8233d9fd7f1224c3a91..376b9c15a49b34cf9a84319c014393b4b4aa0731 100755
--- a/MMKV/Core/aes/AESCrypt.h
+++ b/MMKV/Core/aes/AESCrypt.h
@@ -29,10 +29,7 @@
 #ifdef MMKV_DISABLE_CRYPT

 namespace mmkv {
-class AESCrypt {
-public:
-    static uint32_t randomItemSizeHolder(uint32_t size);
-};
+class AESCrypt;
 }

 #else
mrousavy commented 2 weeks ago

Thanks! Can you create a PR (or issue) in the Tencent/MMKV repo?

DorianMazur commented 2 weeks ago

@mrousavy I created PR to fix reat-native-mmkv as I believe we are using wrong commit for git submodule. The latest LTS release of MMKV points to a different commit than the one we're currently using: MMKV Releases

I will also open an issue on the MMKV repo

mrousavy commented 2 weeks ago

Awesome, thanks for the PR. Fixed in 3.0.1

Hatta-Food-Hub commented 5 days ago

why this fix not in 3.0.2

the issue is still

in 3.0.0 works in android but not in ios

then 3.0.2 works in android still not in ios

3.0.1 works in both but don't know till when !!

mrousavy commented 5 days ago

@Hatta-Food-Hub what error are you getting exactly?

Hatta-Food-Hub commented 5 days ago

Does 3.0.0-beta.7 work for you?

still failing even in 3.0.0

Build Logs

› Compiling react-native-mmkv Pods/react-native-mmkv » AESCrypt.cpp

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:30:18)

  28 | template<class _Tp>
  29 | struct is_bind_expression : _If<
> 30 |     _IsSame<_Tp, __remove_cvref_t<_Tp> >::value,
     |                  ^ use of undeclared identifier '__remove_cvref_t'
  31 |     false_type,
  32 |     is_bind_expression<__remove_cvref_t<_Tp> >
  33 | > {};

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:42:18)

  40 | template<class _Tp>
  41 | struct is_placeholder : _If<
> 42 |     _IsSame<_Tp, __remove_cvref_t<_Tp> >::value,
     |                  ^ use of undeclared identifier '__remove_cvref_t'
  43 |     integral_constant<int, 0>,
  44 |     is_placeholder<__remove_cvref_t<_Tp> >
  45 | > {};

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:44:20)

  42 |     _IsSame<_Tp, __remove_cvref_t<_Tp> >::value,
  43 |     integral_constant<int, 0>,
> 44 |     is_placeholder<__remove_cvref_t<_Tp> >
     |                    ^ use of undeclared identifier '__remove_cvref_t'
  45 | > {};
  46 | 
  47 | #if _LIBCPP_STD_VER >= 17

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:80:14)

  78 | template<int _Np>
  79 | struct is_placeholder<placeholders::__ph<_Np> >
> 80 |     : public integral_constant<int, _Np> {};
     |              ^ no template named 'integral_constant'; did you mean '::std::integral_constant'?
  81 | 
  82 | 
  83 | #ifndef _LIBCPP_CXX03_LANG

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:88:6)

  86 | inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20
  87 | _Tp&
> 88 | __mu(reference_wrapper<_Tp> __t, _Uj&)
     |      ^ no template named 'reference_wrapper'; did you mean '::std::reference_wrapper'?
  89 | {
  90 |     return __t.get();
  91 | }

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:95:10)

  93 | template <class _Ti, class ..._Uj, size_t ..._Indx>
  94 | inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20
> 95 | typename __invoke_of<_Ti&, _Uj...>::type
     |          ^ no template named '__invoke_of'; did you mean '::std::__invoke_of'?
  96 | __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
  97 | {
  98 |     return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:96:24)

  94 | inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20
  95 | typename __invoke_of<_Ti&, _Uj...>::type
> 96 | __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
     |                        ^ no template named 'tuple'; did you mean '::std::tuple'?
  97 | {
  98 |     return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);
  99 | }

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:96:45)

  94 | inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20
  95 | typename __invoke_of<_Ti&, _Uj...>::type
> 96 | __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
     |                                             ^ no template named '__tuple_indices'; did you mean '::std::__tuple_indices'?
  97 | {
  98 |     return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);
  99 | }

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:98:17)

   96 | __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
   97 | {
>  98 |     return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);
      |                 ^ no template named 'forward' in namespace 'mmkv::std'; did you mean '::std::forward'?
   99 | }
  100 | 
  101 | template <class _Ti, class ..._Uj>

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:98:17)

   96 | __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
   97 | {
>  98 |     return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);
      |                 ^ no template named 'forward' in namespace 'mmkv::std'; did you mean '::std::forward'?
   99 | }
  100 | 
  101 | template <class _Ti, class ..._Uj>

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:98:37)

   96 | __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
   97 | {
>  98 |     return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);
      |                                     ^ no template named 'get' in namespace 'mmkv::std'; did you mean '::std::get'?
   99 | }
  100 | 
  101 | template <class _Ti, class ..._Uj>

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:98:37)

   96 | __mu_expand(_Ti& __ti, tuple<_Uj...>& __uj, __tuple_indices<_Indx...>)
   97 | {
>  98 |     return __ti(_VSTD::forward<_Uj>(_VSTD::get<_Indx>(__uj))...);
      |                                     ^ no template named 'get' in namespace 'mmkv::std'; did you mean '::std::get'?
   99 | }
  100 | 
  101 | template <class _Ti, class ..._Uj>

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:106:5)

  104 | <
  105 |     is_bind_expression<_Ti>::value,
> 106 |     __invoke_of<_Ti&, _Uj...>
      |     ^ use of undeclared identifier '__invoke_of'
  107 | >::type
  108 | __mu(_Ti& __ti, tuple<_Uj...>& __uj)
  109 | {

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:108:17)

  106 |     __invoke_of<_Ti&, _Uj...>
  107 | >::type
> 108 | __mu(_Ti& __ti, tuple<_Uj...>& __uj)
      |                 ^ no template named 'tuple'; did you mean '::std::tuple'?
  109 | {
  110 |     typedef typename __make_tuple_indices<sizeof...(_Uj)>::type __indices;
  111 |     return _VSTD::__mu_expand(__ti, __uj, __indices());

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:110:22)

  108 | __mu(_Ti& __ti, tuple<_Uj...>& __uj)
  109 | {
> 110 |     typedef typename __make_tuple_indices<sizeof...(_Uj)>::type __indices;
      |                      ^ no template named '__make_tuple_indices'; did you mean '::std::__make_tuple_indices'?
  111 |     return _VSTD::__mu_expand(__ti, __uj, __indices());
  112 | }
  113 | 

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:120:22)

  118 | struct __mu_return2<true, _Ti, _Uj>
  119 | {
> 120 |     typedef typename tuple_element<is_placeholder<_Ti>::value - 1, _Uj>::type type;
      |                      ^ no template named 'tuple_element'; did you mean '::std::tuple_element'?
  121 | };
  122 | 
  123 | template <class _Ti, class _Uj>

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:125:10)

  123 | template <class _Ti, class _Uj>
  124 | inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX20
> 125 | typename enable_if
      |          ^ no template named 'enable_if'; did you mean '::std::enable_if'?
  126 | <
  127 |     0 < is_placeholder<_Ti>::value,
  128 |     typename __mu_return2<0 < is_placeholder<_Ti>::value, _Ti, _Uj>::type

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:133:12)

  131 | {
  132 |     const size_t __indx = is_placeholder<_Ti>::value - 1;
> 133 |     return _VSTD::forward<typename tuple_element<__indx, _Uj>::type>(_VSTD::get<__indx>(__uj));
      |            ^ no template named 'forward' in namespace 'mmkv::std'; did you mean '::std::forward'?
  134 | }
  135 | 
  136 | template <class _Ti, class _Uj>

❌  (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk/usr/include/c++/v1/__functional/bind.h:133:36)

  131 | {
  132 |     const size_t __indx = is_placeholder<_Ti>::value - 1;
> 133 |     return _VSTD::forward<typename tuple_element<__indx, _Uj>::type>(_VSTD::get<__indx>(__uj));
      |                                    ^ no template named 'tuple_element'; did you mean '::std::tuple_element'?
  134 | }
  135 | 
  136 | template <class _Ti, class _Uj>

❌  fatal error: too many errors emitted, stopping now [-ferror-limit=]

› Compiling @react-native-community/blur Pods/react-native-blur » VibrancyViewManager.mm
› Compiling @react-native-community/blur Pods/react-native-blur » VibrancyView.mm
› Compiling @react-native-community/blur Pods/react-native-blur » BlurViewManager.mm
› Compiling @react-native-community/blur Pods/react-native-blur » BlurView.mm
› Compiling rn-phone-number-input Pods/phone-number-input » phone-number-input-dummy.m
› Compiling rn-phone-number-input Pods/phone-number-input » PhoneNumberToolbarViewManager.mm
› Compiling rn-phone-number-input Pods/phone-number-input » PhoneNumberToolbarView.mm
› Compiling rn-phone-number-input Pods/phone-number-input » PhoneNumberToolbar.mm
› Compiling rn-phone-number-input Pods/phone-number-input » PhoneNumberPicker.mm
› Compiling rn-phone-number-input Pods/phone-number-input » PhoneNumberInputViewManager.mm
› Compiling rn-phone-number-input Pods/phone-number-input » PhoneNumberInputView.mm
› Compiling rn-phone-number-input Pods/phone-number-input » phone_number_input_vers.c
› Compiling react-native-vector-icons Pods/RNVectorIcons » RNVectorIconsManager.mm
› Compiling react-native-vector-icons Pods/RNVectorIcons » RNVectorIcons_vers.c
› Compiling @sentry/react-native Pods/RNSentry » RNSentryReplayBreadcrumbConverter.m
› Compiling @sentry/react-native Pods/RNSentry » RNSentryReplay.m
› Compiling @sentry/react-native Pods/RNSentry » RNSentryRNSScreen.m
› Compiling @sentry/react-native Pods/RNSentry » RNSentryOnDrawReporter.m
› Compiling @sentry/react-native Pods/RNSentry » RNSentryId.m
› Compiling @sentry/react-native Pods/RNSentry » RNSentryFramesTrackerListener.m
› Compiling @sentry/react-native Pods/RNSentry » RNSentryEvents.m
› Compiling @sentry/react-native Pods/RNSentry » RNSentryDependencyContainer.m
⚠️  Script has ambiguous dependencies causing it to run on every build.
   To fix, go to: Xcode » WeShipYou/WeShipYou » Build Phases » 'Upload Debug Symbols to Sentry'
   Either: Uncheck "Based on dependency analysis", or select output files to trigger the script

› 20 error(s), and 1 warning(s)

CommandError: Failed to build iOS project. "xcodebuild" exited with error code 65.

the same ios has missing classes or not defined

mrousavy commented 5 days ago

Ok, I will fix soon.

csulit commented 3 days ago

why this fix not in 3.0.2

the issue is still

in 3.0.0 works in android but not in ios

then 3.0.2 works in android still not in ios

3.0.1 works in both but don't know till when !!

Same hoping for a fix soon.