0

Launch options is always nil.

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
    //Launch options is always coming nil 
   //even when I launch from 3D touch shortcut icon
     shortcutItemkey = [launchOptions objectForKey:UIApplicationLaunchOptionsShortcutItemKey];

 return N0;
        }

performActionForShortcutItem delegate method is getting called as usual.

-(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL succeeded))completionHandler {

    completionHandler([self handleShortcut:shortcutItem]);

}

1 Answers1

1
- (void)shortcutsWithIcon
{
@try 
{
   UIApplicationShortcutIcon *icon1 = [UIApplicationShortcutIcon iconWithTemplateImageName:@"img_editProduct"];
   UIApplicationShortcutIcon *icon2 = [UIApplicationShortcutIcon iconWithTemplateImageName:@"img_Classifieds"];

   UIMutableApplicationShortcutItem *item1 = [[UIMutableApplicationShortcutItem alloc]initWithType:@"com.3dtouchApp.postAnItem" localizedTitle:@"Post an Item" localizedSubtitle:@"Add new product for sale" icon:icon1 userInfo:nil];
   UIMutableApplicationShortcutItem *item2 = [[UIMutableApplicationShortcutItem alloc]initWithType:@"com.3dtouchApp.LatestAds" localizedTitle:@"Latest Ads" localizedSubtitle:@"View top recent Ads" icon:icon2 userInfo:nil];
   NSArray *items = @[item2, item1];

   [UIApplication sharedApplication].shortcutItems = items;
}
@catch (NSException *exception) {

}
}


 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
   if (self.window.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable)
   {
     [self shortcutsWithIcon];
 UIApplicationShortcutItem *item = [launchOptions valueForKey:UIApplicationLaunchOptionsShortcutItemKey];
        if (item) {
            NSLog(@"We've launched from shortcut item: %@", item.localizedTitle);
        } else {
            NSLog(@"We've launched properly.");
        }
     if ([item.type isEqualToString:@"com.3dtouchApp.postAnItem"])
     {
       ***//Code for launch your screen***
     }

     if ([item.type isEqualToString:@"com.3dtouchApp.LatestAds"])
     {
        ***//code for launch your screen***
     }
    }
  return YES;
}
- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler
{
    if ([shortcutItem.type isEqualToString:@"com.3dtouchApp.LatestAds"]) 
    {
      ***//Code for launch your screen***
     }
     if ([shortcutItem.type isEqualToString:@"com.3dtouchApp.postAnItem"]) 
     {
       ***//Code for launch your screen***
     }

}
iDeveloper
  • 607
  • 5
  • 25