美文网首页
CocoaPod 本地校验出现 i386 错误

CocoaPod 本地校验出现 i386 错误

作者: RadioHeadache | 来源:发表于2019-06-19 11:42 被阅读0次

    目录

    1. 出现的问题
    2. 解决方法
    3. 延伸

    1. 出现的问题

    由于公司是组件化开发,每个组件都是以 CocoaPod 的形式来依赖的,所以每次开发完成都要进行 pod 的本地校验,这次整合了一个静态库,但是在校验的时候无法通过,原因如下:

     Undefined symbols for architecture i386:
          "_sp_font_create_base_font", referenced from:
              _KGPDFPDFAddWaterMarkToPage in libiAppPDF.a(KGPDFPage.o)
              _KGPDFPDFAddWaterMarkToDocument in libiAppPDF.a(KGPDFPage.o)
            
            (此处省略一大堆报错)
    
     ld: symbol(s) not found for architecture i386
        clang: error: linker command failed with exit code 1 (use -v to see invocation)
    
        ** BUILD FAILED **
    

    但是通过 lipo -info 命令发现其实该 SDK 是支持 i386 架构的,因此陷入困境。

    2. 解决方法

    我通过在 podspec 里面设置来绕过 i386 模拟器架构的编译。在 podspec 文件内加入以下代码:

      s.pod_target_xcconfig = { 'VALID_ARCHS' => 'arm64 armv7 armv7s x86_64' }
    

    3. 延伸

    iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什么

    iOS开发之CocoaPods:进阶篇 搭建私有库

    解决pod lib lint/repo push不支持i386编译&只能真机运行的库

    相关文章

      网友评论

          本文标题:CocoaPod 本地校验出现 i386 错误

          本文链接:https://www.haomeiwen.com/subject/dcuhqctx.html