I know that the answer is a bit outdated. But using TestPlans you gain some control of tests execution order along with tests to be performed during test session.
You just need to open you target's scheme and convert it to use TestPlans
this window under Choose Product > Scheme > Convert Scheme to use Test Plans
Then you can choose your test plan and select tests to run.
Under Configuratuions
tab you can find Execution Order
setting
I know this is a not 100% what you are looking for. But at least it can give you some hooks how to name some tests to execute in some order. For example first test could be testAuth (to authenticate user) and then other tests named in alphabetic order
loginIfNeeded()
check for a label which is only on the login page then logs in the user. SimilarlogoutIfNeeded()
can be used on any test which need to be started from the login screen. – Maddox