Update:

The actuality of this answer is: July 2015. It is most likely that things will change.

TLDR;

Currently Xcode does not have tools for automatic export of universal fat framework so developer must resort to manual usage of lipo tool. Also according to this radar before submission to AppStore developer who is framework's consumer also must use lipo to strip off simulator slices from a framework.

Longer answer follows

I did similar research in the topic (the link at the bottom of the answer).

I had not found any official documentation about distribution of so my research was based on exploration of Apple Developer Forums, Carthage and Realm projects and my own experiments with xcodebuild, lipo, codesign tools.

What is the proper way to export a framework from a framework project?

Currently the only way is exactly what you have done:

Build the target for both simulator and iOS device.

Navigate to Xcode's DerivedData folder for that project and lipo the two binaries together into one single framework. However, when you build the framework target in Xcode, make sure to adjust the target setting 'Build Active Architecture Only' to 'NO'. This will allow Xcode to build the target for multiple binarty types (arm64, armv7, etc). This would be why it works from Xcode but not as a standalone binary.

Also you'll want to make sure the scheme is set to a Release build and build the framework target against release.
If you are still getting a library not loaded error, check the code slices in the framework.

Use lipo -info MyFramworkBinary and examine the result.

lipo -info MyFrameworkBinary

Result is i386 x86_64 armv7 arm64

Modern universal frameworks will include 4 slices, but could include more: i386 x86_64 armv7 arm64
If you don't see at least this 4 it coud be because of the Build Active Architecture setting.

This describes process pretty much the same as @skywinder did it in his answer.