Я столкнулся с ошибкой при попытке создать приложение React Native для iOS. Сообщение об ошибке, которое я получаю:
Несовместимые типы указателей функций, передающие 'YGSize (YGNodeConstRef, float, YGMeasureMode, float, YGMeasureMode)' (также известный как 'struct YGSize (const struct YGNode, float, enum YGMeasureMode, float, enum YGMeasureMode)') в параметр типа 'YGMeasureFunc' (он же 'struct YGSize ()(struct YGNode *, float, перечисление YGMeasureMode, float, перечисление YGMeasureMode)')
Я не совсем уверен, что вызывает эту ошибку и как ее устранить. Насколько я понимаю, это связано с несовместимыми типами указателей функций для YGMeasureFunc.
Я пытался исследовать эту проблему, но не смог найти четкого решения. Сталкивался ли кто-нибудь с подобной проблемой раньше, и если да, то как вы ее решили?
Спасибо! Я попробовал это, но это не сработало
Измените YGNodeConstRef на YGNodeRef в строке 44 RNDateTimePickerShadowView.m (в функции RNDateTimePickerShadowViewMeasure), и все вернется в норму)
в более старых версиях они делали наоборот, github.com/react-native-datetimepicker/datetimepicker/issues/… при выполнении вашего предложения это сработало. Но почему
та же мысль пришла мне в голову.
Это работает, но как мне управлять этими изменениями в команде? Должен ли я попросить каждого разработчика внести изменения вручную RNDateTimePickerShadowView.m
? Это папка Pods. Кроме того, если я когда-нибудь удалю свои Pods (когда захочу сделать новый pod install
), мне придется не забыть применить изменения еще раз. Существует ли автоматический способ отслеживать изменения такого типа?
@CezarCobuz Я использую это исправление для первого обновления подфайла node_modules/@react-native-community/datetimepicker/ios/RNDAteTimePickerShadowView.m Затем запустите `npx patch-package @react-native-community/datetimepicker --exclude 'nothing' ` Добавьте "postinstall": "patch-package" в ваш packages.json
Васим, у меня работает наоборот:
Измените YGNodeRef на YGNodeConstRef в строке 44 RNDateTimePickerShadowView.m (в функции RNDateTimePickerShadowViewMeasure), и все вернется в норму)
это может быть специфично для этой библиотеки DateTimePicker? Вы пробовали удалить его и попробовать восстановить заново?