Нетехнические: вы связаны Условиями использования Google .
Полагаю, вы спрашиваете о технических барьерах. Самым раздражающим, с которым я столкнулся, была концепция уровня масштабирования. В MKMapKit есть свойство региона, с помощью которого вы можете настроить видимую часть карты. Проблема с этой вещью в том, что она округляется непредсказуемо. Если вы установите свойство region для экземпляра MKMapView, результирующий регион фактически отличается от того, который вы установили. Более того, следующий код фактически меняет регион MKMapView:
mapView.region = mapView.region;