[置頂] 在一個應用中打開另外一個本地應用

首先 很感謝 你們能有來看個人博客。

在學習有關這部分的原由是由於原本想作一個重啓的小demo,設想:若是App1能再本身中打開App2,那麼App1打開本身是否是就能打開本身了呢。後來就簡單的去實現了一下,結果失敗了,有一樣想法的就放棄吧,可是這個跳轉以爲仍是有必定用途的,爲了之後方便本身和你們,簡單的記錄一下,下面進入正題。 app

最開始,首先要爲本身的應用註冊一個本身的URL(由於一下子要調用openURL:的這個方法,這個很關鍵)。下面是註冊本身URL的方法。 ide

咱們都知道,當生成一個項目的時候,XCode會爲咱們生成不少文件,其中有一個叫  XXX-info.plist的配置文件(XXX爲你的工程名)。打開這個配置文件,右鍵點擊空白處,選擇Add Row添加一個新的一行(肯定點擊了InformationPropertyList由於咱們要在他下面添加一個新的一行)。 學習

       將這行的名字改成URL types,而後點開Item 0,在Item 0會默認生成一個Key值爲URL identifier,能夠是任何值,但建議用「反域名」,說到這裏我也不太明白怎麼回事,可是能夠確認的是URL identifier內容不影響實現。。,
測試

在Item 0下在添加一個新的一行,名字設置爲URL Schemes 以下圖。 URL Schemes下的Item0的Value值就是內容的關鍵了,他將是咱們以後的URL協議名,這裏咱們寫成App1(而後一樣的步驟,將你要打開的應用的這裏設置App2),而後就是代碼部分了。 url


要是想測試的話,你能夠把這部分代碼放到按鈕的點擊事件中: spa

 NSURL * url=[NSURL URLWithString:@"App2://"]; orm

    [[UIApplication sharedApplicationopenURL:url]; 事件

到這位置App1中的代碼就是先了。下面是App2中的作法:

首先你要是想讓你的App2能響應App1的打開,他必定要再本身的AppDelegate中實現一個協議方法: 圖片

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

    return YES;

}

這就完成了,有什麼問題能夠給我留言,因爲分辨率的問題因此圖片有點大,還望見諒。

相關文章
相關標籤/搜索