When we develop a dynamic framework and distribute it to reuse. We combine simulator (i386 and x86_64) and device(arm7, arm7s and arm64) architectures into one. So that developer can easily run an app on simulator and device without any error.
If we try to submit the universal framework, AppStore rejects it. In order to fix this error, we use lipo command to remove simulator architectures.
My question is Is usage of "lipo" command recommended by Apple?
The correct way to distribute your framework is to build a version for the device, and a separate version for simulators, and have the clients of your framework conditionally link to the correct framework depending if the app's build is for simulator or for device. Using lipo to combine the device architectures with the simulator architectures is not supported.