ionic - iFrames не отображаются на ios, когда живут - PullRequest
0 голосов
/ 27 августа 2018

Так что это меня совершенно озадачило.

У нас есть приложение, построенное на платформе Ionic (версия CLI 4.1.1)

Приложение принимает номера кредитных карт от пользователя через размещенное поле через компанию, которую мы используем (Splash Payments). Это просто означает, что они вставляют на экран iFrames для полей номера кредитной карты, срока действия и номера CVV.

Когда мы тестируем это локально на нашем компьютере, обслуживая все это работает нормально. Когда мы собираем приложение и тестируем его с помощью xCode, все работает нормально, однако, когда мы фактически выпускаем его в магазин приложений (мы загружаем обновление кода с помощью Code Push), поля просто не появляются.

Сначала мы поняли, что это, вероятно, Политика безопасности контента, поэтому мы немного поиграли с этим и придумали следующее:

<meta http-equiv="Content-Security-Policy" content="default-src https://s3.amazonaws.com https://api.OURCOMPANY.com https://codepush.azurewebsites.net 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval' 'unsafe-inline'; connect-src https://codepush.azurewebsites.net https://api.splashpayments.com https://api.OURCOMPANY.com 'unsafe-eval' 'unsafe-inline'; script-src https://api.splashpayments.com https://code.jquery.com 'self' 'unsafe-inline' 'unsafe-eval'; style-src https://api.splashpayments.com 'self' 'unsafe-inline'; frame-src https://api.splashpayments.com 'self'; media-src *" />

После этого не работает, мы попытались добавить

<allow-navigation href="*" />
<access origin="*" />

в файл config.xml.

Ничего из этого не сработало. Мы все еще не получили полей в форме платежей.

Есть идеи, почему эти кадры не отображаются?

Вот изображение формы, заполняемой через xCode напрямую на телефон: enter image description here

Вот изображение, которое не работает, когда живешь NOT working when live

...