I'm working on an app, which parses some XML files to build up an database.
Originally, I was presenting a popup to the user telling him that the db needed to be built. Once he clicked YES; the XML files would get loaded, and the database constructed...
I originally used: NSXMLParser; sadly, the XML files I'm using aren't perfect and NSXMLParser bailed out before completing the parsing... stupidly without having an "ignore this error" option... I switched to TBXML.
Everything worked, except that it takes about 5 minutes to download and parse all XML files (about 200).
I refactored it to download the XML in the background; and once the file is downloaded into NSData objects; I initialize the TBXML and do the parsing...
Now I'm facing two issues:
1 - everytime a download is achieved the app will freeze for couple of seconds.
2 - if the freeze time is too long, the app will just automatically quit (thinking it's crashed...)
Beside creating another thread to do the XML parsing/database populating...
Does anyone has any advices? Such as: better XML library to use, or a way to divide the work using event or notification...?