いくつかの iTunes ストアから自分のアプリを使用してもらいたいです。私はNSLocale Class Referenceを読みましたが、彼らは「現在のユーザー」について話しています。では、「現在のユーザー」とは誰ですか?アプリをダウンロードしたユーザーですか?
1)現在のappleIDの国またはアプリがダウンロードされたiTunesストアの国に応じてNSLocaleを取得することは可能ですか?
2) NSLocale をシミュレートしてアプリをテストすることは可能ですか?
いくつかの iTunes ストアから自分のアプリを使用してもらいたいです。私はNSLocale Class Referenceを読みましたが、彼らは「現在のユーザー」について話しています。では、「現在のユーザー」とは誰ですか?アプリをダウンロードしたユーザーですか?
1)現在のappleIDの国またはアプリがダウンロードされたiTunesストアの国に応じてNSLocaleを取得することは可能ですか?
2) NSLocale をシミュレートしてアプリをテストすることは可能ですか?
iOSには「現在のユーザー」というものはありません。ドキュメントでの「現在のユーザー」への言及NSLocale
は、おそらくOSXドキュメントからの引き継ぎです。
iOSで、設定アプリを実行し、[一般]、[インターナショナル]の順に移動します。「地域フォーマット」と「言語」の設定は、iOSで何を返すかを定義します[NSLocale currentLocale]
。
iOSでは、サードパーティのアプリが特定のiTunesストアに関するあらゆる種類のappleIDまたは情報を取得する方法はありません。
2つの質問に直接答えるには:
1)いいえ、この情報にアクセスすることはできません
2)はい、設定アプリを実行し、言語や地域の形式の設定を変更します。これは、アプリで取得するものに影響しNSLocale
ます。
仲間、ユーザー (Apple ID、iTunes ストア) のロケールを取得する解決策を見つけました! SKProduct からロケールを取得できます。
if([SKPaymentQueue canMakePayments])
{
[self requestProductData];
}
#pragma mark -
#pragma mark In-App Purchase Delegate Methods
- (void)requestProductData
{
NSLog(@"IN-APP:requestProductData");
SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:<your in-app identifier>]];
request.delegate = self;
[request start];
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
NSArray *myProduct = [[NSArray alloc]initWithArray:response.products];
if ([myProduct count]>0)
{
SKProduct *product = [myProduct objectAtIndex:0];
NSLog(@"Price: %.2f",product.price.floatValue);
NSLog(@"Price Locale: %@",product.priceLocale.localeIdentifier);
NSLog(@"Product Identifier: %@",product.productIdentifier);
NSLog(@"IN-APP:array count: %i", [myProduct count]);
[request autorelease];
}
[myProduct release];
myProduct = nil;
}