應用程式間通訊 URL Scheme

2021-05-27 17:42:37 字數 1299 閱讀 3182

ios 的設計思路是原則上禁止不同的應用程式之間相互訪問彼此的資料。雖然對於像我這樣的桌面應用開發人員而言,不能訪問程式以外的資料是不能想象的。但是從安全角度來說不失為乙個有效的策略。不過凡事總有例外,所以賈伯斯還是為程式間通訊開放了幾個介面。

ios 上的應用程式可以通過向其它應用程式傳送乙個url 格式的字串來向其傳送資料。這個特性通常用於在應用程式中啟動另外乙個應用程式來開啟一種特定格式的資料。例如:你的程式可以向map 傳送乙個url ,要求其開啟指定的地圖;或者在郵件程式裡向adobe reader 傳送乙個url ,要求其開啟指定的pdf 檔案。

ios 預定義了如下幾種url scheme 。

mail:          mailto:[email protected]

tel:            tel:1-408-555-5555

sms:        1-408-555-1212

map:                  

youtube: 

itunes:

你也可以自定義url scheme 。需要注意的是:在多個應用程式註冊了同一種url scheme 的時候,ios 系統程式的優先順序高於第三方開發程式。但是如果一種url scheme 的註冊應用程式都是第三方開發的,那麼這些程式的優先順序關係是不確定的。

(1)  註冊url scheme

在應用程式的info.plist 中新增cfbundleurltypes 項。

cfbundleurltypes

cfbundleurlname

com.acme.todolist

cfbundleurlscheme

todolist

(2)  傳送 url scheme

nsurl*myurl = [nsurl urlwithstring:@"url scheme"];

(3)    接收 url scheme

判斷是否應該啟動程式來處理傳入的 url scheme 。這個函式只在程式從 not running 到running 時被呼叫。如果程式在 url scheme 傳入時處於 background 或者 suspending 狀態,那麼校驗工作應該在下面兩個**函式中實現。

在 4.2 及之後版本的 ios 中實現。

在 4.1 及之前版本的 ios 中實現。

(4)    安全性

參考 secure coding guide 中 validating input 部分。

怎麼理解Wcf應用程式間通訊

使用了iis 做為宿主,客戶端呼叫 wcf服務的是 web應用程式。今天這個小節主要以介紹 wcf中傳輸的配置為主,我們把上一節的內容稍做改動,以體現出 endpoint 與 a b c 由於我在教程一裡沒有手寫任何配置的 client 與service 端的web.config 都是自動生成的,當...

Linux 應用程式,程序間通訊彙總(IPC)

程序間通訊方式 1.通訊 管道 fifo,訊息佇列,共享記憶體,socket uds 管道一般用於有有親屬關係的程序間進行通訊。核心自動處理管道的同步問題。管道通訊資料為流模型,不能區分不同時間傳送的兩條訊息。可以定長傳送每條資料,或者定義訊息分隔符。fifo相對於管道,多了路徑名,任意程序都可訪問...

linux應用程式設計基礎 程序間通訊(IPC)

theme 程序間通訊 ipc author jeff.xue contact information contactmexkj 163.com 1.程序間通訊作用 2.通訊方式 3.管道通訊 1 管道 單向 先進先出 2 管道種類 3 無名管道 4 命名管道 fifo 不相干程序交換資訊 4.訊號...