0

我有一个带有 4 个 UIButtons 的应用程序,我想为每个用户预编程电话号码。我是这样写的:

- (IBAction)callFirst:(id)sender {
[NSURL URLWithString:@"tel.0739421700"];
}

- (IBAction)callSecond:(id)sender {
[NSURL URLWithString:@"tel.0705652000"];
}

- (IBAction)callThird:(id)sender {
[NSURL URLWithString:@"tel.0705666900"];
}

- (IBAction)callFourth:(id)sender {
[NSURL URLWithString:@"tel.0702857900"];
}

当我在模拟器上打开应用程序时,它会将我带到日志并显示错误。我应该怎么写呢?这就是我运行它时出现的情况。“return UIApplicationMain...”部分在其边缘标有绿色箭头。在右侧它显示“线程 1:信号 sigabrt”它来自 main.m 文件:

#import <UIKit/UIKit.h>

#import "AppDelegate.h"

int main(int argc, char *argv[])
{
@autoreleasepool {
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}

提前致谢!

4

1 回答 1

0
  1. 你没有打开网址
  2. 你使用了错误的url 方案

像这样的东西应该工作:

- (BOOL)callPhoneNumberWithString:(NSString *)phoneNumberString {
    NSURL *url = [NSURL URLWithString:phoneNumberString];
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        [[UIApplication sharedApplication] openURL:url];
        return YES;
    }
    return NO;
}

- (IBAction)callFirst:(id)sender {
    [self callPhoneNumberWithString:@"tel:0123456789"]; 
}
于 2012-11-19T20:07:23.250 回答