gpt4 book ai didi

ios - 无法使用两个 # 或更多将 NSString 解析为 NSURL

转载 作者:行者123 更新时间:2023-11-29 12:32:25 27 4
gpt4 key购买 nike

我有使用电话卡自动调用电话的应用程序。因此,我需要将电话号码解析为 nsurl 才能像这样调用电话。

UIApplication *myApp = [UIApplication sharedApplication];
NSURL *telURL = [NSURL URLWithString:@"tel://18005333333,,,1#,,,421#,,,959538988"];
[myApp openURL:telURL];

我注意到,如果超过 1 #,我将无法解析为 NSURL。它总是返回零。如果我需要超过 1 #,我可以知道如何解析为 NSURL 吗?

最佳答案

如果您需要 iOS 7.0 或更高版本,那么我建议您使用 NSURLComponents :

NSURLComponents* components = [[NSURLComponents alloc] init];
components.scheme = @"tel";
components.host = @"18005333333,,,1#,,,421#,,,959538788";
NSURL* telURL = components.URL;
[myApp openURL:telURL];

否则,您可能需要使用 CFURLCreateStringByAddingPercentEscapes() 强制对“#”字符进行百分号转义。在整个 URL 而不是组件上使用该函数并不是真正正确的,但如果您只打算在这些类型的 URL 上使用它,除了方案和电话号码之外没有其他组件,它应该可以工作。

关于ios - 无法使用两个 # 或更多将 NSString 解析为 NSURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27273492/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com