美文网首页
组件化:xcode12私有库架构问题

组件化:xcode12私有库架构问题

作者: _kk_ | 来源:发表于2020-10-15 20:15 被阅读0次

1.错误

 xcode12更新之后,如果私有库引入了第三方库,pod repo push时会出现以下错误:

ld: building for iOS Simulator, but linking in dylib built for iOS, file ' XXX ' for architecture arm64
clang: error: linker command failed with exit code 1

2.原因

   这是因为新xcode为了适配即将发布arm架构芯片mac,会在编译的时尝试生成模拟器版本的arm64架构的可执行文件。然而引入的第三方SDK还没来得及更新,老版本的第三方SDK并不包含模拟器版本的arm64架构可执行文件,所以在链接的时候就会失败,上面的错误提示也能看出端倪。简单来说就以下两个原因:

 1.新xcode要生成模拟器版本的arm64架构可执行文件
 2.引入的第三方sdk并没有更新,不存在模拟器版本的arm64架构可执行文件

3.解决方案:

 解决方法分一下几种情况:

 1.使用第三方SDK生成动态动态库:

 这种情况出现在swift项目中,为了解决第三方静态库在组件化中出现传递依赖等问题,把第三方SDK的静态库编译成一个动态库,制作方案可以参考组件化-动态库实战,这里就不做详细介绍了。这种情况需要在项目的target -> BuildSettings->EXCLUDED_ARCHS添加剔除模拟器arm64架构配置:

配置截图
 2.普通私有库pod repo push时报错:

 这种情况需要在podesc文件添加一下代码:
s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
s.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }

参考资料

相关文章

  • 组件化:xcode12私有库架构问题

    1.错误  xcode12更新之后,如果私有库引入了第三方库,pod repo push时会出现以下错误: 2.原...

  • HCMediator组件化详解

    组件化创建流程库 组件化需要创建私有spec库(索引库)、HCMediator库(App中介库)、其他组件库 私有...

  • 组件化(第二篇)

    组件化 一、本地私有库方案优化二、远程私有库三、如何使用远端私有库四、远程私有库的升级五、远程私有库依赖问题六、远...

  • iOS组件化探究之私有库的创建

    iOS组件化探究之私有库的创建 iOS组件化探究之私有库的创建

  • 私有CocoaPods库使用一

    目的 私有pod库引用私有pod库或静态库 使用场景 项目组件化, 工具组件化很好实现, 但是业务组件化就没那么容...

  • 组件化开发(四)本地私有库

    通过本地私有库实现组件化开发 组件化开发分为本地私有库和远程私有库,这里我们先来学习如何通过本地私有库实现组件化的...

  • 组件化远程私有库解决方案(cocoapods基于git 、svn

    组件化远程私有库解决方案(cocoapods基于git 、svn)----高级版 组件化远程私有库解决方案(coc...

  • 组件化踩坑总结

     经历了项目组件化(准备工作)项目组件化(一)创建本地私有库项目组件化(二)创建远程私有库这些天也踩了不少的坑出来...

  • iOS组件化之CocoaPods

    如何创建私有 CocoaPods 仓库如何发布自己的开源框架到CocoaPods组件化架构漫谈 iOS组件化之组件...

  • iOS - 组件化开发

    零、一些小命令 一、组件架构(待更新) 创建本地私有库1)查看本地私有库 pod repo2)创建远程spec私有...

网友评论

      本文标题:组件化:xcode12私有库架构问题

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