There is definitely still some fcking about with ObjC each and every time I write a new game, normally because I run across something in the Java side that doesn’t quite work correctly in ObjC. However, now I’ve been playing around with tech for a few months I can honestly get things fixed with minimal effort.
I would take your own cut of XMLVM, it’s easier. Strip it down to what you need and do your fixes on that, trying to cope with the entire code base hurt.
That said, I’ve now written three games that I have deployed to Android, iPhone and Java 2D applet. When I bug fix or feature add in these games I don’t even look at the ObjC, treat it like byte code.
I have a similar library, gives me a layer to OpenGL (and Java2D on applets) which is mostly what I code against. I would say with your app (SingSong?) that there will be some specific contacts/music APIs on the iPhone that’d you want to expose - I’m working on some of these atm.
So, in short.
-
No, I would say you nearly always end up fixing “something” in ObjC. For me, thats better than fixing “everything” in ObjC 
-
It depends quite how much your lib does. If it’s just pure GL calls and a bit of mouse/finger input - should be pretty quick.
One thing I have found just recently was the concerns about performance with the XMLVM method are totally unwarranted. XMLVM provides a little annotation that lets you control how/when your garbage collection takes place. This gives a much more stable experience than on say Android. I actually have more performance problems on the Android side than on the iPhone.
Kev