Skip to main content

 

 

 

 

Template:OutSystems/Documentation_KB/Breadcrumb_New_Layout

 

 

Template:OutSystems/OSLanguageSwitcher

 

 

 

OutSystems

MABS 6.0の互換性を破る変更と既知の制限

一般的な問題と解決策については、「モバイルアプリ生成のトラブルシューティング」もご覧ください。

MABS 6.0 Beta 1リリースによるアプリの作成を開始した後、互換性を破る変更や既知の制限に遭遇する可能性があります。これらの詳細と一部の問題の修正方法を以下に示します。

MABS 6.0での最大の変更は、WKWebViewの導入です。WKWebViewを利用することで、Apple App Storeの受け入れ要件に準拠したモバイルアプリを作成できます。これは、iOS 10のサポートがなくなることも意味します。

互換性を破る変更

MABS 6.0 Beta 1の互換性を破る変更と問題の修正方法を以下に示します。

OutSystemsサーバーに対するXHR/取得リクエストが機能しない

症状

OutSystemsサーバーに対するXHR/取得リクエストが失敗します。

回避策

XML HTTPリクエストのカスタムJavaScriptノードはCORSを実装しているサーバーでのみ機能します。iOSアプリは https://ではなくoutsystems://から読み込まれるようになったため、 document.originoutsystems://hostname.domainを返します。オリジンとターゲットでプロトコルが異なるため、https://hostname.domain へのリクエストはすべてクロスオリジンと見なされます。このため、OutSystemsサーバーで現在実装されていないCORSがWKWebViewによって適用されます。他のサーバーに対するXHR/取得リクエストは、それらのサーバーがCORSを実装しているかどうかによって異なります。

以下の回避策を試行することができます。

  • サーバーアクションを使用します。WKWebViewを備えたMABS 6.0以降、サーバーアクションの呼び出しはXHRではなくネイティブコードにより実行され、CORS検証が適用されません。
  • サーバーにCORSを実装します。バックエンド構成にアクセスできる場合は、CORSが適切に実装されていることと、アプリケーションのoriginヘッダーの値が許可されていることを確認します。
  • cordova-plugin-advanced-httpなどのCordovaプラグインを使用し、(WKWebView以外の)ネイティブコードを使用してHTTPリクエストを「プロキシ」し、CORSを完全に回避します。

OutSystemsサーバーのCookieにdocument.cookieからアクセスできない

症状

OutSystemsサーバーのCookieにdocument.cookieからアクセスできません。

回避策

MABS 6.0ではdocument.cookieを利用できないため、Cookieを表示するには内部APIを使用します。OutSystemsNative.Http.getCookies().

RedirectToURLイベントが失敗する

症状

MABS 6.0でRedirectToURLイベントが失敗します。

回避策

MABS 6.0以降のiOSアプリケーションはhttps://ではなくoutsystems://で読み込まれるため、別のOutSystemsアプリへの絶対URLによるリダイレクトは失敗します。

RedirectToURLイベントプロパティ

以下の回避策を試行することができます。

  • MABS 6.0: iOSの場合はカスタムスキーマoutsystems://を使用し、Androidの場合はhttps://を使用します。
  • MABS 5.X以前: iOSの場合もAndroidの場合もhttps://を使用します。
  • 様々なMABSバージョンやプラットフォームをターゲットにしている場合は、使用中のプラットフォーム(MABS 6.0以前)を確認して正しいURL(outsystems://またはhttps://)を設定するカスタムロジックを実装します。
  • 可能な限り相対URLを使用します。
  • ベストプラクティスとして、InAppBrowserプラグインを使用してURLを開きます。これにより、現在のアプリケーションのコンテキストが維持されます。

既知の制限

MABS 6.0 Beta 1の既知の制限を以下に示します。

Webインスペクタでネットワーク情報が表示されない

症状

SafariのWebインスペクタでサーバーアクションのリクエストに関するネットワーク情報が表示されません。

回避策

現在、回避策はありません。OutSystemsのロードマップでは、このトラブルシューティングの代替機能の提供を予定しています。Webインスペクタのその他の機能は利用できます。

  • Was this article helpful?