Это будет действительно зависеть от местоположения акселерометра на устройстве, я просто проверил это, используя приложение образца акселерометрического анализа на 2g itouch, и вы можете увидеть начальное ускорение на оси x и y (у 2g нет как мне кажется, акселерометр в центре устройства). Таким образом, в некотором смысле вы можете обнаружить поворот, однако я думаю, что проблема будет заключаться в дифференциации этого ускорения от направленного ускорения. И я уверен, что значения изменились бы, если бы яблоко разместило акселерометр в разных местах на разных моделях. Определенно не было бы никакого способа сделать это через shouldAutorotateToInterfaceOrientation, я рекомендую загрузить приложение примера акселерометрического анализа в sdk и поэкспериментировать с векторами ускорения, чтобы увидеть, можно ли надежно изолировать вектор вращения на нескольких устройствах.
Эффективность будет быстро ухудшаться по мере приближения к магнитным полюсам; это исключило бы несколько ключевых демографий (пингвинов, Санта-Клауса и игрушечных эльфов, чтобы назвать их несколько). – stack