Discussion in 'iOS Development' started by allbrokeup, Oct 4, 2008.
Deleted. Code doesn't work on 2.1 apparently.
This is not good enough on firmwares 2.1.x. You will need to rebuild the app cache in order for new apps to appear. And don't just delete it, it MUST be rebuilt, else you can very easily cause a SWoD.
Too bad 2.1 hasn't been out for 3 months.
Apple "suddenly" changed the way SpringBoard resprings because the pre 2.1 method of respringing caused a Spinning Wheel of Death, and constant restores seriously degrade the user experience.
What happens in firmwares 1.0 - 1.1.5 when you resprings? Excluding non relevant processes and events, SpringBoard simply restarts. with the addition of adding applications on 2.0 - 2.0.2, SpringBoard used a background method to load applications onto SpringBoard's display. This method was either triggered by resprings, or by actually calling it (via AppStore, for example). The problem is that installs of more than two applications would often take SpringBoard longer than two minutes to rehash its application information. This delay caused MobileWatchdog to kill SpringBoard. Upon restarting, SpringBoard would begin to rehash the app data, only to be killed again. This cycle could never end.
Obviously, that made several people upset, so with the introduction of firmware 2.1, Apple changed the method of loading applications. It would rehash what it needed to, only when it needed to, storing basic app information in mobileinstallation.plist. SpringBoard rebuilds this plist atomically when it adds applications, creating significantly quicker respring and app appearances after installs (a feature which got MUCH press coverage with the release of 2.1).
EDIT: Failure to read in and rebuild the cache can (and has) VERY easily cause a spinning Wheel of Death on firmwares 2.1+.
So, "suddenly" isn't the word I would choose to explain the respring procedure. I'd say "evolving."
If you want your respring to be worthwhile, you will need to read in that plist and rebuild it to reflect changes: installs, uninstalls, etc.
Oh, and not to be rude, but I've been making and releasing iPhone applications since December of last year, and have had access to 2.1 since July, when you were still working with the 2.0. Also, not to be rude, but I actually have apps available on the AppStore through the company with which I was working, and I'll have my first independent application available any day now.
Fair enough. Next time you have a serious flaw in your code, I won't correct it and take the time to explain to you exactly why the code is flawed, along with repercussions, despite the fact that you were incredibly condescending to me (of all people) while arguing my correction.
do i sense a bit of sarcasm when you say apparently
Separate names with a comma.