Or are you arguing in an ethical sense?
I'm not really trying to argue. I just think that is how the laws currently work (I am not a lawyer and possibly wrong).
Having your code call an API is not a copyright violation.
Apple is within its rights to request compensation. You could try to reverse engineer them, but then Apple might: 1. Sue for copyright infringement. 2. Continually change iOS so syscalls require a signed certificate in the SDK.
It’s effectively impossible to get around their copyrights on iOS and as such it’s not very different to the licensing and compensation of the Unreal Engine.
All this said, I really would prefer Apple to document and encourage Linux on the iPhone as a secondary boot option (along with a voiding of the device’s warranty). That way iOS would be locked down but other OSs on the iPhone would not need to be.
It is completely different. You are distributing the Unreal Engine with every game you make. You aren't distributing any proprietary code with your iOS app, it only calls up APIs that are already paid for by the user and for which the user already has a copy.
A good analogy would be me making a new control panel for a mechanical machine, where the panel has metal arms and rods that connect to the machine's original mechanisms to bring about a certain result that the machine itself would be incapable of bringing on its own.
You wouldn't say I can't distribute that new panel I made because the original machine is patented, right?