zoukankan      html  css  js  c++  java
  • 升级Cocoapods引起的Mantle库找不到的问题及解决方法

    年前升级了Cocoapods库,从0.39升级到了1.2.0-beta版,然后用模拟器和真机测试都是没有问题的,均可以成功编译。今天测试人员要测试包,准备archive打包时,却提示:ld: library not found for -lMantle,瞬间感觉哪儿不对,明明可以运行,真机测试也没问题,怎么打包出现找不到Mantle库的问题,然后就开始分析。

    1. 升级Cocoapods引起的问题?

    首先到Cocoapods官网,找到Troubleshooting,发现对该问题有解决办法,根据提示步骤修改,在Edit Scheme->Build里,添加静态库Mantle,编译发现问题依然存在,看来不是静态库的问题。紧接着把后面的方法也试了一遍,还是无果,排除升级Cocoapods的影响。

    2. Pod工程的配置问题?

    这种方法是在stackoverflow看到的,把Pods工程里:Build Settings->Build Active Architectures Only设置为NO,问题还是存在,喝口水,继续找问题。

    3. 链接引用有问题?

    于是在Build Phases->Link Binary With Libraries里添加Mantle.framework库,满怀期待地看着又一次出错,问题依然没有解决,又喝了两口水,继续找问题。

    4. 把Mantle从本地库改成Cocoapods管理过程有问题?

    觉得应该是修改库的管理过程中,本地的链接引用没有被删除,导致在打包时无法找到Mantle库。于是立即到:Build Settings->Other Linker Flags里,把-lMantle删除掉,打包编译成功,顺利解决了问题。


    回顾问题的解决方法,我猜测是新版的Xcode在链接本地库时,没有从Pods工程里搜索导致的问题,具体是新版Xcode没有主动搜索,还是升级后的Cocoapods限制了Other Linker Flags的链接,暂时没搞明白,以后搞明白了,再来修改一下。

  • 相关阅读:
    关于计算机改名无法连接TFS的问题
    配置 SQL Server 2008 Email 发送以及 Job 的 Notification通知功能
    javascript原型链中 this 的指向
    JavaScript中的构造函数 renturn
    Javascript中valueOf与toString区别
    JavaScript 中this与Dom中的注意
    SQL优化 CREATE STATISTICS
    Maven根据不同的环境打包不同的配置
    Maven build标签
    解决Maven报Plugin execution not covered by lifecycle configuration问题
  • 原文地址:https://www.cnblogs.com/fishbay/p/7209674.html
Copyright © 2011-2022 走看看