BlogEngine.NET does a great job with mobile devices, rendering its content with a default skin whenever it detects a mobile device. Unfortunately, this behavior doesn’t work on the iPhone or iTouch. However, the fix is easy. Simply add iphone and ipod to the BlogEngine.MobileDevices key in web.config, as follows:

<add key="BlogEngine.MobileDevices" value="(iphone|ipod|nokia|sonyericsson|blackberry|samsung|sec\-|windows ce|motorola|mot\-|up.b|midp\-)"/>

Once you’ve done this, the default mobile theme will render on the iPhone and iTouch.

If you are looking for even a prettier theme   I also found the BETouch iPhone theme, which looks great. Simply add the theme to the themes directory and then change the mobile theme to BETouch in admin settings.

I’m now using it for this blog!