دلیل اصلی این قضیه محدودیت های فنی است که اپل برای توسعه برنامه برای iOS قرار داده است (اجرای برنامه های 3rd-party در background ، اجرا یا نصب یک برنامه توسط برنامه دیگر ، دانلود کدهای مفسری وابسته به یک برنامه ، نحوه packaging کدهای مفسری و native در کنار یکدیگر و رابطه آنها در زمان اجرا و ...) و بدلیل اینکه JRE نیز بعنوان یک برنامه برروی سیستم عامل نصب می شود، تیم توسعه JRE نمی تواند تمام قابلیت های specification جاوا را برای سیستم عامل iOS پیاده سازی کند.
از سال 2008 و با تفاهمی که میان شرکت سان و اپل صورت گرفت فرایند نزدیک شدن جاوا و iOS آغاز شد و در ادامه شرکت اوراکل این تعاملات را ادامه داد.
در حال حاضر اوراکل تلاش می کند با اصلاح specification های جاوا برای نسخه های آینده و با حفظ compatibility با نسخه های قدیم JRE ، آن را با iOS سازگار کند برای مثال یکی از این بهبود ها ‘Statically-Linked JNI libraries’ که برای نسخه های آینده OpenJDK برنامه ریزی شده است که به JEP 178 مشهور است. این قابلیت یکسری از محدودیت های packaging برنامه برای iOS را از بین می برد.
از طرف دیگر اپل هم در نسخه های جدید iOS محدودیت های خود را بهبود می دهد.