nativescript-community / ui-material-components

Monorepo that contains all of the NativeScript Material Design plugins.
https://nativescript-community.github.io/ui-material-components/
Apache License 2.0
216 stars 80 forks source link

Xcode 14: Undefined symbols for architecture x86_64: "_MDMMotionCurveMakeBezier" #403

Closed felixkrautschuk closed 2 years ago

felixkrautschuk commented 2 years ago

Make sure to check the demo app(s) for sample usage

Make sure to check the existing issues in this repository

If the demo apps cannot help and there is no issue for your problem, tell us about it

Please, ensure your title is less than 63 characters long and starts with a capital letter.

Which platform(s) does your issue occur on?

Please, provide the following version numbers that your issue occurs with:

Please, tell us how to recreate the issue in as much detail as possible.

Describe the steps to reproduce it.

After installing Xcode 14, I am not able to build some of our projects anymore showing the following error: Undefined symbols for architecture x86_64: "_MDMMotionCurveMakeBezier", referenced from: +[MDCActivityIndicatorMotionSpec loopIndeterminate] in MDCActivityIndicatorMotionSpec.o +[MDCActivityIndicatorMotionSpec willChangeToDeterminate] in MDCActivityIndicatorMotionSpec.o +[MDCActivityIndicatorMotionSpec willChangeToIndeterminate] in MDCActivityIndicatorMotionSpec.o +[MDCActivityIndicatorMotionSpec willChangeProgress] in MDCActivityIndicatorMotionSpec.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

When temporary removing the @nativescript-community/ui-material-activityindicator plugin, the build works as expected.

Is there any code involved?

Unfortunately not able to provide a sample project. When creating a new project and adding the activityindicator plugin there, the build is working as well. However, when adding the plugin to any other project from our production apps, the build fails with the same error message.

I checked the content of build.xcconfig and Info.plist and tried out several things, but nothing changed (no iOS expert though).

Do you have any advice? Thank you in advance.

farfromrefug commented 2 years ago

@felixkrautschuk thats bad news. Material ios lib is not maintained by Google anymore :s https://github.com/material-components/material-components-ios. The error is reported there https://github.com/material-components/material-components-ios/issues/10260.

The only solution is to start and maintain it. Or build with xcode 13.x for now...

felixkrautschuk commented 2 years ago

Okay, thank you for the quick feedback. I somehow missed that recent reported error, I only found one about Xcode 12...

Still wondering why there are no build errors when building a new NS project using the activityindicator plugin with Xcode 14.

farfromrefug commented 2 years ago

@felixkrautschuk maybe you force IPHONEOS_DEPLOYMENT_TARGET ?

felixkrautschuk commented 2 years ago

In our production app I set IPHONEOS_DEPLOYMENT_TARGET = 12.0 . I also tried removing it there and I tried adding it to the new created project, but no difference on both. The production app build still fails, the new project can still be built.

farfromrefug commented 2 years ago

@felixkrautschuk ok not sure what s the difference then ...

farfromrefug commented 1 year ago

@felixkrautschuk realised i never answered you with the solution for this https://github.com/material-components/material-components-ios/issues/10260#issuecomment-1259245800. Hope it is not too late

felixkrautschuk commented 1 year ago

thanks @farfromrefug