Я почти уверен, что это ошибка в текущей версии (что вызов setBrightness не действует ни внутри applicationDidEnterBackground, ни applicationWillResignActive).
То, что я делаю в настоящее время, похоже на то, к чему вы пришли -Я устанавливаю яркость на 1.0 в активном приложении, а затем уменьшаю яркость, когда необходимо, изменяя непрозрачность черного слоя поверх всей другой графики.Таким образом, если пользователь приостанавливает приложение, то его экран, по крайней мере, яркий (а не при любой произвольной яркости, в которой было приложение).
Когда пользователь блокирует свой экран, он будет восстановлен до яркостив настройках iPhone.