WKWebView Тема 1: сигнал SIGABRT при использовании местоположения - PullRequest
1 голос
/ 01 октября 2019

Я новичок в Swift и WKWebView.

В моем приложении реализован WKWebView. Я хочу показать на нем веб-сайт, который использует местоположение, например https://www.google.com/maps.

. Я добавил NSLocationWhenInUseUsageDescription в Info.plist.

Когда я впервые открываю приложение, появляется запрос, которыйзапрашивает местоположение.

Когда я нажимаю Allow, приложение вылетает с ошибкой Thread 1: signal SIGABRT.

Я проверил все свои розетки, и определенно не было ошибки.

Также отображается сообщение об ошибке:

UIAlertView is deprecated and unavailable for UIScene based applications, please use UIAlertController!

Но я явно не вызываю UIAlertView, поэтому я не знаю, как это исправить.

Ответы [ 2 ]

2 голосов
/ 02 октября 2019

Я тоже, это отстой.

 *** Terminating app due to uncaught exception 'NSObjectNotAvailableException', reason: 'UIAlertView is deprecated and unavailable for UIScene based applications, please use UIAlertController!'
*** First throw call stack:
(
    0   CoreFoundation                      0x00007fff23b98bde __exceptionPreprocess + 350
    1   libobjc.A.dylib                     0x00007fff503b5b20 objc_exception_throw + 48
    2   CoreFoundation                      0x00007fff23b98a1c +[NSException raise:format:] + 188
    3   UIKitCore                           0x00007fff466e9463 -[UIAlertView initWithFrame:] + 417
    4   UIKitCore                           0x00007fff466e9ad0 -[UIAlertView initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:] + 218
    5   UIKitCore                           0x00007fff47516acf +[UIAlertView(ViewServiceSupport) _alertViewForWindow:] + 217
    6   UIKitCore                           0x00007fff476cdb44 -[UIWebGeolocationPolicyDecider _executeNextChallenge] + 242
    7   WebKit                              0x00007fff2d123a6d _ZN6WebKit43decidePolicyForGeolocationRequestFromOriginEPN7WebCore14SecurityOriginERKN3WTF6StringEPU37objcproto26WebAllowDenyPolicyListener11objc_objectP8UIWindow + 169
    8   WebKit                              0x00007fff2d123641 -[WKGeolocationProviderIOS(WebGeolocationCoreLocationUpdateListener) geolocationAuthorizationGranted] + 603
    9   WebKit                              0x00007fff2d12328d -[WKGeolocationProviderIOS
...
0 голосов
/ 16 октября 2019

Забавно, что вы не получаете эту ошибку с описанием "location всегда". но вы никогда не получите местоположение ...

Я понизил свое приложение до целевой платформы "iOS 12", а не 13, тогда это позволяет второму "Оповещению" из WKWebView использовать данные о местоположении. Я не мог понять, как предоставить UIAlertControl вместо UIAlertView, который запрашивает WKWebView.

В Интернете много людей жалуются на обновления, сделанные в iOS 13,и сколько структур и библиотек были затронуты изменениями.

...