2012-02-22 39 views
8

Tôi có ứng dụng iOS sử dụng Mua trong ứng dụng phục vụ cho khán giả quốc tế, vì vậy tôi mong đợi thanh toán bằng các đơn vị tiền tệ khác nhau (USD, EUR, CNY, ... bạn biết chúng từ Ma trận giá AppStore). Tất nhiên tôi muốn hiển thị các mặt hàng để mua bằng nội tệ của người dùng, nhưng tôi thực sự không biết làm thế nào.AppStore Trong ứng dụng mua hàng: Cách nhận đơn vị tiền tệ mà người dùng sẽ thanh toán?

Sử dụng khu vực hoặc ngôn ngữ của người dùng có vẻ giống như chỉ báo xấu vì đơn vị tiền tệ tùy thuộc vào khu vực của tài khoản AppStore mà người dùng đang sử dụng chứ không phải trên cài đặt thiết bị.

Làm cách nào để tìm ra loại tiền mà người dùng sẽ thanh toán?

Trả lời

31

Khi bạn có đối tượng SKProduct được tìm nạp, bạn có thể tạo giá địa phương của nó từ giá và thuộc tính giáLocale. Dưới đây là copy-paste từ apple docs làm thế nào để làm điều đó:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; 
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4]; 
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
[numberFormatter setLocale:product.priceLocale]; 
NSString *formattedString = [numberFormatter stringFromNumber:product.price]; 
+0

Vì vậy, tôi không nên có mặt hàng để bán trong ứng dụng của tôi trực tiếp, nhưng yêu cầu họ từ táo để có được các giá trị và các văn bản cục bộ. Đúng? – janpio

+2

Có, theo hướng dẫn của Apple, bạn nên lưu trữ các id mặt hàng mua trong ứng dụng và sau đó tìm các mục SKProduct từ máy chủ của Apple (ví dụ: xem lớp skproductsrequest). Cách tiếp cận đó cũng sẽ đảm bảo rằng bạn chỉ trình bày cho người dùng những mục được phê duyệt bởi táo và hợp lệ để mua – Vladimir

+0

câu trả lời hay cười lol – Navi

Các vấn đề liên quan