There is a project like [Trust Wallet][1] that's working on providing a mobile experience for dApps on Ethereum blockchain. It's available both on iOS and Android. As a based you have a wallet for handling key securely locally on the phone, since you need to have a private key in order to communicate with a blockchain. Trust has a Browser feature which is injecting JavaScript web3 provider to handle sign transaction and messages. To learn how this being implemented you can check out source code: https://github.com/TrustWallet/trust-wallet-ios [1]: https://trustwalletapp.com