IOS v12 Https запрашивает ошибки

David Dal Busco спросил: 12 мая 2018 в 05:16 в: ios

Я заметил, что запросы https, сделанные из моего Ionic Angular app на iOS v12, не срабатывают, соответственно, никогда не доходят до моего бэкэнда.

Я мог бы подтвердить, что мое приложение продуктивно и тот факт, что эта ошибка возникает только в iOS > = v12

Когда я отлаживаю в Xcode 10 beta, я получаю следующую ошибку

{"headers": {"normalizedNames": {},"lazyUpdate": null,"headers": {}},"status": 0,"statusText":"Unknown Error","url": null,"ok": false,"name":"HttpErrorResponse","message":" Ответ на ошибку Http для (неизвестный url): 0 Неизвестная ошибка"," error": {" isTrusted": true}}

Мой узел Node / Express.js задает следующие заголовки

var allowedOrigins = ["https://example.com", "http://ionic.local", "http://localhost:8080"]; var origin = req.headers.origin;
 if(allowedOrigins.indexOf(origin) > -1){
        res.setHeader('Access-Control-Allow-Origin', origin);
 } else {
        res.setHeader("Access-Control-Allow-Origin", "https://example.com");
    } res.header("Access-Control-Allow-Credentials", "true") 
 res.header("Access-Control-Allow-Headers", "Origin, Authorization, Content-Type, Content-Range, Content-Disposition, Content-Description, X-Requested-With, X-ACCESS_TOKEN");
 res.header("Access-Control-Allow-Methods", "GET,PUT,POST");

Кто-нибудь сталкивается с той же проблемой? Что вы изменили в своем коде, чтобы исправить проблему для iOS v12?

PS: Я открыл проблему Apple

Также здесь связанный субъект на Ионном форуме: https://forum.ionicframework.com/t/ios-12-beta-preflight-requests-fail

И только в case открыла проблему в плагине WkWebView: https://github.c om / ionic-team / cordova-plugin-ionic-webview / issues / 112

ОБНОВЛЕНИЕ

Я не уверен, но похоже, что я только проблема с лицом при запросе POST запросов соответственно, что я не сталкиваюсь с этим при выполнении запросов GET ... не могли бы вы это подтвердить?

ОБНОВЛЕНИЕ 2

В следующем обсуждении / выпуске https://github.com/ionic-team/cordova-plugin-ionic-webview/issues/112 мы также делаем ставку на ошибку в версии iOS сам. Посмотрим, будет ли исправлено следующая бета-версия.

UPDATE 3

Xcode 10 beta 2 соответственно iOS 12 beta 2 выпущенный во вторник 19 июня 2018 года, решил мою проблему

3 ответа

InkGolem ответил: 30 мая 2018 в 06:07

Я чувствую себя очень уверенно, что это всего лишь бета-1 ошибка без подтвержденной работы. Я никогда не получал возможность получить это подтверждение лично на WWDC, но, похоже, это очень подтверждено несколькими источниками, включая эту ошибку на открытом радаре. Я собираюсь подать дополнительную ошибку непосредственно с Apple и обновить ответ любыми ответами.

Обновление: я протестировал несколько устройств на iOS 12 beta 2, и проблема, похоже, решена. Нет обновления об ошибке, поданной Apple, но я собираюсь предположить, что она была адресована в последнем обновлении.

Обновление 2: Apple наконец-то закрыла мою ошибку как исправленную.

Есть решение
David Dal Busco ответил: 26 мая 2018 в 07:27

Проблема была внутренней проблемой iOS 12 beta 1

Xcode 10 beta 2, соответственно iOS 12 beta 2, выпущенной во вторник 19 июня 2018 года, решила мою проблему

maple ответил: 19 мая 2018 в 08:27

Тестирование проблемы. В iOS 12 ниже два пути не будут выполняться в этой проблеме.

  1. запрос с HTTP
  2. после запроса с помощью данные формы, а не json. если вы отправляете сообщение с JSON, вызывается запрос опции, но webkit не отправляет этот запрос, поэтому cros domain failed
timbru31 ответил: 20 мая 2018 в 07:27
Хотя эти обходные пути могут работать, я настоятельно рекомендую вам не использовать незашифрованный веб-трафик и не изменять тип MIME, они есть по какой-либо причине