When you setup your iPhone/Android as a hotspot, you won’t be able to use that device to setup a Core through the Spark.app. This isn’t a limit that be overcome, at least on the iPhone (not sure about Android) because the hotspot software is using the WiFi hardware on the phone as an AP. At this point user apps on the phone can’t access the WiFi at all, for all intents and purposes the WiFi is reported as being off.
The CC3000 WiFi module on the Core uses TI’s SmartConfig process, which looks for special broadcast packets that are sent in a way that allows unassociated devices to read the SSID and password and connect to the network.
So, when your iPhone is in personal hotspot mode, iOS doesn’t give the Spark.app access to WiFi. Unfortunately this isn’t something that can be overcome. So, you need to either upload the credentials to the Core via USB or use another iDevice/Android connected to the hotspot running the Spark.app.
A fix for this might be to add a way for the Spark Core to internally store several WiFi setups with the ability to switch between them through the MODE button. Maybe holding it down for 5 seconds could put it into a “WiFi Select Mode” or something. I imagine in this mode the light could pulse X times per second to show the currently selected mode. I.e., if you press the button twice after entering the mode, the light will flash two times per second to represent the second stored connection. @zach Do you think something like this is feasible?