Salesforceモバイルアプリ[iOS版]で、戻るボタンをクリックすると直前の処理が再実行されてしまう

Salesforceモバイルアプリ[iOS版]にて、SkyVisualEditorで作成した画面、または開発をしたVisualforceページを使用している時に、 アプリの戻るボタンをクリックすると、直前の処理が再実行されてしまう可能性があります。

下記のような手順を実行することで現象が発生します。

  1. Visualforce画面A(SkyVisualEditor画面含む)からVisualforce画面B(SkyVisualEditor画面含む)に画面遷移をする
  2. 画面Bにて検索処理や保存処理を実行
  3. アプリの戻るボタンで、画面Bから画面Aに戻る
  4. 画面Bで実行した処理が実行される
    (処理内容によっては、画面Bに遷移することもある)


2019年6月20日 現在、モバイルアプリの戻るボタンは、画面上部左側にあります。

対象

iOS版のSalesforceモバイルアプリを使用しており、SkyVisualEditorを含むVisualforce画面間を画面遷移し、遷移後の画面で何らか処理(POST要求)を実施した後に、アプリの戻るボタンをクリックした場合。

原因

iOS版 Salesforceモバイルアプリの不具合となります。
Salesforce社としても既知の問題として、開発者ガイドに記載されております。

Visualforce開発者ガイド:ナビゲーションの問題
https://developer.salesforce.com/docs/atlas.ja-jp.218.0.pages.meta/pages/vf_dev_best_practices_known_issues_navigation.htm

解決策

残念ながら解決策はありませんが、回避策として下記のご検討をお願いします。

  1. 画面内に戻るボタンを配置し、アプリの戻るボタンを利用しない
  2. 遷移先画面での最後の処理が、複数回実行されても問題ないものにする