iOS 進程間通信8種方式

1、URL scheme

      這個是iOS APP通信最常用到的通信方式,APP1通過openURL的方法跳轉到APP2,並且在URL中帶上想要的參數,有點類似HTTP的get請求那樣進行參數傳遞。這種方式是使用最多的最常見的,使用方法也很簡單只需要源APP1在info.plist中配置LSApplicationQueriesSchemes,指定目標App2的scheme;然後再目標App2的info.plist 中配置好URLtypes,表示該App接受何種URL scheme的喚起。

2、Keychain

      iOS 系統的keychain是一個安全的存儲容器,它本質上就是一個sqlite數據庫,它的位置存儲在/private/var/Keychains/keychain-2.db,不過它索八坪村的所有數據都是經過加密的,可以用來爲不同的APP保存敏感信息,比如用戶名,密碼等。iOS系統自己也用keychain來保存VPN憑證和WiFi密碼。它是獨立於每個APP的沙盒之外的,所以即使APP被刪除之後,keychain裏面的信息依然存在

3、UIPasteBoard

      uipasteboard是剪切板功能,因爲iOS 的原生空間UItextView,UItextfield,UIwebView ,我們在使用時如果長按,就回出現複製、剪切、選中、全選、粘貼等功能,這個就是利用系統剪切板功能來實現的。

4、UIDocumentInteractionController

      uidocumentinteractioncontroller 主要是用來實現同設備上APP之間的貢獻文檔,以及文檔預覽、打印、發郵件和複製等功能。

5、Local socket

     原理:一個APP1在本地的端口port1234 進行TCP的bind 和 listen,另外一個APP2在同一個端口port1234發起TCP的connect連接,這樣就可以簡歷正常的TCP連接,進行TCP通信了,然後想傳什麼數據就可以傳什麼數據了

6、AirDrop

      通過 Airdrop實現不同設備的APP之間文檔和數據的分享

7、UIActivityViewController

      iOS SDK 中封裝好的類在APP之間發送數據、分享數據和操作數據

8、APP Groups

      APP group用於同一個開發團隊開發的APP之間,包括APP和extension之間共享同一份讀寫空間,進行數據共享。同一個團隊開發的多個應用之間如果能直接數據共享,大大提高用戶體驗

 

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