[Snippet] Soft Respring [iPhone 1.1.4 +]

Discussion in 'iOS Development' started by allbrokeup, Oct 4, 2008.

  1. allbrokeup

    allbrokeup New Member

    Joined:
    Mar 7, 2008
    Messages:
    51
    Likes Received:
    0
    Deleted. Code doesn't work on 2.1 apparently.
  2. SkylarEC

    SkylarEC Super Moderator Emeritus Staff Member

    Joined:
    Sep 19, 2007
    Messages:
    6,642
    Likes Received:
    129
    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.
  3. SkylarEC

    SkylarEC Super Moderator Emeritus Staff Member

    Joined:
    Sep 19, 2007
    Messages:
    6,642
    Likes Received:
    129
    Too bad 2.1 hasn't been out for 3 months.
  4. SkylarEC

    SkylarEC Super Moderator Emeritus Staff Member

    Joined:
    Sep 19, 2007
    Messages:
    6,642
    Likes Received:
    129
    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.
  5. SkylarEC

    SkylarEC Super Moderator Emeritus Staff Member

    Joined:
    Sep 19, 2007
    Messages:
    6,642
    Likes Received:
    129
    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.
  6. gojohnnyboi

    gojohnnyboi Well-Known Member

    Joined:
    Jan 25, 2008
    Messages:
    3,339
    Likes Received:
    55

    Owned
  7. Chicken

    Chicken Retired Moderator

    Joined:
    Feb 17, 2008
    Messages:
    2,494
    Likes Received:
    7
    Device:
    iPhone 5S
    do i sense a bit of sarcasm when you say apparently

Share This Page