Я пробовал iOS и PhoneGap и добился определенного успеха, но когда я добавлял геолокацию и карты с помощью Leaflet, я застрял на плитках, которые не загружались, даже если я добавил их в Cordova.plist в качестве внешнего хоста.
Плитки вызываются отсюда:
var map = new L.Map('map');
var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/MYAPIKEY/997/256/{z}/{x}/{y}.png',
cloudmadeAttribution = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 CloudMade',
cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18, attribution: cloudmadeAttribution});
Даже если я удалю протокол, плитки не будут загружаться из симулятора iOS, поэтому я не уверен, что не так с тем, что я делаю. Приложение прекрасно компилируется без ошибок, а ключ CloudMade, который я использую, предназначен для мобильных устройств. Я узнаю об этом из учебных пособий Leaflet и делаю некоторые очень минимальные изменения в процессе, чтобы изучить разработку iOS с помощью PhoneGap. Спасибо.