此前的文章中。以前提到在cocoapods依赖管理版本号假设超过0.34.4。比方0.35, 0.36.0等版本号中。

运行"pod install" 或者 "pod update" , xmppframework 会出现循环依赖问题。

There is a circular dependency between XMPPFramework/Core and XMPPFramework/Authentication'

解决这个问题的暂时方案,是降版本号 cocoapods 到 0.34.4.

可是。随着cocoapods版本号持续升级。这个问题始终没有得到根本解决。在这里分享该解决方式例如以下

请依照下面步骤进行

1. 升级cocoapods版本号到最新版本号。本文撰写时,最新版本号为0.36.0

命令行: sudo gem install cocoapods

2. podfile保持不变。

pod 'XMPPFramework'

3. 运行命令行。更新本机 ~/.cocoapods 文件夹下的全部库

pod setup

4. 国外的朋友提供了一个改动过的XMPPFramework的podspec文件。这个文件在xmppframework官方的github里,是不一样的。

眼下xmppframewokr 3.6.4的最新版本号。

这个改动版的文件是关键,訪问例如以下链接,而且下载该文件。

https://github.com/ChatSecure/XMPPFramework/blob/f1364d1dd9bc8d0843b79ee8abe261154473d8a0/XMPPFramework.podspec.json

5. 找到本机例如以下路径的文件。

使用Finder的go to folder

~/.cocoapods/repos/master/Specs/XMPPFramework/3.6.4/XMPPFramework.podspec.json

6. 把第4步下载的文件,覆盖到5步的路径中。

7. 然后运行 pod install 或者 pod update

8. 到此,循环依赖的错误不会再出现。

pod 也顺利工作。但还没有结束。后面是更重要的步骤

9. build workspace 会发现build 失败。错误是 XMPPFramework.h文件

#ifdef HAVE_XMPP_SUBSPEC_SYSTEMINPUTACTIVITYMONITOR

#import "XMPPSystemInputActivityMonitor.h"

#endif

10. 这时须要从官方的github上,

https://github.com/robbiehanson/XMPPFramework/tree/master/Extensions/SystemInputActivityMonitor

找到例如以下两个文件

XMPPSystemInputActivityMonitor.h

XMPPSystemInputActivityMonitor.m

并复制到project目录中的例如以下路径其中,假设没有目录SystemInputActivityMonitor,须要手动创建SystemInputActivityMonitor

/Pods/XMPPFramework/Extensions/SystemInputActivityMonitor/XMPPSystemInputActivityMonitor.h

11. 完毕上述工作之后。又一次build workspace。会发现。一切正常

以上方案尽管不算完美。但也算是兼顾了cocoapods的最新版本号。至于第9步和第10步。也能够不做。仅仅是这种话,须要凝视xmppframework.h文件里相应的import。孰轻孰重,仅仅能自己衡量了。

Circular dependency issuse on cocoapods version(0.36.0) 全然解决方式(非降版本号)的更多相关文章

  1. 升级cocoapods 0.36.0之后,解决更新的部分依赖库,不是最新版本号的问题

    在升级到cocoapods 0.36.0之后,使用原本podfile配置,在又一次运行pod install之后,一些依赖库的版本号,低于github上的最新版本号.可依照下列配置.指定git,强制使 ...

  2. iOS iOS8中 问题"registerForRemoteNotificationTypes: is not supported in iOS 8.0 and later" 解决方式

    问题重述: iOS 8中改变了通知注冊的方式,假设App须要同一时候支持iOS 7 和 8 的话,须要首先检查selector. 解决方式:在Xcode 6中 - (BOOL)application: ...

  3. Scala Error: error while loading Suite, Scala signature Suite has wrong version expected: 5.0 found: 4.1 in Suite.class

    准备给scala项目引入单元测试 <dependency> <groupId>org.scalatest</groupId> <artifactId>s ...

  4. 解决Maven 报 Return code is: 400 , ReasonPhrase:Repository version policy: SNAPSHOT does not allow version: 2.1.0.RELEASE. 的错误

    最近在搭建公司的基础框架,业务需求用到elasticsearch,所以需要整合到基础框架里,供各业务线使用同时也便于管理,但在整合的过程中,出现了莫名的问题,同时maven的提示也不够明确. 我的版本 ...

  5. Tomcat8.0.36安装配置

    1.下载tomcat8.0.36 下载地址:http://tomcat.apache.org/download-80.cgi 2.解压 至C:\Program Files\tomcat8下 3.添加系 ...

  6. 升级 Cocoapods 到1.2.0指定版本,降低版本及卸载

    =====================升级版本=================== CocoaPods 1.1.0+ is required to build SnapKit 3.0.0+. 在 ...

  7. OEL7.6安装Oracle Database 19C(VERSION 19.3.0.0)

    1.eDelivery中下载Oracle Database 19C和Oel的安装介质,并安装好操作系统 2.安装Oracle环境准备工具 环境准备工具会自动完成用户和用户组的创建.系统参数配置.依赖包 ...

  8. ojdbc15-10.2.0.4.0.jar maven 引用报错 Dependency 'com.oracle:ojdbc15:10.2.0.4.0' not found

    ojdbc15-10.2.0.4.0.jar maven 引用报错 问题现象 在 Maven 工程中引用 ojdbc15-10.2.0.4.0.jar 报错,报错信息:Dependency 'com. ...

  9. Newtonsoft.Json, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b9a188c8922137c6

    未能加载文件或程序集“Newtonsoft.Json, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b9a188c8922137c6”或它的某一个 ...

随机推荐

  1. ELNEC Programmer

    BeeHive204 Very fast universal 4x 48-pindrive concurrent multiprogramming system with ISP capability ...

  2. mysql文件目录详解 LINUX

    http://www.cnblogs.com/yjf512/archive/2012/12/11/2813398.html

  3. iOS开源控件库收集

    下拉刷新 将数据保存至keyRing 简单的模板引擎,用来生成html OmniGroup 这个其实不是类库,是一个Cocoa的Recipe CocoaPods 为XCode project提供一个类 ...

  4. Arcgis Runtime for andriod 100 Simple marker symbol

    GraphicsOverlay graphicsOverlay = new GraphicsOverlay(); 58 mMapView.getGraphicsOverlays().add(graph ...

  5. 算法:图(Graph)的遍历、最小生成树和拓扑排序

    背景 不同的数据结构有不同的用途,像:数组.链表.队列.栈多数是用来做为基本的工具使用,二叉树多用来作为已排序元素列表的存储,B 树用在存储中,本文介绍的 Graph 多数是为了解决现实问题(说到底, ...

  6. visio 画类图时 方法里如何加参数

    鼠标双击类(打开属性对话框)-->(类别)操作-->属性-->(类别)参数-->(添加参数)

  7. Oracle通用分页存储过程的创建与使用

    Oracle通用分页存储过程的创建与使用 1.创建Oracle包的定义.使用 REF CURSOR 数据类型来处理 Oracle 结果集.REF CURSOR 是一个指向 PL/SQL 查询所返回的结 ...

  8. (转)SQL Server 列转行

    原文:http://www.myexception.cn/sql-server/1078985.html1,2,3,4,5以上是一个字符串或则一逗号分隔的数字. 这里希望用一条语句查询出这样的效果: ...

  9. 【POJ】【2187】Beauty Contest

    计算几何/旋转卡壳 学习旋转卡壳请戳这里~感觉讲的最好的就是这个了…… 其实就是找面积最大的三角形?...并且满足单调…… 嗯反正就是这样…… 这是一道模板题 好像必须写成循环访问?我在原数组后面复制 ...

  10. Terminix:基于 GTK3 的平铺式 Linux 终端模拟器

    现在,你可以很容易的找到大量的 Linux 终端模拟器,每一个都可以给用户留下深刻的印象.但是,很多时候,我们会很难根据我们的喜好来找到一款心仪的日常使用的终端模拟器.这篇文章中,我们将会推荐一款叫做 ...