2013-07-02 48 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

你給出的答案是非常準確和正確的。感謝您的時間。 –

相關問題