nativescript-community / ui-material-components

Monorepo that contains all of the NativeScript Material Design plugins.

Home Page:https://nativescript-community.github.io/ui-material-components/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

felixkrautschuk opened this issue · comments

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?

  • iOS
  • iOS (all versions)
  • emulator and device

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

  • CLI: 8.3.3
  • Cross-platform modules: 8.3.4
  • Runtime(s): 8.3.3
  • Plugin(s): @nativescript-community/ui-material-activityindicator 7.0.26

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.

@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 material-components/material-components-ios#10260.

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

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.

@felixkrautschuk maybe you force IPHONEOS_DEPLOYMENT_TARGET ?

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.

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

@felixkrautschuk realised i never answered you with the solution for this material-components/material-components-ios#10260 (comment). Hope it is not too late