Xcode8之后 XMPP 重定义问题 Redefinition of module 'dnssd'
在升级Xcode到8之后,原来的关于XMPP的项目运行报错,错误信息为: Redefinition of module 'dnssd'
系统和XMPP框架同时用到了 'dnssd',大概就是错误的原因。
网上关于这方面的信息不多,但是还是在 stackoverflow 中找到了一些信息,原文链接:http://stackoverflow.com/questions/39930741/redefinition-of-module-dnssd-in-swift-3。
解决方案:# The version pushed to CocoaPods is very out of date, use master branch for now
pod 'XMPPFramework', :git => "https://github.com/robbiehanson/XMPPFramework.git", :branch => 'master'
#pod 'XMPPFramework',大概意思是需要更新XMPP框架,需要把podfile文件中的 "pod
'XMPPFramework', '~> 3.6.6' "用 " # The version pushed to
CocoaPods is very out of date, use master branch for now
pod 'XMPPFramework', :git => "https://github.com/robbiehanson/XMPPFramework.git", :branch => 'master'
# pod 'XMPPFramework' " 来替换或者直接改成 "pod 'XMPPFramework', '~> 3.7.0' "。
在pod update的过程中有的童鞋会遇到下面这样的错误:
这个是因为更新的XMPP框架中支持的最低版本为iOS 8.0 / macOS 10.8.
The minimum deployment target is iOS 8.0 / macOS 10.8.
所有需要把podfile中的 "platform:ios,"7.0" " 7.0改为8.0以上。
等了好久终于等到pod更新完成了,可是运行项目又出现了一堆错误,不,是一大堆错误。
别着急,pod更新之后会遇到这种问题,到报错的工程里面搜一下Enable Strict Checking of objc_msgSend Calls,改成相反的值就行了,别改没有报错的工程。
改完之后的错误明显减少了,可是还是有错误,如下:
Module 'KissXML' not found 找不到了,解决方案是用 #import "DDXML.h" 替换 @import KissXML;
这个替换完了还有错误
CocoaAsyncSocket 又找不到了...,这里用@class GCDAsyncSocket; 替换@import CocoaAsyncSocket;
原文链接http://mp.weixin.qq.com/s/mvYY6w9gRt5_H-JEzZqY1A
Xcode8之后 XMPP 重定义问题 Redefinition of module 'dnssd'的更多相关文章
- 安装MySQLdb出现HAVE_WCSCOLL重定义问题的解决方法
root@wodeyitian MySQL-python-1.2.3]# python setup.py install running install running bdist_egg runni ...
- VC ADO “ParameterDirectionEnum”:“enum” 类型等 重定义问题 解决方案
原因分析: 1.在头文件中: #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace ...
- “locktype”enum type 类型重定义问题的解决
作者:朱金灿 来源:http://blog.csdn.net/clever101 使用ado来连接数据库,结果出现这样一些编译错误: 1>f:\c++pro\iocptser\debug\msa ...
- iOS - XMPP 的使用
1.XMPP XMPP 是一个基于 Socket 通信的即时通讯的协议,它规范了即时通信在网络上数据的传输格式,比如登录,获取好友列表等等的格式.XMPP 在网络传输的数据是 XML 格式. 开发架构 ...
- class类型重定义,防止头文件重复加载
今天调用自己写的一个类,出现了class类型重定义问题,上网查了相关资料,发现是头文件重复include引起的问题. 防止头文件重复加载: 系统那些头文件,无论怎么include都没事,因为一般都用了 ...
- VC 宏与预处理使用方法总结
目录(?) C/C++ 预定义宏^ C/C++ 预定义宏用途:诊断与调试输出^ CRT 和 C 标准库中的宏^ NULL 空指针^ limits.h 整数类型常量^ float.h 浮点类型常量^ m ...
- 32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看)
32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看) 昨天,大家可能都看了代码了,不知道昨天有没有在汇编代码的基础上,实现注入计算器. 如果没有,今天则会讲解,不过建议 ...
- Perl导入代码文件
从函数复用开始:eval和do执行perl文件 当我们定义了一个功能比较通用的子程序,比如获取数值的绝对值.想要到处使用这个子程序,就得不断复制.粘贴这段绝对值函数的定义文本.显然,这是不太理想的方式 ...
- C++11的enum class & enum struct和enum
C++11的enum class & enum struct和enum C++标准文档--n2347(学习笔记) 链接:http://www.open-std.org/jtc1/sc22/wg ...
随机推荐
- css3 transfrom使用以及其martix(矩阵)属性与其它属性的关系
写法 其属性martix与skew .scale .translate之间的关系 兼容性 : IE9+ : -ms-transform : IE9只支持2D转换 fire ...
- C语言经典参考书籍
<C程序设计语言> Brian W.Kernighan,Dennis M.Ritchie 编著:C语言的开山之作.C程序员应该人手一本. <C语言参考手册> Samuel P. ...
- 初次尝试ColumnStore Index
1.首先使用非聚集索引 SET STATISTICS IO ON SET STATISTICS TIME ON SELECT MemberId , MAX(AddDT) AS RecentSucDT ...
- js 调用php代码
<?php $test = "var a = ".$_GET['test'].";"; ?> <mce:script type="t ...
- 整理一下前段时间在写iOS app时所涉及的东西
在刚学习和做完一个android app后,看了两周的Objective-C就开始做这个项目,所以整个app代码有很多现学现用的东西,今天来总结一下. 这个名为VID的app是用于公司产品的研发与de ...
- dataset 和DataTable的用法
以下包含了这两种不同属性的用法: foreach (DataRow dr in dataset.Tables[0].Rows) { if (i != 0 && l ...
- Mapper映射器
在两个独立的对象之间建立通信的对象 需要在两个必须相互隔离的子系统间建立通信. 可能是因为无法修改已有的子系统,或者不愿意在两者之间建立依赖关系.甚至不愿意这两个子系统与另一个部件间建立依赖关系. 运 ...
- JAVA:变量,数据类型,运算符,流程控制(简介)<1>
一.安装和配置jdk 1.jdk是什么? (1).jdk全称是Java Development Kit, Java开发工具包; (2).jdk是sun公司开发的; (3).jdk主要包括:jre(Ja ...
- 杭电ACM2085--核反应堆
http://acm.hdu.edu.cn/showproblem.php?pid=2085 这也是一个简单的的递推. a[i][0] = 3*a[i-1][0]+2*a[i-1][1]; a[i][ ...
- IPC with pipes, demo of 'popen'
#include <stdio.h> #include <unistd.h> int main() { FILE* stream = popen ("sort&quo ...