So this is an old thread, but I wanted to explain the issue for others looking into this, because I keep running into it myself during customer integrations.
1) With walled garden disabled, the IOS device will http (port 80) back to Apple, and Meraki will intercept that and serve the splash page. User enters their phone number, and if they miss the text and exit the captive portal assistant browser, IOS drops them from WiFi. When they reconnect, they start the process again with Meraki asking for their phone number, and are stuck in a loop. Meraki should have an option on the page "if you already have a code, please enter it here" as an option.
2) If you use the walled garden and add *.apple.com, the phone joins the WiFi but will not get redirected to the Meraki splash page automatically, since the captive portal assistant is able to phone home to Apple successfully. The user then opens Safari, and (as of 2022) normally won't get redirect either, because most web sites are https (port 443), and Meraki won't/can't redirect 443. If you enter a web site manually like neverssl.com or example.com, the IOS device will attempt an http (port 80) connection and you will be redirected to the splash page.