Salesforceモバイルアプリ[iOS版]で、戻るボタンをクリックすると直前の処理が再実行されてしまう
Salesforceモバイルアプリ[iOS版]にて、SkyVisualEditorで作成した画面、または開発をしたVisualforceページを使用している時に、 アプリの戻るボタンをクリックすると、直前の処理が再実行されてしまう可能性があります。
下記のような手順を実行することで現象が発生します。
- Visualforce画面A(SkyVisualEditor画面含む)からVisualforce画面B(SkyVisualEditor画面含む)に画面遷移をする
- 画面Bにて検索処理や保存処理を実行
- アプリの戻るボタンで、画面Bから画面Aに戻る
- 画面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
解決策
残念ながら解決策はありませんが、回避策として下記のご検討をお願いします。
- 画面内に戻るボタンを配置し、アプリの戻るボタンを利用しない
- 遷移先画面での最後の処理が、複数回実行されても問題ないものにする