0

私のアプリケーションでは、ショールームの詳細として名刺を表示しています。その詳細では、ユーザーに電話オプションを提供しました。

iPhone からは、次のようにコードを指定することで、それぞれの番号に電話をかけることができます。

 NSString* call = [NSString stringWithFormat:@"tel:%@",phone_number];
NSURL* url = [[NSURL alloc] initWithString:[call  stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:url];

しかし、iPod からは、それぞれの番号に電話をかけることはできないと思います。

今、iPhone と iPod 用のアプリケーションを起動したいのですが、必要なデバイス機能を「テレフォニー」に設定すると、アプリケーションは iPod で動作しません。必要なデバイスの機能をテレフォニーと記載せず、アプリをそのまま提出した場合、Apple の審査プロセスに問題はありませんか? これにより、iPod に電話ボタンが機能しなくなります。

私の質問は、ユーザーが iPod にアプリをインストールする場合、通話ボタンを無効にしてテキストをプログラムで変更する方法です。

4

2 に答える 2

1

tel:デバイスがURL を開くことができるかどうかを確認し、そうでない場合は電話ボタンを非表示にすることができます。

BOOL canCall = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel:123456789"]];
于 2012-04-27T07:49:57.177 に答える
1

あなたのアプリが適切にデグレードされれば、ガイドラインに違反することはないと思います。アプリがそれなしで実行することを完全に拒否する場合にのみ、デバイスの機能要件を宣言する必要があります。

iOSアプリプログラミングガイドから(強調鉱山):

アプリで を実行するために特定のデバイス機能の有無が必要な場合は、アプリの Info.plist ファイルで UIRequiredDeviceCapabilities キーを使用してこれらの要件を宣言する必要があります。実行時に、宣言された機能がデバイスに存在しない限り、iOS はアプリを起動できません。さらに、App Store は、ユーザー デバイスの要件のリストを生成し、ユーザーが実行できないアプリをダウンロードできないようにするために、この情報を必要とします。

アプリがtel://URL に応答できるかどうかを判断するには、「 IOS デバイスに電話機能があるかどうかをテストするにはどうすればよいですか?」を参照してください。 基本的canOpenURLに、電話をかけることができるかどうかを判断するために使用します。

于 2012-04-27T07:52:08.247 に答える