進(jìn)程間通訊方式

進(jìn)程間通訊方式

1.URL Scheme(外鏈)

這個(gè)是IOS app通信最常用到的通信方式,APP1通過openURL的方式跳轉(zhuǎn)到APP2,并且在URL中帶上想要的參數(shù)弛说,有點(diǎn)類似https的get請(qǐng)求那樣進(jìn)行參數(shù)傳遞,這個(gè)歌方式是使用最多的最常見,使用方法也很簡(jiǎn)單只需要App1在info.plist中配置LSApplicationQueriesSchemes凛驮,指定目標(biāo)App2的scheme,然后在目標(biāo)app2的info.plist中配置好URL type表示該APP接受和中URL scheme的喚起

2.KeyChain(鑰匙串)

iOS系統(tǒng)的Keychain是一個(gè)安全的存儲(chǔ)容器条辟,它本質(zhì)上就是一個(gè)sqllite數(shù)據(jù)庫辐烂,它的位置存儲(chǔ)在/private/var/Keychains/keychain-2.db遏插,不過它所保存的所有數(shù)據(jù)都是經(jīng)過加密的,可以用來為不同的app保存敏感信息纠修,比如用戶名胳嘲,密碼等。iOS系統(tǒng)自己也用keychain來保存VPN憑證和Wi-Fi密碼扣草。它是獨(dú)立于每個(gè)App的沙盒之外的了牛,所以即使App被刪除之后,Keychain里面的信息依然存在辰妙。

基于安全和獨(dú)立于app沙盒的兩個(gè)特性鹰祸,Keychain主要用于給app保存登錄和身份憑證等敏感信息,這樣只要用戶登錄過密浑,即使用戶刪除了app重新安裝也不需要重新登錄蛙婴。

那Keychain用于App間通信的一個(gè)典型場(chǎng)景也和app的登錄相關(guān),就是統(tǒng)一賬戶登錄平臺(tái)尔破。使用同一個(gè)賬號(hào)平臺(tái)的多個(gè)app街图,只要其中一個(gè)app用戶進(jìn)行了登錄,其他app就可以實(shí)現(xiàn)自動(dòng)登錄不需要用戶多次輸入賬號(hào)和密碼懒构。一般開放平臺(tái)都會(huì)提供登錄SDK餐济,在這個(gè)SDK內(nèi)部就可以把登錄相關(guān)的信息都寫到keychain中,這樣如果多個(gè)app都集成了這個(gè)SDK胆剧,那么就可以實(shí)現(xiàn)統(tǒng)一賬戶登錄了

3.UIPasteboard(粘貼版)

UIPasteboard是剪切板功能絮姆,因?yàn)閕OS的原生控件UITextView,UITextField 秩霍、UIWebView篙悯,我們?cè)谑褂脮r(shí)如果長按,就會(huì)出現(xiàn)復(fù)制铃绒、剪切辕近、選中、全選匿垄、粘貼等功能移宅,這個(gè)就是利用了系統(tǒng)剪切板功能來實(shí)現(xiàn)的。而每一個(gè)App都可以去訪問系統(tǒng)剪切板椿疗,所以就能夠通過系統(tǒng)剪貼板進(jìn)行App間的數(shù)據(jù)傳輸了

4.UIDocumentInteractionConntroller(文檔系統(tǒng))

UIDocumentInteractionController主要是用來實(shí)現(xiàn)同設(shè)備上app之間的共享文檔漏峰,以及文檔預(yù)覽、打印届榄、發(fā)郵件和復(fù)制等功能浅乔。它的使用非常簡(jiǎn)單.

首先通過調(diào)用它唯一的類方法 interactionControllerWithURL:,并傳入一個(gè)URL(NSURL),為你想要共享的文件來初始化一個(gè)實(shí)例對(duì)象靖苇。然后UIDocumentInteractionControllerDelegate席噩,然后顯示菜單和預(yù)覽窗口

5.App Groups(應(yīng)用組)

App Group用于同一個(gè)開發(fā)團(tuán)隊(duì)開發(fā)的App之間,包括App和Extension之間共享同一份讀寫空間贤壁,進(jìn)行數(shù)據(jù)共享悼枢。同一個(gè)團(tuán)隊(duì)開發(fā)的多個(gè)應(yīng)用之間如果能直接數(shù)據(jù)共享,大大提高用戶體驗(yàn)

6.Local socket(套接字)

這種方式不太常見脾拆,也是很容易被iOS開發(fā)者所忽略但是特別實(shí)用的一種方法馒索。它的原理很簡(jiǎn)單,一個(gè)App1在本地的端口port1234進(jìn)行TCP的bind和listen名船,另外一個(gè)App2在同一個(gè)端口port1234發(fā)起TCP的connect連接绰上,這樣就可以建立正常的TCP連接,進(jìn)行TCP通信了渠驼,那么就想傳什么數(shù)據(jù)就可以傳什么數(shù)據(jù)了蜈块。

這種方式最大的特點(diǎn)就是靈活,只要連接保持著迷扇,隨時(shí)都可以傳任何相傳的數(shù)據(jù)百揭,而且?guī)捵銐虼蟆K娜秉c(diǎn)就是因?yàn)閕OS系統(tǒng)在任意時(shí)刻只有一個(gè)app在前臺(tái)運(yùn)行谋梭,那么就要通信的另外一方具備在后臺(tái)運(yùn)行的權(quán)限,像導(dǎo)航或者音樂類app倦青。

它是常用使用場(chǎng)景就是某個(gè)App1具有特殊的能力瓮床,比如能夠跟硬件進(jìn)行通信,在硬件上處理相關(guān)數(shù)據(jù)产镐。而App2則沒有這個(gè)能力隘庄,但是它能給App1提供相關(guān)的數(shù)據(jù),這樣APP2跟App1建立本地socket連接癣亚,傳輸數(shù)據(jù)到App1丑掺,然后App1在把數(shù)據(jù)傳給硬件進(jìn)行處理

7.AipDrop

通過AirDrop實(shí)現(xiàn)不同設(shè)備的App之間文檔和數(shù)據(jù)的分享;

8.UIActivityViewController

iOS SDK中封裝好的類在App之間發(fā)送數(shù)據(jù)述雾、分享數(shù)據(jù)和操作數(shù)據(jù)街州;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市玻孟,隨后出現(xiàn)的幾起案子唆缴,更是在濱河造成了極大的恐慌,老刑警劉巖黍翎,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件面徽,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)趟紊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門氮双,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人霎匈,你說我怎么就攤上這事戴差。” “怎么了唧躲?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵造挽,是天一觀的道長。 經(jīng)常有香客問我弄痹,道長饭入,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任肛真,我火速辦了婚禮谐丢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蚓让。我一直安慰自己乾忱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布历极。 她就那樣靜靜地躺著窄瘟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪趟卸。 梳的紋絲不亂的頭發(fā)上蹄葱,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音锄列,去河邊找鬼图云。 笑死,一個(gè)胖子當(dāng)著我的面吹牛邻邮,可吹牛的內(nèi)容都是我干的竣况。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼筒严,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼丹泉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鸭蛙,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤嘀掸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后规惰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體睬塌,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了揩晴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勋陪。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖硫兰,靈堂內(nèi)的尸體忽然破棺而出诅愚,到底是詐尸還是另有隱情,我是刑警寧澤劫映,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布违孝,位于F島的核電站,受9級(jí)特大地震影響泳赋,放射性物質(zhì)發(fā)生泄漏雌桑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一祖今、第九天 我趴在偏房一處隱蔽的房頂上張望校坑。 院中可真熱鬧,春花似錦千诬、人聲如沸耍目。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽邪驮。三九已至,卻和暖如春傲茄,著一層夾襖步出監(jiān)牢的瞬間毅访,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來泰國打工烫幕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留俺抽,地道東北人敞映。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓较曼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親振愿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子捷犹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

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