Подтвердить что ты не робот

Является ли проект инструмента командной строки Xcode разрешенными разрешениями CoreLocation?

У меня есть проект командной строки Xcode, написанный на С++. Недавно я добавил структуру CoreLocation и связанный код, чтобы найти местоположение пользователей.

Обычно, когда я реализую инфраструктуру CoreLocation, OS X запрашивает у меня разрешение на предоставление приложения. Это не происходит с моим инструментом командной строки. Это потому, что нет связанного окна/меню?

Кроме того, если я попытаюсь вручную включить разрешение в панели "Системные настройки" в разделе "Безопасность" > "Конфиденциальность", он автоматически отключается при каждом запуске приложения, даже если я явно разрешил доступ.

Любая информация будет принята с благодарностью.

4b9b3361

Ответ 1

Некоторые вещи под Mac OS нуждаются в подключении к серверу окон. Примером этого является NSImage, и может быть, что для служб определения местоположения также требуется такое соединение.

Однако я не знаю, как сделать такое соединение без вызова NSApplicationMain.

Что вы можете сделать, это написать вспомогательное приложение, которое не отображается в доке (например, приложение панели состояния), но вызывает NSApplicationMain. Это приложение будет затем выполнять все службы определения местоположения и связываться с вызывающим процессом (вашим CLI) через stdout или сокеты или что-то подобное.

Ответ 2

Вы также импортируете Foundation.h в свой проект? Вы должны проверить, чтобы увидеть все зависимости, которые имеет CoreLocation, и убедиться, что они вносят его в ваш проект. CoreLocation также записывается в Objective-C, поэтому некоторые из вызовов не могут быть пойманы С++ вашим компилятором.

Ответ 3

когда CoreLocation запрашивает данные о местоположении, Mac предложит вам окно с запросом на предоставление разрешения, если вы проверите "Не спрашивайте меня снова" и нажмите "ОК", то он никогда не будет запрашивать сообщение еще раз, Reset Предупреждения "в области безопасности, но если вы переместите приложение командной строки в другой каталог, Mac снова попросит разрешения. Я считаю, что это разрешение хранится с полным путем приложения.