ios開發-APP之間跳轉
原文地址:http://blog.csdn.net/grozy_sun/article/details/11321081
設想:如果App1能再自己中開啟App2,那麼App1開啟自己是不是就能開啟自己了呢。後來就簡單的去實現了一下,結果失敗了,有同樣想法的就放棄吧,但是這個跳轉覺得還是有一定用途的,為了以後方便自己和大家,簡單的記錄一下,下面進入正題。
最開始,首先要為自己的應用註冊一個自己的URL(因為一會兒要呼叫openURL:的這個方法,這個很關鍵)。下面是註冊自己URL的方法。
我們都知道,當生成一個專案的時候,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),然後就是程式碼部分了。
要是想測試的話,你可以把這部分程式碼放到按鈕的點選事件中:
NSURL * url=[NSURLURLWithString:@"App2://"];
[[UIApplicationsharedApplication] openURL:url];
到這位置App1中的程式碼就是先了。下面是App2中的做法:首先你要是想讓你的App2能響應App1的開啟,他一定要再自己的AppDelegate中實現一個協議方法:
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id
returnYES;
}