ios networkExtension使用中遇到的問題

需要開發(fā)一個特殊的app劈猿。所以需要用到networkExtension。但在使用過程中遇到了很多問題,在這里記錄一下尚胞。因為我自己也是新手在做這個的時候到處找不到資料很痛苦啊签钩。如果中間有錯誤的地方還請大佬們指正掏呼。

1.為什么要用networkExtension

蘋果巴巴為了省電等需求在我們的app退到后臺后,是不會讓我們的app活多久的。但是要做一個代理全部手機上網(wǎng)絡(luò)流量的app就需要能夠在我們的app退出后依然能夠工作铅檩。networkExtension就是蘋果給我們的方案憎夷。

2.創(chuàng)建target

在我們是用networkExtension的時候,它已經(jīng)不是我們當(dāng)前的app了而是一個獨立的app昧旨。所以就需要在當(dāng)前項目中創(chuàng)建一個netwokrExtension的target拾给。如截圖中箭頭指示的

第一步選擇添加一個target。

第二步選擇NetworExtension兔沃。然后輸入項目名稱就好了蒋得。


p-1

第三步 需要配置Netwokr Extensions 和 Personal XXX 這兩個權(quán)限在以前是需要去申請的,現(xiàn)在只要你的賬號是開發(fā)者賬號就可以直接選擇添加乒疏,選擇好了后是如p-2這樣的额衙。但是有一點不要忘了就我們的主app和擴展app的target這里都需要添加這兩個權(quán)限。

p-2

3.擴展app的調(diào)試及打印

調(diào)試

擴展app的調(diào)試根據(jù)擴展app的類型來區(qū)分有2種方式怕吴。

*? 一種是普通類型的APP 直接運行擴展app就好了窍侧。

*? 另一種是通知類 需要啟動主工程,然后選擇Xcode -> Debug -> Attach to process by pID or name? ?這里有個坑就是你需要輸入的是擴展app的 Display Name 而不是Bundie Idetifier转绷。我當(dāng)時就被這個坑慘了伟件。

打印

擴展的打印一直困擾了我很久。網(wǎng)上看到了很多方案议经,但是我都沒有跑通斧账。我這里就說一下我使用的方案。就是利用系統(tǒng)日志爸业。在console中輸出打印其骄。打印的方法在iOS10以前可以用NSLog() 方法直接就能夠把打印輸出到console中,在iOS10以后需要使用os_log()方法扯旷,如果你找不到這個方法拯爽,可以試著引入 import os庫。當(dāng)然os_log方法功能有限钧忽,這里推薦一個第三方庫CocoaLumberjack? OC和swift都支持毯炮。也是可以輸出到console中的。

4.擴展程序中添加橋接文件

在擴展程序中可能會用到OC/C/C++這些語言寫的類耸黑。我們就需要用到橋接文件了桃煎。和我們正常使用橋接文件是一樣的,你可以在擴展程序中新建一個橋接文件 然后在擴展程序的target中添加這個橋接文件大刊。就可以正常引用C/C++/OC的方法了为迈。

這里有一個建議就是在擴展程序中單獨建一個橋接文件,不和主app公用一個橋接文件。這樣橋接文件在引用頭文件時不會出現(xiàn)頭文件路徑不對,找不到的問題葫辐。


5.流量攔截及如何處理不希望攔截的流量

本身這個問題是和使用networkExtension沒有關(guān)系的搜锰,因為我自己腦子轉(zhuǎn)不過來在這個問題上卡了很久所以才拿出來說。當(dāng)我們使用packetFlow.readPackets讀取到ip數(shù)據(jù)包后耿战,我們把分析了數(shù)據(jù)后蛋叼,一部分?jǐn)?shù)據(jù)我們會代理,但是有一些數(shù)據(jù)我們不想處理怎么辦剂陡?我最后的解決方法是把這些數(shù)據(jù)在發(fā)到這些數(shù)據(jù)的目標(biāo)服務(wù)器去狈涮,是tcp就建立tcp連接發(fā)送,是udp就建立udp連接發(fā)送鸭栖。五元組的數(shù)據(jù)是能夠在ip數(shù)據(jù)包中拿到的歌馍。

6.一個可用的封裝的tun2socks ios庫

ios這邊我找了很久都沒有找到一個可以使用的tun2socks的庫,最后找到了這個庫纤泵。感覺很厲害
https://github.com/zapcannon87/ZPTCPIPStack

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末骆姐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子捏题,更是在濱河造成了極大的恐慌玻褪,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件公荧,死亡現(xiàn)場離奇詭異带射,居然都是意外死亡,警方通過查閱死者的電腦和手機循狰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門窟社,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人绪钥,你說我怎么就攤上這事灿里。” “怎么了程腹?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵匣吊,是天一觀的道長。 經(jīng)常有香客問我寸潦,道長色鸳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任见转,我火速辦了婚禮命雀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘斩箫。我一直安慰自己吏砂,他們只是感情好撵儿,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赊抖,像睡著了一般统倒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上氛雪,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機與錄音耸成,去河邊找鬼报亩。 笑死,一個胖子當(dāng)著我的面吹牛井氢,可吹牛的內(nèi)容都是我干的弦追。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼花竞,長吁一口氣:“原來是場噩夢啊……” “哼劲件!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起约急,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤零远,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后厌蔽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體牵辣,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年奴饮,在試婚紗的時候發(fā)現(xiàn)自己被綠了纬向。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡戴卜,死狀恐怖逾条,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情投剥,我是刑警寧澤师脂,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站薇缅,受9級特大地震影響危彩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜泳桦,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一汤徽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧灸撰,春花似錦谒府、人聲如沸拼坎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽泰鸡。三九已至,卻和暖如春壳鹤,著一層夾襖步出監(jiān)牢的瞬間盛龄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工芳誓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留余舶,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蹦肴。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 因為要結(jié)局swift3.0中引用snapKit的問題,看到一篇介紹Xcode8,swift3變化的文章,覺得很詳細(xì)...
    uniapp閱讀 4,414評論 0 12
  • 十月懷胎娘遭難挟憔,一朝落地娘心寬; 赤身無有一根線烟号,問爹問娘要吃穿绊谭; 夜夜五更難合眼,娘睡濕處兒睡干褥符。 東拜菩薩西拜...
    張蕓_閱讀 295評論 0 0
  • 春風(fēng)還沒有很暖龙誊,但陽光已經(jīng)刺眼。 期待和你再見面喷楣,也已料到你會對我再無片語只言趟大。 我夠固執(zhí),你也夠我持此執(zhí)念铣焊。
    大耳朶_Ear閱讀 163評論 0 1
  • 三十幾年一晃而過曲伊,習(xí)慣了過年的忙碌叽讳,害怕,期待坟募,終于在婚后有了自己的小家年岛蚤。 女兒結(jié)婚就是一道分水嶺,你不在是娘家...
    生命的赤道閱讀 315評論 0 1
  • 很難受
    010ed0d5a362閱讀 164評論 0 0