利用openURL,在IOS應用中開啟另外乙個應用

2022-09-23 09:09:09 字數 1353 閱讀 8642

在ios中,實現乙個應用啟動另外乙個應用,使用uiapplication的openurl:方法就可實現,這裡以test跳到test02為例。(需要先建立這兩個工程)

首先被啟動的應用需要向iphone註冊乙個自定義url協議。這是在info.plist檔案進行的。

1. 右鍵,選擇「add row」

2. key值選擇「url types」

3. 開啟「item 0″,然後為該key增加乙個url identifier。可以是任何值,但建議用「反網域名稱」(例如 「com.fcplayer.test」)。

4. 在「item 0」下再加一行。

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

6. 輸入你的url協議名 (例如「test://」 應寫做「test」)。如果有必要,你可以在這裡加入多個協議。

操作截圖如下:

在主應用程式中通過訪問自定義url啟動另外乙個應用:(test已經安裝,這段**要寫在另乙個應用裡面,比如test02)

//放在需要的地方,呼叫即可

nsurl * urlstr = [nsurl urlwithstring:@"test://x=100"];//後面為引數

if ([[uiapplication sharedapplication] canopenurl:urlstr]) else

有些時候我們除了啟動還需向另外乙個應用傳送引數,這是也可以通過自定義的url來實現,如:

test://

test:

test://config=1&abar=2

這時我們在被啟動應用中就必須進行自定義處理,在delegate中實現該訊息(cocos2d加在appdelegate中),例如:

- (bool)application:(uiapplication *)applicationhandleopenurl:(nsurl*)url

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

-(bool)application:(uiapplication *)application handleopenurl:(nsurl *)url

nsstring *urlstring = [url absolutestring];

nslog(@"%@",urlstring);

//[[nsuserdefaults standarduserdefaults] setobject:urlstring forkey:@"url"];

//[[nsuserdefaults standarduserdefaults] synchronize];

return yes;

}

iOS通過openURL開啟原生應用與頁面

通過給url不同的值,可以實現呼叫系統自帶 簡訊 郵箱 瀏覽器 1 呼叫 phone 800888 800888 2 呼叫自帶 瀏覽器safari 3 呼叫 自帶mail 4 呼叫 sms 6 呼叫 ibook itms books 7 呼叫 map 8 呼叫 facetime facetime 9...

在應用間利用KeyChain共享資料

mac os可以利用keychain儲存各應用中使用者的賬號密碼,讓使用者不用重複輸入。其實在ios中也有keychain,也可以用keychain在應用間共享資料,只是有一些限制,無法像mac os一樣開放,也無法讓使用者手動控制。那麼keychain到底如何使用呢?我們可以把keychain理解...

使用openURL開啟另外乙個應用程式

一 開啟系統允許的應用程式 詳情見api文件 1.郵件 協議 mailto 這裡不必有 但是必須有 3.facetime facetime 4.簡訊 sms 136 phonenumber 簡訊協議是用來在應用中發簡訊的,url的格式是sms 是乙個可選的引數用來指定收信人的號碼,這個引數可以包含0...