Я строю инструмент командной строки в Swift 5, который должен получить широту и длину строки с городом и штатом. При запуске приложения из Xcode метод geocodeAddressString просто игнорируется. Нет ошибок, просто пропущено. При исследовании этой проблемы я думаю, что мне нужно дать своему приложению возможность получить разрешение на сетевой вызов.
Каждый раз, когда я добавляю возможность «Песочницы», он добавляет файл разрешений в мое приложение и вылетает при
.
Поток 1: EXC_BAD_INSTRUCTION (code = EXC_I386_INVOP, subcode = 0x0)
Код внутри класса, который работает ниже, прекрасно работает на игровой площадке, заменяя переменную местоположения жестко закодированной строкой, такой как "Cincinnati, OH," возвращение лат и долго, как ожидалось. Может ли кто-нибудь сказать мне, как предоставить инструменту командной строки доступ к защищенным ресурсам, таким как сетевой доступ или службы определения местоположения (хотя я не думаю, что это требуется, поскольку я вообще не использую GPS или местоположение пользователя - просто отправляю строки города и штата в веб-сервис Apple. Спасибо за ваше время.
import CoreLocation
class LatLong {
func forwardGeoCode (location: String) {
let geocoder = CLGeocoder()
print(location)
geocoder.geocodeAddressString(location) {placemarks, error in
let placemark = placemarks?.first
let lat = placemark?.location?.coordinate.latitude
let lon = placemark?.location?.coordinate.longitude
print("Lat: \(String(describing: lat)), Lon: \(String(describing: lon))")
}
}
}