The Apple provided tools are the same. I'ved used Xcode 3 to develop both an iPhone app and some companion Mac OSX software at the same time.
You can develop for both Mac and iPhone using Objective C or Swift, although there are a lot more options for programming languages on the Mac (Python, Ruby, etc.)
The Cocoa framework for the Mac and Cocoa Touch framework look very similar, but most have slightly different API names, calling conventions and behaviors that you will have to deal with. Plus, of course the UI is different between multi-touch and mouse/keyboard/menu/window interaction. But I took a one window one view iPhone app, and pretty much did a line-by-line translation of all the buttons, other UI elements, etc., to make a Mac version.
The iPhone Simulator runs an iOS app compiled for it just like another Mac app, but using different frameworks inside a one window semi-sandbox.