两个xcode添加第三方库库冲突,怎么弄

iOS 两个第三方库出现了冲突问题_百度知道
这个是因为2个.a包里面重复定义了update方法导致的如果可以替换其中的一个包, 那么替换.如果不能替换, 也有办法可以解决, 但这个办法不一定能够成功.就是用终端的lipo命令把这2个包分解出来然后打成同一个包
怎么打成同一个包? 是其中的i386这个thin么?我试过用一些网上说的方法将其中一个包中的.o文件删除,但是这样会出现另外的报错,说缺少某个文件,应该就是我删除的那个
你可以看下这篇文章下面的英文部分我用这个办法解决过一些问题, 但不是全部我也不确定你用的这2个包是不是一定能够解决看样子是因为讯飞的语音插件和音频解码包的冲突?
是的,弄了一下还是不行!!!再去研究了,谢谢
不客气, 有问题的话请留言, 我现在下班了, 晚上解答
其他类似问题
为您推荐:
ios的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁怎么解决第三方类名与vcl类名冲突在编译一个第三写的库,它里边自己定义了Rect类。一编译,BCB
liuzhixin& &
怎么解决第三方类名与vcl类名冲突在编译一个第三写的库,它里边自己定义了Rect类。
一编译,BCB就报
E2015&Ambiguity&between&'Rect'&and&'_fastcall&Classes::Rect(int,int,int,int)
但是它的库里使用Rect直接定义变量的地方太多了,怎么快速解决这个冲突
加个前缀::&命名空间
Types::Rect
liuzhong1989& &
(0) (0)
提示:本问题已关闭,不能解答。
:: 最近更新Swift项目引入第三方库的方法
以下,将创建一个Swift项目,然后引入3个库:
简化autolayout代码的库
HTTP网络库,作者写的
图片加载,objc项目,通过头文件bridge方式供swift使用
其中,前两个是Swift的库,SDWebImage是Objc的库。
源代码见:
项目跑起来是这个样子:
做下面步骤之前,需要让自己的项目是git项目。
使用Snappy库Snappy库,用于简化AutoLayout布局的代码。
和Objc项目不同,Swift项目没有类似的库依赖工具,而是使用git的submodule引入库。目前来看更方便使用。
1. 创建submodule在当前项目的目录下执行:
1git submodule add https://github.com/Masonry/Snappy.git
执行完会看到多了个Snappy目录。
这样的项目,如果git共享给其他人,他们除了clone项目以外,还需要:
2. 将Snappy.xcodeproj加入到Xcode项目中如下图所示,直接将文件拖拽过去即可:
3. 将Snappy.framework设置到项目中Xcode打开项目的General,点击+
然后,选择Snappy.framework,加上它。
4. 编写代码测试如果能正常import,Xcode不报错,就应该没有问题了:
1import Snappy
写了个简单的代码运行也没有问题:
12345678910override func viewDidAppear(animated: Bool) {
println("super view: \(imageView.superview)")
let padding = UIEdgeInsetsMake(100, 100, 0, 0)
imageView.snp_makeConstraints { make in
make.edges.equalTo(self.imageView.superview!).with.insets(padding)
}}
使用SDWebImage库SDWebImage库是Objc编写的。引入的方式和Swift有所不同(从第3步开始)。
1. 创建submodule这一步还是省不了的:
1git submodule add https://github.com/rs/SDWebImage.git
2. 将SDWebImage.xcodeproj加入到Xcode项目中
3. 设置Target Dependencies在这里:
看起来是这样:
4. Link Binaray With Libraries找到这里:
加入ImageIO.framework(iOS自带的),以及libSDWebImage.a
5. 设置Other Linker Flags在这里设置-ObjC
设置完了的样子:
6. 创建Bridge头文件就是创建一个普通的头文件,一般命名为项目名-Bridge-Header.h
7. 设置Bridge头文件找到这里:
双击箭头标示的地方,会弹出文本框,将头文件加进去即可。
我开始的时候是参照stackoverflow的回答,将头文件直接拖拽进去,发现用的是绝对路径。可以在拖拽后修改一下:
引入第三方库的常见问题目前主要碰到的问题是各个Swift第三方库Deployment Target版本不一致。比如Alamofire是8.0,而Snappy是7.0,需要让它们的版本是一致的。
会有类似这样的报错:
1ld: embedded dylibs/frameworks are only supported on iOS 8.0 and later ...

我要回帖

更多关于 python 第三方库 的文章

 

随机推荐