用自定義協議呼叫自己的程式

2021-05-27 13:38:56 字數 1189 閱讀 9387

iphone sdk中最酷的功能之一是乙個應用程式能夠把自己和自定義的url協議繫結,這個url協議可用於啟動該應用程式(通過瀏覽器或者iphone上的另乙個程式)。建立這樣的繫結並不難,難的是你忍不住要在你的程式裡用它!

首先,你需要說明你想如何在程式中響應這個url。最簡單的自定義協議的方法是「喚醒」,而且可以通過url把資訊傳遞給程式,這樣,程式被喚醒後能做更多的事情。

註冊自定義url協議

首先需要向iphone註冊乙個自定義url協議。這是在你的專案資料夾的info.plist檔案進行的(就是你改變應用程式圖示的同乙個檔案)。

預設,xcode在圖形視窗中開啟info.pllist,當然也可以直接用文字模式開啟——對有的人來說這反而更簡單。

step1.右鍵,選擇「add row」

step2.key值選擇「url types」

step4.在「item1」下再加一行。

step5.選擇「url schemes」 作為key。

注意:如果以文字模式開啟info.plist,你會看到檔案中新增了如下內容:

cfbundleurltypes

cfbundleurlschemes

cfbundleurlname

處理url

現在,url已經註冊好了。任何人都可以用開啟url的方式通過你的協議去啟動乙個應用程式。

例如:如果你想進行自定義處理,在你的delegate中實現該訊息,例如:

通常,我們會從引數中解析出url以便在檢視中顯示或者儲存到userpreference。下面的例子把url儲存為user preference的url變數中:

if (!url)

nsstring *urlstring = [urlabsolutestring];

[[nsuserdefaultsstandarduserdefaults] setobject:urlstring forkey:@"url"];

[[nsuserdefaultsstandarduserdefaults] synchronize];

return yes;

現在,你已經知道如何喚醒你的程式並向其傳遞引數了。enjoy!

自定義 如何自定義協議

何為自定義協議,其實是相對標準協議來說的,這裡主要針對的是應用層協議 常見的標準的應用層協議如http ftp smtp等,如果我們在網路通訊的過程中不去使用這些標準協議,那就需要自定義協議,比如我們常用的rpc框架 dubbo,thrift 分布式快取 redis,memcached 等都是自定義...

用AutoCAD呼叫自定義類庫

1.開啟autocad,在命令列中輸入netload 開啟了選擇視窗 2.在選擇視窗中選擇自定義的類庫檔案 dll,單擊ok 3.在命令列中再輸入adskgreeting 這時工作台中就顯示了呼叫自定義類庫中的處理結果 示例 using system using system.collections...

自定義協議 你也可以自定義報頭協議

在學習過計算機網路的課程,我們知道剛開始計算機都是單獨離線工作的,沒有聯網的情況下計算機的資訊共享能力 運算能力都非常有限,後來誕生了計算機網路.有了就是那幾網路,計算機 a 的資訊和資料可以通過網路傳遞到計算機 b,同樣計算機 a 可以獲取到來自計算機 b 的資料.但是不同計算機之間交換資料的時候...