From what I understand, both the CoinBase and BlockChain iOS apps store your wallet on their servers. There doesn't seem to be any iOS app (or perhaps Android either) which stores your wallet locally on the mobile device.
I understand why it may be impractical to download and store the multi-GB blockchain locally on the device but the wallet is usually very small. I understand that by storing the wallet locally you risk losing your coins if your phone is lost or stolen but that could be mitigated by offering features to encrypt your wallet with a passphrase and also back it up over USB to your computer (or choose to assume the risk of loss).
Is there some technical reason why a mobile app can't be developed that stores the wallet locally (and obviously does not transmit it to the server) but stores the blockchain on the server?