iOS应用间的跳转和传值

时间:2023-03-09 06:52:26
iOS应用间的跳转和传值

在第一个应用程序中info.plist设置

iOS应用间的跳转和传值

URL Identifier: 该字符串是你自定义的 URL scheme 的名字

注意: URL Schemes 是一个数组,允许应用定义多个 URL schemes。

补:查看key

iOS应用间的跳转和传值

效果:

iOS应用间的跳转和传值

调用字符串():iOSApp://(你的应用的URL scheme 的名字+:// )可直接在浏览器调用

代码调用;

 NSString *customURL = @"iOSApp://";
    
    if ([[UIApplication sharedApplication]
         canOpenURL:[NSURL URLWithString:customURL]])
    {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:customURL]];
    }

程序切换时参数的传递 (第一个应用程序AppDelegate中)

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    NSLog(@"Calling Application Bundle ID: %@", sourceApplication);
    NSLog(@"URL scheme:%@", [url scheme]);
    NSLog(@"URL query: %@", [url query]);
    
    return YES;
}

第二个应用程序中:iOSApp://后加上字符串就行了

  NSString *customURL = @"iOSApp://?token=123abct&registered=1";

注意 “Calling Application Bundle ID”,你可以用这个来确保只有你定义的应用可以与你的应用直接交互。