1

ユーザーがアプリから特定の電話をかけることを許可したい単純なアプリを作成していました。

ここには、特定のデータを取得するための * と # を含む特別な番号がたくさんあります。私はアプリを書き始め、最初はこれを使って電話をかけました

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

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

この方法は通常の数字で機能しますが、特殊文字は無視されるため、ソリューションを探してみたところ、CoreTelephony フレームワークがこの機能を提供することがわかりました。

私の新しい方法には以下が含まれます

  • プロジェクトにコア テレフォニー バイナリを追加する
  • ヘッダーの参照
  • CTCallDialWithID(@"*000*0000#",-1); を使用します。電話をかける

今、すべてが完全に正常に機能し、ここに私の懸念があります

  • 「関数 CTCallDialwithID の暗黙の宣言は c99 では無効です」という警告が表示されます。これを無視するべきなのか、何かを見逃したのかわかりません。
  • 私はコア テレフォニーについていくつか調査を行ってきましたが、アプリ ストアはこれを使用したアプリを受け入れないと言う人もいますが、これは本当ですか? 答えは2年前のようですので、物事が変わったかどうかはわかりません。つまり、Appleはバイナリ自体を含めており、以前のようなプライベートフレームワークではありませんか? この方法を使用すると、アプリはアプリストアで承認されますか?

ありがとうございました

4

1 に答える 1

1

Core Telephonyフレームワークは有効なフレームワークです。しかし、という名前のパブリック メソッドまたは関数はありませんCTCallDialWithID。それはプライベート API でなければなりません。Apple は、プライベート API を使用するアプリを確実に拒否します。Apple が文書化した Core Telephony API のみを使用できます。それ以外の使用は拒否されます (この場合のように)。

于 2013-07-02T22:31:24.800 に答える