簡體   English   中英

如何啟用從Safari iOS中的深層鏈接啟動應用程序

[英]How to enable launching of the app from deep link in Safari iOS

我的老板要求我在Objective-C應用程序中啟用深度鏈接,但我不知道該語言。 首先,我在info.plist啟用了URL方案:

在此處輸入圖片說明

然后在我的AppDelegate.m我有:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [NSThread sleepForTimeInterval:2]; //add 2 seconds longer.

    // Do your time consuming setup

    [splashView removeFromSuperview];

    _pushDict= nil;
    [self APNSRegistration];
    [[UINavigationBar appearance] setTintColor:[UIColor blackColor]];

    //[UIApplication sharedApplication].applicationIconBadgeNumber =0;
    // Assign tab bar item with titles
    UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
    UITabBar *tabBar = tabBarController.tabBar;
    UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
    UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
    UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];
    UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:3];
    UITabBarItem *tabBarItem5 = [tabBar.items objectAtIndex:4];

    tabBarItem1.title = @"";
    tabBarItem2.title = @"";
    tabBarItem3.title = @"";
    tabBarItem4.title = @"";
    tabBarItem5.title = @"";
    NSString *badgeValue = [NSString stringWithFormat:@"%ld", (long)[UIApplication sharedApplication].applicationIconBadgeNumber];
    if([badgeValue  isEqual: @"0"]) badgeValue = nil;
    tabBarItem3.badgeValue = badgeValue;

    //unselected
    [tabBarItem1 setImage:[[UIImage imageNamed:@"0003-home3.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    [tabBarItem1 setSelectedImage:[[UIImage imageNamed:@"0003-home3_selected.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    //unselected
    [tabBarItem2 setImage:[[UIImage imageNamed:@"tazza.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    [tabBarItem2 setSelectedImage:[[UIImage imageNamed:@"0163-mug_selected.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    //unselected
    [tabBarItem3 setImage:[[UIImage imageNamed:@"0084-calendar.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    [tabBarItem3 setSelectedImage:[[UIImage imageNamed:@"0084-calendar_selected.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    //unselected
    [tabBarItem4 setImage:[[UIImage imageNamed:@"0016-camera.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    [tabBarItem4 setSelectedImage:[[UIImage imageNamed:@"0016-camera_selected.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    //unselected
    [tabBarItem5 setImage:[[UIImage imageNamed:@"0072-location.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    [tabBarItem5 setSelectedImage:[[UIImage imageNamed:@"0072-location_selected.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];

    NSDictionary *pushDict = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

    _pushDict= pushDict;
    return YES;
}

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
    printf("openURL called");
    return YES;
}

如果從iOS Safari瀏覽器啟動URL superbar://則表示Safari無法打開頁面。 我確定我在didFinishLaunchingWithOptions缺少了什么,但是呢?

只需在野生動物園地址欄中輸入superbar:// 應用應啟動。 請檢查您的信息標簽-> URL類型

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM