2013-07-08 32 views
6

Jak już wiesz, twórcy systemu iOS mogą ustawić tylko jedną warstwę cenową dla swojej aplikacji i produktów w aplikacji w sklepie z aplikacjami. Możesz jednak (teoretycznie) opublikować go jako oddzielne aplikacje w różnych krajach o różnych cenach. Chciałbym zrobić to samo z produktami w aplikacji z tej samej aplikacji - zdefiniować alternatywne produkty w aplikacji i kontrolować ich widoczność w aplikacji w zależności od kraju użytkownika. Nie chcę używać NSLocale ani NSTimeZone, ponieważ można je zmieniać w ustawieniach. Chcę poznać kraj, do którego jest podłączony sklep/użytkownik aplikacji.Programowanie w iOS - jak sprawdzić, z którego (w danym kraju) sklepu z aplikacjami została pobrana aplikacja

Na przykład chcę zaoferować subskrypcję automatycznego odnawiania dla większości użytkowników, ale wiem, że subskrypcje z automatycznym odnawianiem nie są dostępne w sklepie z aplikacjami izraelskimi, dlatego chcę wyświetlić abonament nieodnawialny wyłącznie dla Izraelczyków użytkowników, a nie pokazywać im automatycznego odnawiania. Czy istnieje wiarygodny sposób osiągnięcia tego?

Dzięki Avi

Odpowiedz

5

Po zbadaniu dalej, odkryłem, że podczas odpytywania produkty w sklepie-kit, SKProduct powraca z właściwość o nazwie priceLocale, który składa się z kodu kraju i kodu waluty. Kod kraju priceLocale wydaje się być zgodny ze sklepem aplikacji użytkownika.

Podsumowując, robi kroki będzie uzyskać wynik, jednak w powolny i nie prosty sposób:

  1. Definiowanie elementu w aplikacji;
  2. Wyślij zapytanie do tego przedmiotu w swojej aplikacji;
  3. Określić kraj użytkownika zgodnie z [product.priceLocale objectForKey: NSLocaleCountryCode];
  4. Pokaż użytkownikowi odpowiednie produkty, które aplikacja obsługuje w swoim kraju.