tfmart / LottieUI

LottieUI is a SwiftUI wrapper for Lottie Animations for iOS
MIT License
92 stars 2 forks source link

Build failing for macOS target #11

Open niklasberglund opened 10 months ago

niklasberglund commented 10 months ago

After just adding the package and building my macOS target it's failing with this build error. Could it be because of the syntax in lottie-ios's RenderingEngineOption.swift? Some Swift version incompatibility maybe. My environment is on Swift 5.9(swiftlang-5.9.0.128.108 clang-1500.0.40.1). Is there a recommended Swift version to use with LottieUI?

ld: Undefined symbols:
  enum case for Lottie.LottieContentMode.scaleAspectFit(Lottie.LottieContentMode.Type) -> Lottie.LottieContentMode, referenced from:
      LottieUI.WrappedAnimationNSView.init(animation: Lottie.LottieAnimation?, provider: Lottie.AnimationImageProvider?) -> LottieUI.WrappedAnimationNSView in LottieUI.o
      LottieUI.WrappedAnimationNSView.update(withEngine: Lottie.RenderingEngineOption) -> () in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.realtimeAnimationFrame.getter : CoreGraphics.CGFloat, referenced from:
      closure #1 @Swift.MainActor () -> () in LottieUI.AnimationProgressObserver.(tick in _385C634819DA2085EAADFB3078ACC442)() -> () in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.realtimeAnimationProgress.getter : CoreGraphics.CGFloat, referenced from:
      closure #1 @Swift.MainActor () -> () in LottieUI.AnimationProgressObserver.(tick in _385C634819DA2085EAADFB3078ACC442)() -> () in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.configuration.getter : Lottie.LottieConfiguration, referenced from:
      LottieUI.WrappedAnimationNSView.renderingEngine.getter : Lottie.RenderingEngineOption in LottieUI.o
      LottieUI.WrappedAnimationNSView.renderingEngine.setter : Lottie.RenderingEngineOption in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.imageProvider.getter : Lottie.AnimationImageProvider, referenced from:
      LottieUI.WrappedAnimationNSView.update(withEngine: Lottie.RenderingEngineOption) -> () in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.animationSpeed.getter : CoreGraphics.CGFloat, referenced from:
      LottieUI.WrappedAnimationNSView.speed.getter : CoreGraphics.CGFloat in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.animationSpeed.setter : CoreGraphics.CGFloat, referenced from:
      LottieUI.WrappedAnimationNSView.speed.setter : CoreGraphics.CGFloat in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.setValueProvider(_: Lottie.AnyValueProvider, keypath: Lottie.AnimationKeypath) -> (), referenced from:
      LottieUI.WrappedAnimationNSView.setValueProvider(_: Lottie.AnyValueProvider?, keypath: Lottie.AnimationKeypath?) -> () in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.backgroundBehavior.getter : Lottie.LottieBackgroundBehavior, referenced from:
      LottieUI.WrappedAnimationNSView.backgroundBehavior.getter : Lottie.LottieBackgroundBehavior in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.backgroundBehavior.setter : Lottie.LottieBackgroundBehavior, referenced from:
      LottieUI.WrappedAnimationNSView.backgroundBehavior.setter : Lottie.LottieBackgroundBehavior in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.play(completion: ((Swift.Bool) -> ())?) -> (), referenced from:
      LottieUI.WrappedAnimationNSView.play(completion: ((Swift.Bool) -> ())?) -> () in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.play(fromFrame: CoreGraphics.CGFloat?, toFrame: CoreGraphics.CGFloat, loopMode: Lottie.LottieLoopMode?, completion: ((Swift.Bool) -> ())?) -> (), referenced from:
      LottieUI.WrappedAnimationNSView.play(fromFrame: CoreGraphics.CGFloat, toFrame: CoreGraphics.CGFloat, loopMode: Lottie.LottieLoopMode, _: ((Swift.Bool) -> ())?) -> () in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.stop() -> (), referenced from:
      LottieUI.WrappedAnimationNSView.stop() -> () in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.loopMode.getter : Lottie.LottieLoopMode, referenced from:
      LottieUI.WrappedAnimationNSView.loopMode.getter : Lottie.LottieLoopMode in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.loopMode.setter : Lottie.LottieLoopMode, referenced from:
      LottieUI.WrappedAnimationNSView.loopMode.setter : Lottie.LottieLoopMode in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationView.animation.getter : Lottie.LottieAnimation?, referenced from:
      LottieUI.WrappedAnimationNSView.update(withEngine: Lottie.RenderingEngineOption) -> () in LottieUI.o
  dispatch thunk of Lottie.LottieAnimationViewBase.contentMode.setter : Lottie.LottieContentMode, referenced from:
      LottieUI.WrappedAnimationNSView.init(animation: Lottie.LottieAnimation?, provider: Lottie.AnimationImageProvider?) -> LottieUI.WrappedAnimationNSView in LottieUI.o
      LottieUI.WrappedAnimationNSView.update(withEngine: Lottie.RenderingEngineOption) -> () in LottieUI.o
  enum case for Lottie.LottieBackgroundBehavior.pause(Lottie.LottieBackgroundBehavior.Type) -> Lottie.LottieBackgroundBehavior, referenced from:
      variable initialization expression of LottieUI.LottieConfiguration.(_backgroundBehavior in _3788E42FFA4BE53E59FCB330C0655D1F) : Combine.Published<Lottie.LottieBackgroundBehavior> in LottieUI.o
      LottieUI.LottieConfiguration.init() -> LottieUI.LottieConfiguration in LottieUI.o
  enum case for Lottie.LottieLoopMode.loop(Lottie.LottieLoopMode.Type) -> Lottie.LottieLoopMode, referenced from:
      closure #1 (LottieUI.AsyncLottiePhase) -> SwiftUI._ConditionalContent<SwiftUI._ConditionalContent<SwiftUI.Text, SwiftUI.Text>, LottieUI.LottieView> in static LottieUI.SwiftUIView_Previews.previews.getter : some in LottieUI.o
  enum case for Lottie.LottieLoopMode.playOnce(Lottie.LottieLoopMode.Type) -> Lottie.LottieLoopMode, referenced from:
      variable initialization expression of LottieUI.LottieConfiguration.(_loopMode in _3788E42FFA4BE53E59FCB330C0655D1F) : Combine.Published<Lottie.LottieLoopMode> in LottieUI.o
      LottieUI.LottieConfiguration.init() -> LottieUI.LottieConfiguration in LottieUI.o
  enum case for Lottie.DecodingStrategy.dictionaryBased(Lottie.DecodingStrategy.Type) -> Lottie.DecodingStrategy, referenced from:
      default argument 1 of Lottie.LottieConfiguration.init(renderingEngine: Lottie.RenderingEngineOption, decodingStrategy: Lottie.DecodingStrategy, colorSpace: __C.CGColorSpaceRef, reducedMotionOption: Lottie.ReducedMotionOption) -> Lottie.LottieConfiguration in LottieUI.o
  enum case for Lottie.RenderingEngineOption.automatic(Lottie.RenderingEngineOption.Type) -> Lottie.RenderingEngineOption, referenced from:
      variable initialization expression of LottieUI.LottieConfiguration.(_renderingEngine in _3788E42FFA4BE53E59FCB330C0655D1F) : Combine.Published<Lottie.RenderingEngineOption> in LottieUI.o
      LottieUI.LottieConfiguration.init() -> LottieUI.LottieConfiguration in LottieUI.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
niklasberglund commented 10 months ago

I found this to somehow be caused by my workspace created by CocoaPods. After deintegrating CocoaPods it's working well.