react-native-datetimepicker / datetimepicker

React Native date & time picker component for iOS, Android and Windows
MIT License
2.54k stars 413 forks source link

Fix for incompatible function pointer types passing 'YGSize' #905

Closed yagnesh97 closed 2 months ago

yagnesh97 commented 5 months ago

Hi! 👋

Firstly, thanks for your work on this project! 🙂

Today I used patch-package to patch @react-native-community/datetimepicker@7.6.1 for the project I'm working on.

Error:

Incompatible function pointer types passing 'YGSize (YGNodeRef, float, YGMeasureMode, float, YGMeasureMode)' (aka 'struct YGSize (struct YGNode *, float, enum YGMeasureMode, float, enum YGMeasureMode)') to parameter of type 'YGMeasureFunc' (aka 'struct YGSize (*)(const struct YGNode *, float, enum YGMeasureMode, float, enum YGMeasureMode)')

Here is the diff that solved my problem:

diff --git a/node_modules/@react-native-community/datetimepicker/ios/RNDateTimePickerShadowView.m b/node_modules/@react-native-community/datetimepicker/ios/RNDateTimePickerShadowView.m
index c139440..4ff3362 100644
--- a/node_modules/@react-native-community/datetimepicker/ios/RNDateTimePickerShadowView.m
+++ b/node_modules/@react-native-community/datetimepicker/ios/RNDateTimePickerShadowView.m
@@ -41,7 +41,7 @@ - (void)setTimeZoneName:(NSString *)timeZoneName {
   YGNodeMarkDirty(self.yogaNode);
 }

-static YGSize RNDateTimePickerShadowViewMeasure(YGNodeRef node, float width, YGMeasureMode widthMode, float height, YGMeasureMode heightMode)
+static YGSize RNDateTimePickerShadowViewMeasure(YGNodeConstRef node, float width, YGMeasureMode widthMode, float height, YGMeasureMode heightMode)
 {
   RNDateTimePickerShadowView *shadowPickerView = (__bridge RNDateTimePickerShadowView *)YGNodeGetContext(node);

This issue body was partially generated by patch-package.

JoshBarnesD commented 5 months ago

Hi yagnesh97!

This issue seems to have already been fixed in the v.7.6.3 release. Are you able to upgrade to the latest release (or at the very least v7.6.3)?

sachinmishra365 commented 5 months ago

@JoshBarnesD its not working with latest (8.1.0). i have update my xcode 15.3 to 15.4 after that this issue is occurred.

sachinmishra365 commented 5 months ago

Screenshot 2024-06-05 at 4 02 22 PM

ChristianEasi commented 5 months ago

I can confirm that this issue happens with Xcode 15.4 and RNDateTimePicker (8.1.0) as shown in this comment. It seems that the applied patch needs to be reverted again.

yagnesh97 commented 5 months ago

@JoshBarnesD its not working with latest (8.1.0). i have update my xcode 15.3 to 15.4 after that this issue is occurred.

It is not working for me.

Ruchita-Work commented 5 months ago

I have the same issue

KubilayKartega commented 5 months ago

This issiue is still active with Xcode 15.4 and datetimepicker 8.1.1 prevents IOS build or run

YanceyChan commented 4 months ago

I have the same issue

KubilayKartega commented 4 months ago

I have the same issue

I downgraded Xcode to 15.2 it seems this is the only solution for now

CMLCNL commented 3 months ago

same issue. getting from xcode 15.4.

RaguRam1991 commented 3 months ago

this worked for me

https://stackoverflow.com/a/78418925/10317833

vonovak commented 2 months ago

Hello and thanks for asking, you're having this error because you're running an incompatible version. see https://github.com/react-native-datetimepicker/datetimepicker#react-native-support Thank you 🙂