我們來討論一下,在iOS開發中,如何實現從app1打開app2。
基本的思路就是,可以為app2定義一個URL,在app1中通過打開這個URL來打開app2,在此過程中,可以傳送一些參數。下面來討論一下具體的實現過程。
1. 在app2的info.plist中定義URL,就是在文件中添加URL types一項。可按下圖進行添加。
2. 在app1的代碼中打開剛才定義的URL,代碼如下:
[cpp
if ([ourApplication canOpenURL:ourURL]) {//檢測已經安裝
當然,這個URL的形式可以是其他形式的,只要以myapp://開始即可。
這樣,就可以在app1中打開app2.
打開之後,會調用app2的AppDelegate的
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { if ([[url host] isEqualToString:@com.taobao.dgb]) { NSLog(@------%@----%@,[url host],[url query]); NSString *viewId = [[url query] substringFromIndex:[[url query] rangeOfString:@viewId=].location + 7]; if ([viewId isEqualToString:@letters]){ } } return YES; }
由於URL是自己定義的,所以會存在URL重復的情況。經過測試發現,如果試圖打開這個URL,那麼會打開先安裝的那個應用。