Ios 通过编程在iPhone上拨打紧急电话
我想做一个按钮,用户可以用它拨打紧急服务 似乎没有任何特定的方法可以调用来实现这一点,所以我认为我必须使用Ios 通过编程在iPhone上拨打紧急电话,ios,iphone,objective-c,Ios,Iphone,Objective C,我想做一个按钮,用户可以用它拨打紧急服务 似乎没有任何特定的方法可以调用来实现这一点,所以我认为我必须使用 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]]; 然后自己分配电话号码。然而,虽然我知道这是美国的911,英国的999等等,但我不确定如何确定用户所在的国家-我可以检索他们的语言环境,但如果他们手动设置语言环境或在国外旅行,这将是不可靠的。我可以确定他们的位置,但如果他们关闭了GP
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
然后自己分配电话号码。然而,虽然我知道这是美国的911,英国的999等等,但我不确定如何确定用户所在的国家-我可以检索他们的语言环境,但如果他们手动设置语言环境或在国外旅行,这将是不可靠的。我可以确定他们的位置,但如果他们关闭了GPS或没有互联网连接,这将不起作用
我听说112现在是GSM手机的通用标准-它能在所有iPhone上使用吗
似乎没有任何特定的方法可以调用来实现这一点,所以我
我想我必须使用
[[UIApplication sharedApplication]openURL:[NSURL]
URLWithString:phoneNumber]]
这是正确的
关于拨打哪个号码,我认为没有全球紧急电话号码。我不确定如何获得不同的号码,但假设您有一组号码(比如按国家分类的字典),那么您可以使用网络信息来确定手机当前位于哪个国家 您可以通过使用CoreTelephony框架,特别是
CTTelephonyNetworkInfo
和CTCarrier
类来实现这一点。这是一个小样本,可以获得当前承运人的ISO 3166-1国家代码
CTTelephonyNetworkInfo *network = [[[CTTelephonyNetworkInfo alloc] init] autorelease];
CTCarrier *carrier = [network subscriberCellularProvider];
NSString *countryCode = [carrier isoCountryCode];
现在,
countryCode
将拥有代码(据我所知,是Alpha-2代码),这是每个国家独有的,测试这一功能应该很有趣……似乎112至少在大多数国家都能工作:这似乎可以检索手机的家庭网络信息-我有一部美国手机(带有美国SIM卡),目前在英国,它不断地检索我们的国家代码,以及310(美国)的移动国家代码。此外,在调查之后——由于112是GSM标准,我不确定它是否适用于像Verizon/Sprint iPhone这样的CDMA手机……我可能只是告诉用户关闭应用程序并拨打911以避免棘手的情况:)我的错误,我没有阅读文档,“subscriberCellularProvider”确实返回了家庭网络。