Я не знаю о форсировании ориентации, но вы, конечно, можете прочитать его по крайней мере под 2.0 и выше:
if( (window.orientation != 90) && (window.orientation != -90) )
alert('Please rotate your iPhone into landscape mode.');
Или, чтобы быть более удобным для пользователя, не требуйте от них нажатия "ОК".
Вместо этого прислушайтесь к событию, которое происходит, когда пользователь поворачивает экран, как описано здесь:
http://www.sitepoint.com/article/iphone-development-12-tips/2/
Затем поместите весь ваш контент в один DIV и дружеское сообщение «Пожалуйста, поверните» в другом.
<body class="portrait">
<div id="content">My content goes here</div>
<div id="rotateme">Please rotate your iPhone into landscape mode.</div>
</body>
Наконец, отформатируйте его так, чтобы в зависимости от ориентации отображался только один из вышеперечисленных пунктов:
body.portrait div#content { display: none; }
body.portrait div#rotateme { display: block; }
body.landscape div#content { display: block; }
body.landscape div#rotateme { display: none; }
Возможно, это не «способ iPhone 3.0» (те, кто знает, не скажут), но, по крайней мере, он будет работать независимо от того, обновился пользователь или нет. (Помните, что пользователи iPod Touch должны платить за обновление и получить немного новых функций ... они могут не так быстро перейти на побеждающую сторону 3.0).