I'm designing a mobile app (iOS and Android - mobile only) that requires location-specific content to be shown to the user (roughly knowing the user's city is fine for scope). We'd prefer not to use native location services as there are compliance issues with warehousing user data. To get around this we'd like the user to enter a location.
My initial thought is to ask for zip code, but as this app has an international user base, I don't know if zip code is ubiquitous across the world. Asking for city name with an autofill option also requires us to have a table for city names to check against (correct me if I'm wrong), which is developmentally prohibitive as far as I know. Integrating some kind of maps API is also an option, but it's a big hassle we'd like to avoid.
My question is: what is the simplest method of having a user input a location within a city's degree of accuracy?