升級Xcode8以後 XMPP 遇到重定義的問題 Redefinition of module 'dnssd'

在升級Xcode以後,原來的關於XMPP的項目運行報錯,錯誤信息爲: Redefinition of module 'dnssd'ios

系統和XMPP框架同時用到了 'dnssd',大概就是錯誤的緣由。git

網上關於這方面的信息很少,可是仍是在 stackoverflow 中找到了一些信息,原文連接:http://stackoverflow.com/questions/39930741/redefinition-of-module-dnssd-in-swift-3。github

解決方案:# 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'  "swift

 

在pod update的過程當中有的童鞋會遇到下面這樣的錯誤:框架

這個是由於更新的XMPP框架中支持的最低版本爲iOS 8.0 / macOS 10.8.spa

The minimum deployment target is iOS 8.0 / macOS 10.8..net

全部須要把podfile中的 "platform:ios,"7.0" " 7.0改成8.0以上。code

等了很久終於等到pod更新完成了,但是運行項目又出現了一堆錯誤,不,是一大堆錯誤。orm

彆着急,pod更新以後會遇到這種問題,到報錯的工程裏面搜一下Enable Strict Checking of objc_msgSend Calls,改爲相反的值就好了,別改沒有報錯的工程。dns

改完以後的錯誤明顯減小了,但是仍是有錯誤,以下:

Module 'KissXML' not found 找不到了,解決方案是用 #import "DDXML.h" 替換 @import KissXML;

這個替換完了還有錯誤

CocoaAsyncSocket 又找不到了...,這裏用@class GCDAsyncSocket; 替換@import CocoaAsyncSocket;

 

到這裏就改完了。

 

歡迎你們一塊兒交流 QQ羣 139852091

相關文章
相關標籤/搜索