日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

ios开发中,如何在自己的应用调用另外一个应用

發布時間:2023/12/13 35 生活家
生活随笔 收集整理的這篇文章主要介紹了 ios开发中,如何在自己的应用调用另外一个应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近學習了一下sina微博的sdk,了解并猜測了一下它的sso機制(客戶端的),開始比較奇怪demo中是怎么調用起sina客戶端的。其實ios的機制來講,調起一個其他的app比較簡單:

這個其他的app,也分為兩種,一種是我們開發者開發的,另外一種,是系統的app.

(1)先說一下從一個app中調用我們開發者開發的app

我們自己的app,我簡稱appA,要調用的app我簡稱appB

過程如下:appA->appB appB->appA 并通過URL Scheme回傳給appA一個參數。(這個過程,其實類似我們的demo,調起sina微博客戶端,微博客戶端經過處理之后,又返回到我們的demo過程)

需要做的工作步驟:

a) appA中,需要app(工程名稱)-info.plist這個文件,這個文件一般在Supporting Files文件夾下,實在找不到就搜.plist文件吧,肯定有的。找到之后,在Information Property List下創建一個項, 右鍵,選擇Add Row,找到URL types,創建之。然后再選擇item0,繼續Add Row,創建一個URL Schemes,在其下級的item里面,設置appA本身的URL Scheme.設置完畢之后,應該如下圖所示:

,這個url scheme,說白了,就是appA的一個名字,用來給別的app識別的。假設appA的url scheme:App58ForIphone。

b)appB,也要做一個URL Schemes,方法參照a),假設appB的url scheme:58pinche

c)好了,appA和appB都有名字了,那么怎么識別(調起)它們呢,非常簡單,

appA->appB

NSURL * pincheUrl = [NSURL URLWithString:@"58pinche://?key=value"];

[[UIApplicationsharedApplication] openURL:pincheUrl];

appB->appA

NSURL * appBUrl = [NSURL URLWithString:@"App58ForIphone://?key=value"];

[[UIApplicationsharedApplication] openURL:pincheUrl];

d)如何傳參以及接收參數呢,通過URL Scheme規則(規則您自己定,最簡單的,就是類似上面的key value形勢)

接收并處理參數是根據ios框架在appdelegate提供的兩個回調函數:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

在里面parse URL Scheme就可以了(制定好的URL Scheme非常重要)

(2) 如何調用系統的app呢,比如說短信,電話以及商店中的應用好評等等

結論:統統使用OpenURL

至于如何使用:請參見

https://developer.apple.com/library/ios/

所介紹的URL Schemes

下面隨便舉幾個例子:

1).如果想要在程序中直接連接到app store的itunes而不進http的情況(進web頁面,直接加http地址)。

NSString *str = [NSStringstringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=404612543"];

[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:str]];

2).調用 自帶mail?

[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"mailto://admin@hzlzh.com"]];

3).調用 電話phone?

[[UIApplication sharedApplication] openURL:[NSURLURLWithString:@"tel://8008808888"]];?

4).調用 SMS

?[[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]];?

5).調用自帶 瀏覽器 safari

?[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"http://www.hzlzh.com"]];

6).調用 Remote

?[[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"remote://fff"]];

只要心是晴朗的,人生就沒有雨天

總結

以上是生活随笔為你收集整理的ios开发中,如何在自己的应用调用另外一个应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。