iOS v12 Https запрашивает ошибки - PullRequest
0 голосов
/ 05 июня 2018

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

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

При отладке в бета-версии Xcode 10 я получаю следующую ошибку

{«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

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

И на всякий случай открыл проблему с плагином WkWebView: https://github.com/ionic-team/cordova-plugin-ionic-webview/issues/112

ОБНОВЛЕНИЕ

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

ОБНОВЛЕНИЕ 2

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

ОБНОВЛЕНИЕ 3

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

Ответы [ 3 ]

0 голосов
/ 12 июня 2018

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

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

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

0 голосов
/ 20 июня 2018

Внутренняя проблема iOS 12 beta 1

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

0 голосов
/ 12 июня 2018

Тест - проблема, на iOS 12 ниже два пути не будут сталкиваться с этой проблемой

  1. запрос с HTTP
  2. пост-запрос с данные формы , не с json .если вы публикуете с помощью JSON , будет активирован запрос опции, но webkit не публикует этот запрос, поэтому кросс-домен не удался
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...