2012-03-08 2 views
3

Мы разрабатываем приложение iOS. Одно из требований, которое у нас есть, - заставить страну местоположения пользователя применять ограничения в приложении. Одним из решений, о котором мы думаем, является сбор IP-адреса и использование его с помощью службы геолокации для получения страны. Один из партнеров сказал нам, что такое решение нарушает правила Apple. Может ли кто-нибудь подтвердить это заявление? Или кто-то знает другой способ собрать только страну, где находится пользователь устройства?iOS Получить страну, где находится пользователь устройства

ответ

10

Используйте предоставленную Apple location services, чтобы найти местоположение пользователя. Это гораздо точнее геокодирования с IP-адресов, для него не требуется сторонняя услуга (или ваша собственная услуга), и она обеспечивает приблизительную широту и долготу для пользователя, которую вы можете использовать на карте или аналогичной.

+0

Я понимаю, но мы пытались сделать что-то вроде Пандоры или Netflix, потому что мы считаем, что они не используют широту и долготу, чтобы обеспечить соблюдение ограничений. – shinjidev

+0

Pandora и Netflix, скорее всего, обрабатывают любые ограничения, используя «интернационализацию» ... https://developer.apple.com/library/ios/#documentation/MacOSX/Conceptual/BPInternational/BPInternational.html – Tonetel

+0

Ну, я не говоря об ограничениях на языке, я пытаюсь ограничить услугу для некоторых стран, поэтому мне нужно знать пользователя страны – shinjidev

2

Использование служб местоположения, предоставляемых Apple, является лишь частью решения. Поскольку службы определения местоположения не возвращают страну, вам нужно будет использовать службу, которая принимает широту и долготу, чтобы определить страны поблизости. Я использовал это раньше для других целей, но запрос на что-то вроде этого веб-сервиса с широтой и долготой должен вернуть вам страну поблизости.

http://ws.geonames.org/findNearby?lat=47.3&lng=9

+0

Я понимаю, но мы пытались сделать что-то вроде Пандоры или Netflix, потому что считаем, что они не используют широту и долготу для обеспечения ограничений. – shinjidev

0

Вы можете использовать Google Reverse Geocoding API, чтобы получить страну с именем на основе местоположения пользователя координаты

2

Apple, имеет обратную Geocoder API теперь CLGeocoder. Он преобразует долготу и широту в удобное для пользователя представление. Я бы использовал службы определения местоположения и CLGeocoder, чтобы получить эту информацию, поэтому у вас не будет никаких проблем позже и не потребуется никаких сторонних API.

https://developer.apple.com/library/ios/#DOCUMENTATION/CoreLocation/Reference/CLGeocoder_class/Reference/Reference.html#//apple_ref/occ/cl/CLGeocoder

Смежные вопросы