Circular dependency issuse on cocoapods version(0.36.0) 全然解决方式(非降版本号)

此前的文章中。以前提到在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。孰轻孰重,仅仅能自己衡量了。

时间: 2024-12-14 21:08:12

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

Circular dependency issuse on cocoapods version(0.36.0) 完全解决方案(非降版本)

此前的文章中,曾经提到在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 到

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

在升级到cocoapods 0.36.0之后,使用原本podfile配置,在重新执行pod install之后,一些依赖库的版本,低于github上的最新版本.可按照下列配置.指定git,强制使用最新版本 source 'https://github.com/CocoaPods/Specs.git' platform :ios, '6.1' pod 'IQKeyboardManager', :git => "https://github.com/hackiftekhar/IQKeyboar

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

问题重述: iOS 8中改变了通知注冊的方式,假设App须要同一时候支持iOS 7 和 8 的话,须要首先检查selector. 解决方式:在Xcode 6中 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { //-- Set Notification if ([application respondsToSelector:@s

CocoaPods 0.35.0版本, 出现循环依赖的解决办法

Cocoapods目前最新的正式版本是0.35.0,如果升级到这个版本,并且在project中使用XMPPFramework,在pod install之后会出现如下循环依赖的问题 There is a circular dependency between XMPPFramework/Core and XMPPFramework/Authentication 解决方案,是要么放弃使用XMPPFramework, 要么降级CocoaPods版本到 0.34.4. 这里采用后者 1, 卸载 coco

Tomcat8.0.36安装配置

1.下载tomcat8.0.36 下载地址:http://tomcat.apache.org/download-80.cgi 2.解压 至C:\Program Files\tomcat8下 3.添加系统环境变量,我的电脑->属性->高级系统设置->环境变量(操作同上) (1)变量名: CATALINA_BASE     变量值: C:\Program Files\tomcat8(Tomcat解压到的目录)(2)变量名: CATALINA_HOME     变量值: C:\Program

Could not load file or assembly 'System.Core, Version=2.0.5.0 和autofac冲突的问题

在部署到iis的时候会出现这个状况.   这个软件(NDP40-KB2468871-v2-x64) 解决:下载安装这个补丁 http://support.microsoft.com/kb/2468871 http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=3556 http://download.microsoft.com/download/2/B/F/2BF4D7D1-E781-4EE0-9E4F-FDD44A2F8934/

未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0[已解决]

在使用百度UEditor,不小心将Newtonsoft.Json,升级了,然后就报的一个错,说: 其他信息: 未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某一个依赖项.找到的程序集清单定义与程序集引用不匹配. (异常来自 HRESULT:0x80131040),各种清理解决方案都不行 ,后来在网站找到了一个方法 ,说插入以下代码就可以了: <run

ubuntu编译qemu报错:‘ERROR: DTC (libfdt) version &gt;= 1.4.0 not present.’

在ubuntu14.04中用源码方式编译安装qemu时,执行/configure步骤提示错误: ./configure  ERROR: DTC (libfdt) version >= 1.4.0 not present. Your options:          (1) Preferred: Install the DTC (libfdt) devel package          (2) Fetch the DTC submodule, using:              git 

在.NET Core中遭遇循环依赖问题&quot;A circular dependency was detected&quot;

今天在将一个项目迁移至ASP.NET Core的过程中遭遇一个循环依赖问题,错误信息如下: A circular dependency was detected for the service of type 'CNBlogs.Application.Interfaces.ITagService' 一开始以为是项目之间的引用关系引起的,在project.json中找来找去,一无所获. 后来从构造函数下手,才发现问题所在. 实现ITagService的类TagService的构造函数是这么定义的: