我是靠谱客的博主 温婉飞鸟,最近开发中收集的这篇文章主要介绍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

并拷贝到工程文件夹中的如下路径当中,如果没有文件夹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) 完全解决方案(非降版本)的全部内容,希望文章能够帮你解决Circular dependency issuse on cocoapods version(0.36.0) 完全解决方案(非降版本)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部