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  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM