Skip to main content

Resume application after call through application

Resume application after call through application:

//Call from any button Click
-(void)call{

       [self callWithOutExitApplication:[NSString stringWithFormat:@"+%@",@"123456789"]]

}


-(void)callWithOutExitApplication:(NSString *)pPhoneNumber{
   
    NSURL* callURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel://%@",pPhoneNumber]];
    
    
    
    // Make sure device supports phone functionality.
    
    if([[UIApplication sharedApplication] canOpenURL:callURL]){
        
        if(callURL){
            
            
            
            NSString *osVersion = [[UIDevice currentDevice] systemVersion];
            
            
            
            if ([osVersion floatValue] >= TEL_OS_VERSION) {
                
                // To resume the application after call is disconnected, initiate the call using the webview (Work around). In this case a confirmation alert will be shown to user.
                
                UIWebView *webview = [[UIWebView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
                
                [webview loadRequest:[NSURLRequest requestWithURL:callURL]];
                
                webview.hidden = YES;
                
                // Assume we are in a view controller and have access to self.view
                
                [self.view addSubview:webview];
                
            } else {
                
                // On 3.0 and below, dial as usual
                
                [[UIApplication sharedApplication] openURL: callURL];
                
            }
            
        }
        
    }
    
    else{
        
        // If device dose not support the calling feature then show an alert.
        
        UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error", @"Error")
                                  
                                                            message:NSLocalizedString(@"NotSupportedFeature", @"Device does not support this feature.")
                                  
                                                           delegate:nil
                                  
                                                  cancelButtonTitle:@"OK" otherButtonTitles:nil];
        
        [alertView show];
        
    }
}

Comments

Popular posts from this blog

iOS9 iTune Upload Error : Invalid Bundle. iPad Multitasking support requires launch story board in bundle

1. Add the UIRequiresFullScreen key to your Xcode project’s Info.plist file and apply the Boolean value YES 2. This will fix one more issue that is coming at the time of iTune upload Invalid Bundle. iPad Multitasking support requires these orientations: 'UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown,UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight'. If your application only using single orientation then use the above keyword in info.plist

Convert Date into ISO formate

Call below function like : [self toStringFromDateTime:[NSDate date]]; - (NSString*)toStringFromDateTime:(NSDate*)datetime {     // Purpose: Return a string of the specified date-time in UTC (Zulu) time zone in ISO 8601 format.     // Example: 2013-10-25T06:59:43.431Z     NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];     //ISO DateFormatter     [dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@" UTC "]];     [dateFormatter setDateFormat:@" yyyy-MM-dd'T'HH:mm:SS.SSS'Z' "];     NSString* dateTimeInIsoFormatForZuluTimeZone = [dateFormatter stringFromDate:datetime];     return dateTimeInIsoFormatForZuluTimeZone; }