4

私のアプリケーションには、ユーザーの場所や国に基づいて(サービスからの)コンテンツを表示する必要がある特定のシナリオがあります。

これを達成する方法は2つまたは3つありますが、以下に示すようにいくつかの欠点があります。

1)NSLocaleを使用する

NSLocale * locale = [NSLocale currentLocale]; NSString * countryCode = [locale objectForKey:NSLocaleCountryCode];
短所:ユーザーが変更できます。これは、[設定]->[一般]->[インターナショナル]->[地域の形式]から構成できます。

2)コアロケーションの使用

緯度と経度を決定します(CLLocationManagerとCLLocation)。緯度と経度から、逆ジオコーディングを使用して国を決定します。私には、私の目的を果たすための最も正確な方法のようです。

短所:ユーザーがコアロケーションサービスを許可しない場合、緯度と経度を見つけることができず、やはりユーザーに依存します。

これが私のいくつかの質問です

1)アプリケーションを購入したApple IDを知り、このApple IDが属する国を知るのに役立つ、APPLEから入手できるAPIがあるかどうか知りたいのですが。

2)これはAppleの安全な環境を考えると非常に不可能かもしれませんが、それでも... Apple IDに対してクレジットカード(関連付けられている場合)に関連付けられている国を取得することは可能ですか?

応答を待っています。

皆さんありがとう。

4

2 に答える 2

2

両方の質問に対する答えはノーです (正当な理由により)。Apple は、デバイス所有者の Apple ID へのプログラムによるアクセスを提供していません。確かに、クレジット カードに関連付けられている情報はありません。ユーザーに位置情報を取得する許可を求め、アプリが位置情報を必要とする理由を説明します (iOS 6 では、位置情報が要求された理由のコンテキストを提供できます)。

于 2012-10-01T15:13:11.333 に答える
0

CTTelephonyNetworkInfo を使用して、デバイスの SIM カードに関するデータにアクセスできます。もちろん、これはユーザーが SIM カードを持っている場合にのみ機能します。そして、ほとんどの人が地球上のほとんどの場所に旅行することを許可されているため、それは疑わしい価値があります.

于 2015-11-26T11:47:17.193 に答える