On top of that, RoboVM uses its own LLVM-based compiler rather than Apple&#x27;s. So if Apple throws us a new compilation requirement, similar to the requirement to provide bitcode for watchOS and tvOS, then we&#x27;re stuck until RoboVM is updated. With j2objc, you&#x27;re using Apple&#x27;s compiler to produce the machine code.