I'm experiencing some strange behaviour in one of my canvas apps using a component and a toggle, where the app works as designed on both Desktop and Android, but it doesn't function on iOS.
The PowerApp process:
All of the above works perfectly on both Desktop (in play mode as well as in the editor) and Android. When either of the actions are however performed on an iOS device (testing with iPad Pro and iPhone 10) the actions result in nothing the first time. Only the second time the same action is performed it works as intended.
As one could imagine, needing to perform an action twice every time is very annoying (#firstworldproblems). Hence I'm reaching out to you. Does anybody have any ideas as to how I could solve this? And perhaps why execution of the functions in the UnCheck property behaves differently cross-platforms.
Hi @ROB365 ,
Based on the issue that you mentioned, I have made a test on my side, and don't have the issue that you mentioned.
As an alternative solution, please take a try with the following workaround:
Set the OnChange property of the Toggle control to following:
If( Toggle1.Value, "Type your Check formula here", "Type your UnCheck formula here" )
Please consider type your formula within the OnChange property of the Toggle control rather than the OnCheck property or OnUncheck property.
Please consider take a try with above solution, then re-publish your app, check if the issue is solved.
Can you describe the exact values of Toggle.Default and Toggle.OnUncheck? You mentioned that it is set to an output property of the component. How is that output property configured?
You can narrow down the cause of the problem by adding what I call "debugging labels". For example, insert a Label that has its Text property set to the output property of the component. This way, you can easily see the output value of the component. If the Label shows the expected value, then the bug is specific to the Toggle control. If the Label also shows the wrong value, then the bug is with the component that produces the output value.
Thanks for your suggestion, I have tried moving the code to the OnChange as opposed to the UnCheck but sadly that gives the same result. It still needs to be exectuted twice on iOS.
Any other suggestion? Thanks
Fill out a quick form to claim your user group badge now!
Find out where you can attend!
Features releasing from October 2019 through March 2020
Learn how to build the business apps that you need.