1. 程式人生 > >IOS 應用跳轉 (IOS9白名單)

IOS 應用跳轉 (IOS9白名單)

tom super created reat 獲取 import 字符 ges ict

跳轉到指定app的實現

IOS中應用的跳轉是通過URL實現的,因此在實現應用跳轉之前我們要設置一下對應的URL。

圖一(尋找配置軟件的URL)

技術分享

圖二(具體配置選項)

技術分享

註意:

如果IOS版本為IOS9 我們需要為app設置白名單。

實現跳轉的前提是有這個app,因此我們需要把被跳轉的app先運行,即安裝到模擬器中。

如圖三(在info中添加)

技術分享

效果圖四

技術分享

代碼:

技術分享
//
//  ViewController.m
//  X
//
//  Created by ma c on 16/4/9.
//  Copyright ? 2016年 bjsxt. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIButton *button;

@end

@implementation ViewController
- (IBAction)GoU:(id)sender {
    
    //獲取跳轉app的URl
    NSURL * url = [NSURL URLWithString:@"U://"];
    //判斷手機中是否安裝了對應的app
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        //打開應用程序
        [[UIApplication sharedApplication]openURL:url];
    }
}
- (void)viewDidLoad {
    [super viewDidLoad];
}
@end
技術分享

為了證明實現的是app之間的跳轉:另附兩張app的故事板截圖

X:圖五

技術分享

U:圖六

技術分享

跳轉到指定頁面的實現

前提:我們想要從X跳轉到U的朋友圈。

那麽X的代碼如下:

技術分享
//
//  ViewController.m
//  X
//
//  Created by ma c on 16/4/9.
//  Copyright ? 2016年 bjsxt. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIButton *button;

@end

@implementation ViewController
- (IBAction)GoU:(id)sender {
    
    //獲取跳轉app的URl
    NSURL * url = [NSURL URLWithString:@"U://"];
    //判斷手機中是否安裝了對應的app
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        //打開應用程序
        [[UIApplication sharedApplication]openURL:url];
    }
}
- (IBAction)GoFriend:(id)sender {
    //獲取跳轉朋友圈的URl
    NSURL * url = [NSURL URLWithString:@"U://friend"];
    //判斷手機中是否安裝了對應的app
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        //打開朋友圈
        [[UIApplication sharedApplication]openURL:url];
    }
}
- (void)viewDidLoad {
    [super viewDidLoad];
}
@end
技術分享

我們不能僅僅對X進行設置更要對U進行設置。

對U的代碼操作在Appdeledate中。

代碼如下:

技術分享
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options{
    
    //將url轉為字符串
    NSString * urlString = url.absoluteString;
    //判斷是通過什麽跳轉過來的
    if ([urlString containsString:@"friend"]) {
        NSLog(@"在這裏執行頁面跳轉即可。");
    }
    return YES;
}
技術分享

效果圖七如下

技術分享

IOS 應用跳轉 (IOS9白名單)