Siccome iOS non usa Java come Android, le tue opzioni sono abbastanza limitate:
1) se la tua applicazione è scritta principalmente in C/C++ usando JNI, puoi scrivere un wrapper e interfacciarlo con iOS (cioè fornire callback da iOS alla tua funzione scritta in JNI). Ci possono essere dei framework là fuori che ti aiutano a fare questo più facilmente, ma c'è ancora il problema di integrare l'applicazione e adattarla al framework (e naturalmente il fatto che l'applicazione deve essere scritta in C/C++).
2) riscriverla per iOS. Non so se ci sono buone aziende che fanno questo per voi. Inoltre, a causa della varietà di applicazioni che possono essere scritte e che possono usare diversi servizi e API, potrebbe non esserci alcun software che possa fare il porting per voi (immagino che questo tipo di software sia come una miniera d'oro heh) o fare un ottimo lavoro in questo.
3) Penso che ci siano convertitori Java->C/C++, ma non vi aiuteranno affatto quando si tratta di differenze di API. Inoltre, potresti trovarti a lottare di più per far funzionare il codice convertito su una qualsiasi delle piattaforme piuttosto che riscrivere la tua applicazione da zero per iOS.
Il problema dipende abbastanza dai servizi e dalle API che la tua applicazione sta usando. Non ho cercato bene, ma ci possono essere alcune API che forniscono certe funzionalità in Android che iOS non fornisce.
Utilizzare C/C++ e compilarlo nativamente per la piattaforma desiderata sembra la via da seguire per lo sviluppo multipiattaforma Android-iOS-Win7Mobile. Questo ti dà una sorta di core/kernel dell'applicazione che puoi usare per fare l'effettiva logica dell'applicazione.
Per quanto riguarda le parti specifiche del sistema operativo (API) che la tua applicazione sta usando, dovrai impostare delle interfacce di comunicazione tra queste e il core della tua applicazione.
Spero che sia d'aiuto.