Если вы используете вызовы target-c, то перемещение между пробелами в 10.7 фактически такое же, как в 10.6, за исключением одной проблемы. Идентификаторы пространства были индексами, основанными на 10.6, но основанными на чем-то другом (не совсем GUID) в 10.7.
Если у вас уже есть окно в правильном пространстве, решения в этом вопросе будут работать (я использую его в csshX ). Вы можете получить идентификатор пространства с помощью CGSGetWindowWorkspace, а затем установить его в другом окне, используя CGSMoveWorkspaceWindowList.
Теперь, если у вас нет идентификатора пробела - например, ты просто хочешь переместить окно во 2-е место - тогда я такой же тупой, как и ты. Я ищу связь между идентификатором пробела и номером индекса. (Обновлю этот ответ, если найду)
Наконец, вы упоминаете App Store в комментарии выше - это не будет подходящим, так как вызовы CGS * используют недокументированные частные фреймворки, которые вас отклонят.