I think you are confused about what a bitcode is. Bitcode can be used with both static frameworks and dynamic libraries.
From Apple Docs :
A bitcode is an intermediate representation of a compiled program. Applications downloaded to iTunes Connect containing the bit code will be compiled and linked in the App Store. Enabling bit code will allow Apple to re-optimize the binary application in the future without having to send a new version of your application to the store.
Most libraries and frameworks are bold, that is, they contain additional binaries to support all architectures. This means that the iOS infrastructure can support armv7, armv7s and i386 (all device architectures and simulator).
Building a library using bit code allows you to support Thinning applications. This means that only executable files matching the application architecture are downloaded from the application store. In addition, as Crazyrems notes in the comments, this optimizes the installation and download size of the application, since the device will only download the resources necessary to run the application on this particular architecture / device.
I will not go into details about LLVM IR, but I would recommend reading these articles for reference:
source share