我正在制作一个简单的应用程序,我希望允许用户从该应用程序调用特定的电话。
我们这里有很多特殊数字,其中包括 * 和 # 以获取一些特定数据。我开始编写应用程序并最初使用它来调用电话
NSString * phonenumber = [NSString stringWithFormat:@"%@%@%@",
@"tel://*188*",
number.text,
@"#"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phonenumber]];
虽然此方法适用于普通数字,但特殊字符会被忽略,因此我冒险寻找解决方案并发现 CoreTelephony Framework 提供了此功能。
我的新方法包括
- 将核心电话二进制文件添加到项目中
- 引用标题
- 使用 CTCallDialWithID(@"*000*0000#",-1);打电话
现在一切正常,这是我的担忧
- 我收到一条警告,上面写着“CTCallDialwithID 函数的隐式声明在 c99 中无效”。我不知道我是应该忽略这个还是错过了什么?
- 我一直在研究核心电话,有人说应用商店不会接受带有此功能的应用,这是真的吗?答案似乎是 2 年前的,所以我不知道事情是否发生了变化,我的意思是苹果自己包含了二进制文件,它不像以前那样是一个私有(private)框架,对吗?那么,如果我使用这种方法,该应用是否会被应用商店接受?
谢谢
最佳答案
Core Telephony
框架是一个有效的框架。但是没有名为 CTCallDialWithID
的公共(public)方法或函数。那必须是私有(private) API。 Apple 肯定会拒绝您使用私有(private) API 的应用程序。您只能使用 Apple 记录的核心电话 API。任何其他用途都会导致拒绝(如本例)。
关于IOS Core Telephony警告和应用商店查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17436812/