xcframework pod lib lint fail

Viewed 18

I created an xcframework, this xcframework uses a mix of oc and swift, and dependency on the oc third-party library and the swift third-party library, I want to publish it to the cocoapods , but there are always errors during verification, I use this command for verification pod lib lint --verbose --allow-warnings --no-clean, but failed.

 Undefined symbols for architecture x86_64:
      "enum case for SwiftEntryKit.EKAttributes.Position.top(SwiftEntryKit.EKAttributes.Position.Type) -> SwiftEntryKit.EKAttributes.Position", referenced from:
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheet(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheetHide(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
      "enum case for SwiftEntryKit.EKAttributes.Position.bottom(SwiftEntryKit.EKAttributes.Position.Type) -> SwiftEntryKit.EKAttributes.Position", referenced from:
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheet(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheetHide(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
      "enum case for SwiftEntryKit.EKAttributes.PositionConstraints.SafeArea.overridden(SwiftEntryKit.EKAttributes.PositionConstraints.SafeArea.Type) -> SwiftEntryKit.EKAttributes.PositionConstraints.SafeArea", referenced from:
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheet(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheetHide(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
      "enum case for SwiftEntryKit.EKAttributes.RoundCorners.bottom(SwiftEntryKit.EKAttributes.RoundCorners.Type) -> (CoreGraphics.CGFloat) -> SwiftEntryKit.EKAttributes.RoundCorners", referenced from:
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheet(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheetHide(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
      "enum case for SwiftEntryKit.EKAttributes.RoundCorners.top(SwiftEntryKit.EKAttributes.RoundCorners.Type) -> (CoreGraphics.CGFloat) -> SwiftEntryKit.EKAttributes.RoundCorners", referenced from:
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheet(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheetHide(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
      "enum case for SwiftEntryKit.EKAttributes.BackgroundStyle.color(SwiftEntryKit.EKAttributes.BackgroundStyle.Type) -> (SwiftEntryKit.EKColor) -> SwiftEntryKit.EKAttributes.BackgroundStyle", referenced from:
          function signature specialization <Arg[1] = Dead> of static SASContractSDK.Overlay.entryAlert(__C.UIView) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheet(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheetHide(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[2] = Dead> of static SASContractSDK.Overlay.entryAlert(_: __C.UIView, dismiss: Swift.Bool) -> () in SASContractSDK(Overlay.o)
      "enum case for SwiftEntryKit.EKAttributes.PositionConstraints.Edge.ratio(SwiftEntryKit.EKAttributes.PositionConstraints.Edge.Type) -> (CoreGraphics.CGFloat) -> SwiftEntryKit.EKAttributes.PositionConstraints.Edge", referenced from:
          function signature specialization <Arg[1] = Dead> of static SASContractSDK.Overlay.entryAlert(__C.UIView) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheet(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheetHide(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[2] = Dead> of static SASContractSDK.Overlay.entryAlert(_: __C.UIView, dismiss: Swift.Bool) -> () in SASContractSDK(Overlay.o)
      "enum case for SwiftEntryKit.SwiftEntryKit.RollbackWindow.main(SwiftEntryKit.SwiftEntryKit.RollbackWindow.Type) -> SwiftEntryKit.SwiftEntryKit.RollbackWindow", referenced from:
          function signature specialization <Arg[1] = Dead> of static SASContractSDK.Overlay.entryAlert(__C.UIView) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheet(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheetHide(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[2] = Dead> of static SASContractSDK.Overlay.entryAlert(_: __C.UIView, dismiss: Swift.Bool) -> () in SASContractSDK(Overlay.o)
      "enum case for SwiftEntryKit.EKAttributes.Scroll.disabled(SwiftEntryKit.EKAttributes.Scroll.Type) -> SwiftEntryKit.EKAttributes.Scroll", referenced from:
          function signature specialization <Arg[1] = Dead> of static SASContractSDK.Overlay.entryAlert(__C.UIView) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheet(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[2] = Dead> of static SASContractSDK.Overlay.entryAlert(_: __C.UIView, dismiss: Swift.Bool) -> () in SASContractSDK(Overlay.o)
      "enum case for SwiftEntryKit.EKAttributes.Animation.Translate.AnchorPosition.automatic(SwiftEntryKit.EKAttributes.Animation.Translate.AnchorPosition.Type) -> SwiftEntryKit.EKAttributes.Animation.Translate.AnchorPosition", referenced from:
          function signature specialization <Arg[1] = Dead> of static SASContractSDK.Overlay.entryAlert(__C.UIView) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheet(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheetHide(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[2] = Dead> of static SASContractSDK.Overlay.entryAlert(_: __C.UIView, dismiss: Swift.Bool) -> () in SASContractSDK(Overlay.o)
      "enum case for SwiftEntryKit.EKAttributes.Position.center(SwiftEntryKit.EKAttributes.Position.Type) -> SwiftEntryKit.EKAttributes.Position", referenced from:
          function signature specialization <Arg[1] = Dead> of static SASContractSDK.Overlay.entryAlert(__C.UIView) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[2] = Dead> of static SASContractSDK.Overlay.entryAlert(_: __C.UIView, dismiss: Swift.Bool) -> () in SASContractSDK(Overlay.o)
      "enum case for SwiftEntryKit.EKAttributes.PositionConstraints.Edge.intrinsic(SwiftEntryKit.EKAttributes.PositionConstraints.Edge.Type) -> SwiftEntryKit.EKAttributes.PositionConstraints.Edge", referenced from:
          function signature specialization <Arg[1] = Dead> of static SASContractSDK.Overlay.entryAlert(__C.UIView) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheet(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[7] = Dead> of static SASContractSDK.Overlay.entrySheetHide(_: __C.UIView, top: Swift.Bool, offset: CoreGraphics.CGFloat, round: CoreGraphics.CGFloat, bgcolor: Swift.Int, dismiss: Swift.Bool, cancelled: (() -> ())?) -> () in SASContractSDK(Overlay.o)
          function signature specialization <Arg[2] = Dead> of static SASContractSDK.Overlay.entryAlert(_: __C.UIView, dismiss: Swift.Bool) -> () in SASContractSDK(Overlay.o)
      "enum case for SwiftEntryKit.SwiftEntryKit.EntryDismissalDescriptor.all(SwiftEntryKit.SwiftEntryKit.EntryDismissalDescriptor.Type) -> SwiftEntryKit.SwiftEntryKit.EntryDismissalDescriptor", referenced from:
          static SASContractSDK.Overlay.entryHide((() -> ())?) -> () in SASContractSDK(Overlay.o)
          @objc static SASContractSDK.Overlay.entryHide((() -> ())?) -> () in SASContractSDK(Overlay.o)
    ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

Why is this happening and how should I fix it This is my project address:

https://github.com/AdamShi/SASContractSDK

1 Answers

I have solved this problem. The reason is that I set s.static_framework = true in the podspec file, which generates a static library, so the verification can only be passed by adding --skip-import-validation ; So in the end I deleted s.static_framework = true, no longer use static library, but use dynamic library, you don't need --skip-import-validation, you can pass the verification directly. To sum up, it is best to generate a dynamic library, which can pass the verification without adding --skip-import-validation; if it is a static library, you need --skip-import-validation to pass the verification

Related