文档章节

升级Cocoapods引起的Mantle库找不到的问题及解决方法

飞鱼湾
 飞鱼湾
发布于 2017/07/20 10:11
字数 491
阅读 31
收藏 0

年前升级了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的链接,暂时没搞明白,以后搞明白了,再来修改一下。

© 著作权归作者所有

飞鱼湾
粉丝 2
博文 44
码字总数 76899
作品 0
浦东
程序员
私信 提问
你真的会用 CocoaPods 吗?

CocoaPods 可以说是 iOS 开发应用最广泛的包管理工具,本篇文章主要介绍 CocoaPods 的第三方库是怎样从网络集成到我们本地的项目当中,也是制作私有库、开源库和 iOS 项目组件化的一个知识铺...

薛定諤
2018/10/30
0
0
报错:library not found for -lstdc++.6.0.9

在Xcode 10开发中, 报错:library not found for -lstdc++.6.0.9 解决方案:将Xcode9的libstdc++6.0.9.tbd拷贝到Xcode10中使用 中相关的3个库(、、)被彻底废弃了 Xcode10和iOS12的适配 问题...

鸿鹄当高远
2018/09/19
0
0
CocoaPods的安装使用和常见问题

原文:http://www.jianshu.com/p/6e5c0f78200a 一、什么是CocoaPods CocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出...

lingfeng72
2015/11/09
299
0
CocoaPods详解之----使用篇

一、什么是CocoaPods 1、为什么需要CocoaPods 在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson、AFNetworking、Reachability等等。使用这些库的时候通常需要: 下载开源库的源...

Kinkaid
2015/08/21
86
0
CocoaPods安装和使用及问题:Setting up CocoaPods master repo

目录 CocoaPods是什么? 如何下载和安装CocoaPods? 如何使用CocoaPods? 场景1:利用CocoaPods,在项目中导入AFNetworking类库 场景2:如何正确编译运行一个包含CocoPods类库的项目 CocoaP...

whj
2014/03/07
73.9K
1

没有更多内容

加载失败,请刷新页面

加载更多

centos 查看删除旧内核

1、查看系统中安装的内核 $ yum list installed | grep kernel 2、删除系统中旧内核 $ yum install yum-utils$ package-cleanup --oldkernels --count=2...

编程老陆
31分钟前
7
0
ES6

ES6:不改变原理的基础上,让API变得更简单 一、let:代替var用于声明变量 1、var的缺点: (1)声明提前 (2)没有块级作用域 2、let的优点: (1)组织了申明提前 (2)让let所在的块({}),...

wytao1995
今天
3
0
kubernetes 环境搭建 —— minikube

创建集群 minikube start 搭建好 k8s 集群后,可以查看集群的状态以及部署应用。主要用到的是 k8s 的 api,这通常需借助于 kutectl 命令行工具 基本操作 kubectl versionkubectl cluster-i...

lemos
今天
9
0
关于js混淆与反混淆还原操作

使用js的混淆加密,其目的是为了保护我们的前端代码逻辑,对应一些搞技术吃饭的公司来说,为了防止被竞争对手抓取或使用自己的代码,就会考虑如何加密,或者混淆js来达到代码保护。 1、为什么...

开源oschina
今天
11
0
用盛金公式解三次方程(ansi c版)

/* cc cubic.c -lm gcc cubic.c -lm Shengjin's Formulas Univariate cubic equation aX ^ 3 + bX ^ 2 + cX + d = 0, (a, b, c, d < R, and a!= 0). Multiple root disc......

wangxuwei
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部