代码之家  ›  专栏  ›  技术社区  ›  Anton Timonin

如何正确地将动态pod库更改为静态?

  •  0
  • Anton Timonin  · 技术社区  · 2 年前

    第三方库开始只支持静态的cocoapods库。在此之前,它是动态连接的

    将动态库更改为静态库后,开始出现这样的错误

    请帮我弄清楚:

    Undefined symbol: __swift_FORCE_LOAD_$_swiftCompatibility56

    ld: warning: Could not find or use auto-linked library 'swiftCompatibility56'
    ld: warning: Could not find or use auto-linked framework '<Name>'
    ld: warning: Could not find or use auto-linked framework '<Name>'
    ld: warning: Could not find or use auto-linked framework '<Name>'
    Undefined symbols for architecture arm64:
      "__swift_FORCE_LOAD_$_swiftCompatibility56", referenced from:
          __swift_FORCE_LOAD_$_swiftCompatibility56_$_<someName> in <ThirdPartyLibrary>.a(File.o)
          __swift_FORCE_LOAD_$_swiftCompatibility56_$<ThirdPartyLibrary> in <ThirdPartyLibrary>.a(File.o)
          __swift_FORCE_LOAD_$_swiftCompatibility56_$<ThirdPartyLibrary> in <ThirdPartyLibrary>.a(File.o)
          __swift_FORCE_LOAD_$_swiftCompatibility56_$<ThirdPartyLibrary> in <ThirdPartyLibrary>.a(File.o)
          __swift_FORCE_LOAD_$_swiftCompatibility56_$<ThirdPartyLibrary> in <ThirdPartyLibrary>.a(File.o)
          __swift_FORCE_LOAD_$_swiftCompatibility56_$<ThirdPartyLibrary> in <ThirdPartyLibrary>.a(File.o)
          __swift_FORCE_LOAD_$_swiftCompatibility56_$<ThirdPartyLibrary> in <ThirdPartyLibrary>.a(File.o)
          ...
         (maybe you meant: __swift_FORCE_LOAD_$_swiftCompatibility56_$_<ThirdPartyLibrary>, __swift_FORCE_LOAD_$_swiftCompatibility56_$_<ThirdPartyLibrary> , __swift_FORCE_LOAD_$_swiftCompatibility56_$_<ThirdPartyLibrary> )
    ld: symbol(s) not found for architecture arm64
    
    

    附笔。 我的podfile不包含行 use_frameworks!

    我有Xcode 14.2

    0 回复  |  直到 2 年前
        1
  •  1
  •   Anton Timonin    2 年前

    实际上,这是Xcode 14.2的问题 供应商的库现在支持Xcode 14.3的最低版本,我在Xcode 14.2上构建了该应用程序

    如果您有这个问题,您应该将Xcode更新到14.3

        2
  •  0
  •   Paul Beusterien    2 年前

    在应用程序中添加一个Swift文件,让Xcode知道它需要在Swift系统库中进行链接,以满足二进制库的依赖性。