इसे प्राप्त करने के लिए हमें दोनों App में कोड की कुछ लाइन जोड़ने की आवश्यकता है
ऐप ए: जिसे आप दूसरे ऐप से खोलना चाहते हैं। (स्रोत)
App B : App B से आप App A (गंतव्य) खोलना चाहते हैं
ऐप ए के लिए कोड
App A के Plist में कुछ टैग जोड़ें, App A के
Open Plist Source और XML के नीचे Past
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.TestApp</string>
<key>CFBundleURLSchemes</key>
<array>
<string>testApp.linking</string>
</array>
</dict>
</array>
App A के App प्रतिनिधि में - यहाँ कॉलबैक प्राप्त करें
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
// You we get the call back here when App B will try to Open
// sourceApplication will have the bundle ID of the App B
// [url query] will provide you the whole URL
// [url query] with the help of this you can also pass the value from App B and get that value here
}
अब आ रहा है बी बी कोड -
अगर आप बिना किसी इनपुट पैरामीटर के सिर्फ ऐप ए को खोलना चाहते हैं
-(IBAction)openApp_A:(id)sender{
if(![[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"testApp.linking://?"]]){
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"App is not available!" message:nil delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
}
}
यदि आप App B से App A में पैरामीटर पास करना चाहते हैं तो नीचे दिए गए कोड का उपयोग करें
-(IBAction)openApp_A:(id)sender{
if(![[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"testApp.linking://?userName=abe®istered=1&Password=123abc"]]){
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"App is not available!" message:nil delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
}
}
नोट: आप App को केवल testApp.linking के साथ भी खोल सकते हैं : //? सफारी ब्राउज़र पर