I tend to use Emacs for all my editing, although when I am writing Mac OS/X GUIs, I couple it with XCode for managing the project build process. The main things I’ve needed to customize in my “.emacs” file is to get Emacs to automatically recognise Objective-C files when they are opened (including Objective-C “.h” files), and have the “compile” command in Emacs call xcodebuild to actually compile the program.
To have Emacs recognise Objective-C files, first add the following to your “.emacs” so that “.m” and “.mm” files get handled automatically:
(setq auto-mode-alist (cons '("\\.m$" . objc-mode) auto-mode-alist)) (setq auto-mode-alist (cons '("\\.mm$" . objc-mode) auto-mode-alist))
Next add this code so that header files get automatically handled.
Finally you can compile using xcodebuild with the following code:
(defun bh-compile () (interactive) (let ((df (directory-files ".")) (has-proj-file nil) ) (while (and df (not has-proj-file)) (let ((fn (car df))) (if (> (length fn) 10) (if (string-equal (substring fn -10) ".xcodeproj") (setq has-proj-file t) ) ) ) (setq df (cdr df)) ) (if has-proj-file (compile "xcodebuild -configuration Debug") (compile "make") ) ) )