2013-07-02 47 views
1

我正在做一个简单的应用程序,我想让用户从应用程序进行特定的电话呼叫。IOS核心电话警告和应用程序商店查询

我们在这里有很多特殊的数字,其中包括*和#来获得一些特定的数据。我开始写的应用程序,并用这个最初拨打电话

NSString * phonenumber = [NSString stringWithFormat:@"%@%@%@", 
@"tel://*188*", 
number.text, 
@"#"]; 

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phonenumber]]; 

虽然这种方法适用于正常的数字,特殊字符将被忽略,所以我壮着胆子寻找解决方案,发现CoreTelephony框架提供此功能。

我的新方法包括

  • 加入核心电话二进制项目
  • 引用头使用CTCallDialWithID
  • (@ “* 000 * 0000#”, - 1);拨打电话

现在一切都运行完美,这里有我的顾虑

  • 我得到它说“的功能CTCallDialwithID的隐式声明是无效C99”的警告。我不知道我是否应该忽略这一点,或者如果我错过了什么?
  • 我一直在研究核心电话,有人说应用商店不会接受这个应用,这是真的吗?答案似乎在2年前,所以我不知道事情是否发生了变化,我的意思是苹果自己包含了二进制文件,它不是像之前那样的私有框架?那么,如果我使用这种方法,那么该应用会在应用商店被接受吗?

谢谢

+0

您能否提供您用来成功拨打ussd号码的示例代码?你包括哪些头文件?由于CTCallDiallWithID的定义不在coretelephony头文件中。 –

回答

1

Core Telephony框架是一个有效的框架。但是没有名为CTCallDialWithID的公开方法或函数。这必须是一个私人API。苹果肯定会拒绝你的应用使用私人API。您只能使用由Apple记录的核心电话API。任何其他用途都会导致拒绝(例如在这种情况下)。

+0

好吧,这让我有点难过,因为我能够实现我所需要的。有没有办法使用特殊字符拨打电话,或者没有机会拨打电话? –

+0

你给出的答案是非常准确和正确的。感谢您的时间。 –

相关问题