After I upgrade to firmware 2.2, my IS always tell me that "the startup file /System/Library/LaunchDaemon/com.apple.SpringBoard.plist was corrupted by another application, would like to change to the backup", if I choose no, then IS would not enable. If I choose yes, my iphone just hang at apple logo when reboot. I have to manually SSH into the phone and change the com.apple.springboard.plist to get the iphone to reboot normally. Uninstall, delete every file related to IS /Library/Intelliborn, /var/mobile/Library/Intelliborn, /var/stash/Applications/Intelliscreen, reboot then reinstall IS, still the same result.
Today, IS 2.3 acts exactly the same. I am just scared to say yes to the com.apple.springboard.plist again. What is wrong?
anyone esle has the same problem?
If IS is just installed, how would it know com.apple.springboard.plist was corrupted by another application? If the plist file works fine before IS, should it be considered a good one?
This is my com.apple.springboard.plist:
HTML Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnvironmentVariables</key>
<dict>
<key>DYLD_INSERT_LIBRARIES</key>
<string>/Library/MobileSubstrate/MobileSubstrate.dylib:/Applications/iLog.app/Support/iLogLib.dylib</string>
</dict>
<key>Label</key>
<string>com.apple.SpringBoard</string>
<key>MachServices</key>
<dict>
<key>com.apple.springboard.migserver</key>
<true/>
</dict>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/System/Library/CoreServices/SpringBoard.app/SpringBoard</string>
</array>
<key>ServiceIPC</key>
<false/>
<key>UserName</key>
<string>mobile</string>
</dict>
</plist>
The first time IS change my plist to the backup one, it changed to:
HTML Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnvironmentVariables</key>
<dict>
<key>DYLD_INSERT_LIBRARIES</key>
<string>/Library/MobileSubstrate/MobileSubstrate.dylib:/Applications/iLog.app/Support/iLogLib.dylib</string>
</dict>
<key>Label</key>
<string>com.apple.SpringBoard</string>
<key>MachServices</key>
<dict>
<key>com.apple.springboard.migserver</key>
<true/>
</dict>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<string>com.apple.springboard.migserver</string>
<key>ServiceIPC</key>
<false/>
<key>UserName</key>
<string>mobile</string>
</dict>
</plist>
Notice the line after
ProgramArguments, but this version of plist just won't work even without loading any dylib. I did some search on internet and changed this line to
HTML Code:
<array>
<string>/System/Library/CoreServices/SpringBoard.app/SpringBoard</string>
</array>
and saved my phone. Anyone knows what's the difference between these two?