Making a phone call in an iOS application

前端 未结 3 1718
臣服心动
臣服心动 2020-11-29 22:55

I have some code which attempts to make a call within an application, but it doesn\'t seem to be working:

    UIApplication *myApp = [UIApplication sharedApp         


        
相关标签:
3条回答
  • 2020-11-29 23:39

    Yup. You need to take those out yourself. Or you can use the snippet below...

    NSString *cleanedString = [[phoneNumber componentsSeparatedByCharactersInSet:[[NSCharacterSet characterSetWithCharactersInString:@"0123456789-+()"] invertedSet]] componentsJoinedByString:@""];
    NSURL *telURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@", cleanedString]];
    

    Note: you may be tempted to use -stringByTrimmingCharactersInSet:, but that one only removes characters at the start and the end of the string, not if they appear in the middle.

    0 讨论(0)
  • 2020-11-29 23:50

    Here's a simple method that can be used to make a call and return to the app after the call is finished.

    Add the following to your .m file

    - (void) dialNumber:(NSString*) number{
    number = [@"telprompt://" stringByAppendingString:number];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:number]];
    }
    

    Then add the following code wherever you want to make the call from:

    [self dialNumber:@"5031234567"];
    
    0 讨论(0)
  • 2020-11-29 23:54

    To go back to original app you can use telprompt:// instead of tel:// - The tell prompt will prompt the user first, but when the call is finished it will go back to your app:

    NSString *phoneNumber = [@"telprompt://" stringByAppendingString:mymobileNO.titleLabel.text];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
    

    just an update on above answer.

    0 讨论(0)
提交回复
热议问题