Si può solo scrivere un semplice emettitore di particelle per questo. È per un gioco? o per un altro tipo di applicazione?
Dipende anche dal livello di realismo che stai cercando. Un tizio sceso ha votato per aver menzionato la fluidodinamica, ma se il tuo è davvero il vuoi il realismo, questo è il modo migliore per andare.
Detto questo, si può ottenere un fumo decente usando un normale emettitore di particelle (si potrebbe anche provare a codificarlo su Core Animation e non su OpenGL ES).
Inoltre, se sei targeting iOS 5.0+, UIKit ora include diverse particelle FX che si potrebbe usare, devi solo giocare con i parametri ... Checkout Questo tutorial
Cheers!