2013-07-08 26 views
6

Khi các nhà phát triển iOS biết, bạn chỉ có thể đặt một mức giá cho ứng dụng và sản phẩm trong ứng dụng của mình trong cửa hàng ứng dụng. Tuy nhiên, bạn có thể (về mặt lý thuyết) xuất bản nó dưới dạng các ứng dụng riêng biệt ở các quốc gia khác nhau với các mức giá khác nhau. Tôi muốn làm tương tự với các sản phẩm trong ứng dụng của cùng một ứng dụng - xác định các sản phẩm trong ứng dụng thay thế và kiểm soát khả năng hiển thị của chúng trong ứng dụng tùy thuộc vào quốc gia của người dùng. Tôi không muốn sử dụng NSLocale hoặc NSTimeZone vì chúng có thể được thay đổi trong cài đặt. Tôi muốn biết quốc gia mà cửa hàng ứng dụng/người dùng được kết nối với. Ví dụ: tôi muốn cung cấp đăng ký tự động gia hạn cho hầu hết người dùng nhưng tôi biết rằng đăng ký tự động gia hạn không có sẵn trong cửa hàng ứng dụng của Israel, vì vậy tôi muốn hiển thị đăng ký không gia hạn dành riêng cho Israel người dùng và không cho họ thấy tự động gia hạn. Có cách nào đáng tin cậy để đạt được điều này?Lập trình iOS - cách khám phá từ ứng dụng nào (quốc gia) ứng dụng đã được tải xuống

Cảm ơn, Avi

Trả lời

5

Sau khi điều tra thêm, tôi phát hiện ra rằng khi truy vấn các sản phẩm trong cửa hàng-kit, SKProduct trả về với một tài sản mang tên priceLocale, trong đó bao gồm mã quốc gia và mã tiền tệ. Mã quốc gia của priceLocale dường như nhất quán với cửa hàng ứng dụng của người dùng.

Tóm lại, làm các bước sau sẽ nhận được kết quả, tuy nhiên theo một cách đơn giản chậm và không được phép:

  1. Xác định một mục trong ứng dụng;
  2. Truy vấn mục đó trong ứng dụng của bạn;
  3. Xác định quốc gia của người dùng theo [product.priceLocale objectForKey: NSLocaleCountryCode];
  4. Hiển thị cho người dùng các sản phẩm có liên quan mà ứng dụng của bạn hỗ trợ ở quốc gia của họ.
Các vấn đề liên quan