loadAchievementsWithCompletionHandler not returning hidden achievements

When I run loadAchievementsWithCompletionHandler the results are supposed to give me "The achievements that you previously reported progress for the local player." This is only partially correct. Any achievement I have marked as "hidden" is only returned by that function during the session that I unlock it in. If I quit and resume the game, I will never receive results of that unlocked hidden achievement again. We need to know which achievements the user has gotten but the hidden ones are impossible to query. Is there some other way we should be doing this?