iOS Intel_CS_WebRTC V4.1示例項目排雷運行小記

公司的項目需要把項目裏用到的Intel的webrtc套件進行更新,先下載來一個示例項目看一哈,

解壓完,一看這個目錄結構怎麼這麼怪,有Podfile 和.xcworkspace 但是卻沒有pods和podfile.lock文件,這有點坑。

於是把.xcworkspace文件先刪掉,然後進入項目目錄,運行pod install導入。

這次再一看目錄,這就順眼了呀。點擊.xcworkspace打開項目,打算研究一下改了哪些內容。

先添加自己的apple開發ID:

二話不說,先連上手機看一下效果,結果顯示這樣的錯誤:

沒有導入WebRTC包?這也可以?

於是在這個文件的頭寫下:

@import WebRTC;

關於@import是iOS 7之後的新特性語法,這種方式叫Modules(模塊導入) 或者 "semantic import(語義導入)" ,是一種更好的頭部預處理的執行方式,這iOS 7之後你能通過@import語法來導入任何的framework,Modules是一種將所有可執行的framework打包在一起,貌似這種方式比起傳統的#import更安全和更高效。
而且另外一個最大的改進就是使用@import之後,你不用在project settings那裏添加framework,系統會自動幫你加載上了,方便了很多,也避免了很多不必要的錯誤,例如忘記了加入framework而出現的 "Linker Error"。

使用Modules方式
將 #import <MapKit/MapKit.h> 替換爲 @import MapKit;即可

而且你也可以只加載framework裏面的submodules
@import MapKit.MKAnnotation;

 

出現了多處這樣的錯誤提示,依次添加後錯誤提示消失。

接着出現了另一個錯誤: 提示AFNetworking未找到。

(有個奇怪的事情,當我解決了這個未找到的問題之後,爲了重現問題寫blog,我又重新解壓了一份,然後打算復現,結果直接可以運行了?我一開始懷疑是不是緩存搗的鬼,刪掉緩存,再次解壓一份新的項目,打算重現,又再次成功執行了...這...我只好先標記這個問題了。)

#import <AFNetworking/AFNetworking.h>

明明已經導入了呀,爲什麼會找不到呢?原來是Xcode Search Paths相關配置出的問題:

看了這篇文章,感覺講的挺好的,解決了我的問題。

https://www.jianshu.com/p/9f9c1fd2e8b5

解決了searchpaths問題後,AFNetworking的問題就解決了。

剩下的問題太過簡單就不提了..

順利build到真機上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章