(Pod造成的)One of the two will be used. Which one is undefined.

前因

因为项目里,需要一个图表控件。项目的图表部分不是重点,没必要花费大量时间自己去写一个,所以去找第三方的图表。 安卓使用的是一个功能比较强大的第三方MPAndroidChart。ios里没有功能这么全面的,最后我找到了这个。

danielgindi/Charts

Beautiful charts for iOS/tvOS/OSX!
The Apple side of the crossplatform MPAndroidChart.

这个包含MPAndroidChart的所有功能。

当然这不是重点,重点是,这是个Swift写的。正好练一下混编集成吧。

用pod集成Swift第三方库,网上有很多,我就不说了。原理就是用动态库的方式,把swift项目打成framework,再链接。大家想知道的自己去查一下。

关键在于podfile
,举例:

platform
:ios,’8.0’

use_frameworks!

pod ‘AFNetworking‘

pod ‘Charts‘

项目中#import<>方式导入的pod内第三方会报错 改为#import"" 或@import即可。

正文

集成好了之后,运行的时候报出这样的问题。

objc[3524]: Class AFCachedImage is implemented in both /private/var/containers/Bundle/Application/531B5E93-B456-4642-BBA6-0A8F63E43D85/Inroad.app/Frameworks/AFNetworking.framework/AFNetworking and /var/containers/Bundle/Application/531B5E93-B456-4642-BBA6-0A8F63E43D85/Inroad.app/Inroad. One of the two will be used. Which one is undefined.
objc[3524]: Class AFAutoPurgingImageCache is implemented in both /private/var/containers/Bundle/Application/531B5E93-B456-4642-BBA6-0A8F63E43D85/Inroad.app/Frameworks/AFNetworking.framework/AFNetworking and /var/containers/Bundle/Application/531B5E93-B456-4642-BBA6-0A8F63E43D85/Inroad.app/Inroad. One of the two will be used. Which one is undefined.

仔细看了一下所有的pod第三方文件都有类似报错。貌似是重复了。去网上找了半天,说的方法都不好使。

我自己肯定不会重复。于是就想到pod的问题。我猜测是pod改成framework编译方式,但是原来的方式也保留了,所以造成重复。新建了一个项目,用framework的方式集成了几个第三方。没有类似错误。通过对比找到了问题。

问题出在other
linker flags。之前的编译方式是这样写的

-l"AFNetworking"

新工程里是这样的

-framework
"AFNetworking"

把所有第三方改掉,问题解决。

时间: 2024-10-18 12:38:52

(Pod造成的)One of the two will be used. Which one is undefined.的相关文章

深入kubernetes之Pod——一pod多容器

六.深入Pod--一pod多容器 一pod多容器,可以说是kube精华所在,让多个同应用的单一容器可以整合到一个类虚拟机中,使其所有容器共用一个vm的资源,提高耦合度,神来之笔,从而方便副本的复制,提高整体的可用性 接下来会从我自己的学习历程,讲诉一pod多容器,其中历经的困难,此问题有困扰一个月之久. 1.测试过程: 根据文章:http://www.csdn.net/article/2014-12-18/2823196 ,看到pod还有一pod多容器的功能,仅是看了文章便激动不已,一pod多容

pod

pod定义详解 下面是一个完整的yaml格式定义的文件,注意格式,子集包含关系,不要有tab,要用空格.不是所有的元素都要写,按照实际应用场景配置即可. 定义一个简单pod(最好把docker源改成国内的) apiVersion: v1 kind: Pod metadata: name: hello-world namespace: default spec: restartPolicy: OnFailure containers: - name: hello image: "ubuntu:14

pod setup命令失败解决方法

最近运行pod setup出现以下问题: remote: Compressing objects: 100% (34/34), done.error: RPC failed; curl 56 SSLRead() return error -3613.00 KiB/sfatal: The remote end hung up unexpectedlyfatal: early EOFfatal: index-pack failed 我们知道 cocoapods 的 sepcs 文件是放在这个目录里面

Can not perform pod install under el capitan (15A279b)

这个问题在stackoverflow上面有过讨论: Can not perform pod install under el capitan (15A279b) 被采纳的答案为:sudo gem install -n /usr/local/bin cocoapods

pod install/pod update更新慢的问题

最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动 原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少.加参数的命令如下: pod install --verbose --no-repo-update pod update --verbose --no-repo-update 或者 pod install --no-repo

使用CocoaPods的pod install 遇到的错误,未解决(Xcode版本v6.4,Mac OS版本v10.10.4)

转载请标明出处:http://blog.csdn.net/android_ls/article/details/47059957 一.CocoaPods 是一款很好的依赖管理工具,其安装步骤大致如下: 1.首先确保开发环境中已经安装了 Ruby(一般安装了 XCode,Ruby 会被自动安装上) 建议使用淘宝提供的 Gem源,在终端执行下列命令: $ gem sources --remove https://rubygems.org/ $ gem sources -a http://ruby.t

The sandbox is not in sync with the Podfile.lock. Run &#39;pod install&#39; or update your CocoaPods install

I. Project Cleanup In the project navigator, select your project Select your target Remove all libPods*.a in  Linked Frameworks and Libraries II. Update CocoaPods Launch Terminal and go to your project directory. Update CocoaPods using the command  p

Kubernetes1.3:POD生命周期管理

转:http://blog.csdn.net/horsefoot/article/details/52324830 (一)  核心概念 Pod是kubernetes中的核心概念,kubernetes对于Pod的管理也就是对Pod生命周期的管理,对Pod生命周期的管理也就是对Pod状态的管理,我们通过下面Pod相关的各个实体信息关系图可以分析出来kubernetes是如何管理Pod状态的. (二)  结构体介绍 Pod这个结构体中有个变量Status,通过这个变量可以得到每个Pod的状态信息,这个

本地私有库的实现 pod

以pods的形式,引入本地相关文件 一, 生成本地库 的描述文件.spec //1.进入的 本地库的 目录 cd  'xxx' //2.初始化本地仓库 git init git add . git commit -m 'xxx' //3.创建spec文件 pod spec create  'spec的文件名字' //然后,用xcode打开文件,可修改相关信息,如下: //.summary    摘要信息(短一点) //.description  库的描述信息 //.license        

创建podspec文件,为自己的项目添加pod支持

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px "Helvetica Neue"; color: #2f2f2f } span.s1 { } Cocoapods作为iOS开发的包管理器,给我们的开发带来了极大的便利,而且越来越多的第三方类库支持Pod,可以通过Pod傻瓜式的集成到自己的工程中,那么问题来了,我自己也有一系列的小工具类,怎么让它也支持pod集成,进而以后的项目开发更加的方便的使用呢? 这是第二遍操作了,第一遍学习使