Speed up the iPhone 3G and 3Gs

By | October 12, 2009
I take no responsibility if you destroy your phone, it explodes or your arm falls off.

I recently upgraded my iPhone 3G to 3.1.2 and JailBroke it. So I decided to try the experiments to speed up the iPhone by removing language packs and disabling launch daemons. The iPhone seems more snappier since doing this, read more to see the full story.

This tutorial is for Windows only, you will need to download i-FunBox.

I went through all the following folders and removed all lproj folders except for English.lproj or en.lproj. I also deleted DemoApp.app, FieldTest.app, Maps.app, Stocks.app, VoiceMemos.app and Weather.app from /Applications/.

/Applications/
– AppStore.app
– Calculator.app
– Cydia.app
– DemoApp.app
– Icy.app
– Maps.app
– MobileAddressBook.app
– MobileCal.app
– MobileMail.app
– MobileMusicPlayer.app
– MobileNotes.app
– MobilePhone.app
– MobileSafari.app
– MobileSlideShow.app
– MobileSMS.app
– MobileStore.app
– MobileTimer.app
– Preferences.app
– Stocks.app
– VoiceMemos.app
– Weather.app
– Web.app
– WebSheet.app
– YouTube.app

/Library/Audio/Plug-Ins/HAL/VirtualAudio.plugin
– Can delete all but English or your language.

/private/var/stash/Ringtones/
– Can delete any of them.

/private/var/stash/Wallpaper/
– Can delete all except 101*.

/System/Library/CoreServices/SpringBoard.app
– Can delete all but English or your language.

/System/Library/PreferenceBundles/
– AccountSettingsUI.bundle
– AirPortSettings.bundle
– BluetoothSettings.bundle
– CarrierSettings.bundle
– CyDeleteSettings.bundle
– EDGESettings.bundle
– ManagedConfigurationUI.bundle
– MusicSettings.bundle
– MobilePhoneSettings.bundle
– MobileSafariSettings.bundle
– MobileSlideShowSettings.bundle
– MobileStoreSettings.bundle
– NotificationSettings.bundle
– ScheduleSettings.bundle
– VPNPreferences.bundle
– VideoSettings.bundle
– Wallpaper.bundle
– WirelessModemSettings.bundle
– iPodSettings.bundle

/System/Library/PreferenceBundles/AccountSettings/
– ActiveSyncSettings.bundle
– CalDAVSettings.bundle
– ContactsSettings.bundle
– LDAPSettings.bundle
– MobileCalSettings.bundle
– MobileMailSettings.bundle
– MobileWirelessSyncSettings.bundle
– SubscribedCalendarSettings.bundle

/System/Library/PrivateFrameworks
– AccountSettings.framework
– AccountSettingsUI.framework
– AppSupport.framework
– CalendarUI.framework
– ChatKit.framework
– CoreTelephony.framework
– DAVKit.framework
– DataAccess.framework
– DataDetectorsUI.framework
– IAP.framework
– ITSync.framework
– ManagedConfiguration.framework
– Message.framework
– MobileQuickLook.framework
– MusicLibraryDDB.framework
– MusicLibrary.framework
– OfficeImport.framework
– PhotoLibrary.framework
– Preferences.framework
– TelephonyUI.framework
– WebKit.framework
– WebUI.framework
– YouTube.framework
– iTunesStore.framework
– iTunesStoreUI.framework
– iWorkImport.framework

/System/Library/SystemConfiguration/
– PPPController.bundle
– WiFiManager.bundle

/System/Library/TextInput/
– Can delete all except en.lprog / English.lproj.

/System/Library/Frameworks/
– AddressBook.framework
– AddressBookUI.framework
– AudioToolbox.framework
– CFNetwork.framework
– CoreLocation.framework
– Foundation.framework (keep en.lproj)
– GameKit.framework
– MapKit.framework
– MediaPlayer.framework
– MessageUI.framework
– Security.framework
– SystemConfiguration.framework
– UIKit.framework

Now what we can do is disable the Launch Daemons at startup. Navigate to /System/Library/LaunchDaemons/

Safe Daemons – These can be deleted by any user, with no adverse effects on the device.
– com.apple.Dump* – 2 daemons to disable purpose is to dump the crash for apple evaluation.
– com.apple.Report* – 5 daemons to make reports about what caused the crash/what were running e.t.c.
– com.apple.CrashHouseKeeping.plist – Also deals with crashes.
– com.apple.aslmanager.plist – This daemon manages system logs.
– com.apple.syslogd.plist – Logs system events.
– com.apple.powerlog.plist – This is used to monitor any incompatibilities with 3rd party chargers.
– com.apple.stackshot.server.plist – This daemon’s function is currently unknown, but removing it has no adverse effects on one’s device.
– com.apple.tcpdump.server.plist – This daemon is apparently used to dump traffic on a network. Removing this daemon has no adverse effects on one’s device.
– com.apple.iqagent.plist – This daemon’s function is currently unknown, but removing it has no adverse effects on one’s device.
– com.apple.mobile.profile_janitor.plist – This daemon’s function is currently unknown, but removing it has no adverse effects on one’s device.
– com.apple.chud.chum.plist – This daemon is thought to relate to Apple’s CHUD (Computer Hardware Understanding Developer) tools. Removing this daemon will have no adverse effects on your device, unless you are a developer.
– com.apple.chud.pilotfish.plist – This daemon is also thought to relate to Apple’s CHUD tools. Removing this daemon will have no adverse effects on your device, unless you are a developer.
– com.apple.graphicsservices.sample – No confirmed info available.

Conditional Daemons – These daemons can be disabled by certain users who have no need for some features of their device.
– com.apple.AddressBook.plist – If removed, Contacts in the Phone application will load slightly slower. Disable this if you don’t care about that.
– com.apple.accessoryd.plist – If removed, disables accessories like FM radio transmitters, iPhone docks, and AV cables. Accessories will be able to charge your device, but that is all they will be able to do. Remove this if you don’t use any of these accessories.
– com.apple.apsd.plist – If removed, Push Notifications will no longer work. Disable this if you don’t use Push Notifications.
– com.apple.dataaccess.dataaccessd.plist – If removed, contacts will no longer sync via Exchange or Google Sync. Disable this if you don’t use those services.
– com.apple.datamigrator.plist – Used to transfer contacts from SIM card to phone. iPod touch users can delete this.
– com.apple.racoon.plist – Used for Virtual Private Networks. Disable this daemon if you do not use any VPNs.
– com.apple.MobileInternetSharing.plist – Used for Internet Tethering. Disable this if you have an iPod touch or if you aren’t interested in tethering.
– com.apple.aggregated.plist – It is believed that this performs some function related to Audio-In. If you have an iPod touch and do not intend to use Audio-In, disable this. iPhone users should leave this alone.
– com.apple.AOSNotification.plist – This daemon deals with MobileMe syncing. If you do not use the MobileMe service, you can disable this.
– com.apple.AdminLite.plist – This daemon tries to return control of your device to you if it thinks that you are waiting for a lengthly process to respond. It does this by force-quitting the process, so if you’re tired of your apps crashing and you would rather wait a few seconds for them to finish what they’re doing, disable this daemon.
– com.apple.mobile.obliteration – Delete disables the delete all reset options useful if u dont use password.

Leave-Alone Daemons – These daemons are crucial to the operation of your device and should not be modified in any way.
– com.apple.mobile.lockdown – Very Dangerous Deamon. Network locked / authorised sim that kind of stuff.
– com.apple.fairplayd – DRM thing used for both apps and music, appstore apps wont run if you remove this.
– com.apple.installd – Required to install legitimate apps.
– com.apple.BTServer – Very Important. iPhone will become slow and unresponsive if you remove or force terminate it.
– com.apple.configd+pm – System configuration with power/profile management I think.
– com.apple.configd-pm – System configuration without power/profile management I think.
– com.apple.gmmd – iPhone debug service.
– com.apple.mDNSResponder – DNS, no internet access if you delete this. May also screw up your ability to SSH in to fix it.
– com.apple.CommCenter – This is the one that manages your phone functionality calling/receiving e.t.c.
– com.apple.locationd – GPS wont work if removed.
– com.apple.mediaserverd – Shows videos plays music this is it.
– com.apple.usbptpd.plist – Allows your device to connect to your computer and charge.

JailBreak Daemons – These are daemons installed by jailbreak applications.
– com.bigboss.sbsettingsd.plist – Related to SBSettings. I would suggest leaving it alone.
– com.imalc.insomnia.plist – Used to keep Insomnia running through resprings and reboots. If you don’t want it to do that, disable this.
– com.mxweas.MxT2d.plist – The daemon that allows MxTube to download videos in the background. If disabled, the application will need to be reinstalled; however, if you don’t use MxTube and are too lazy to uninstall it, you can disable this daemon.
– com.saurik.Cydia.Startup.plist – It’s believed that this daemon deals with the AutoInstall trick for installing .deb files. If you don’t know what that is and you don’t use it, you can disable this daemon.
– org.nodomain.scrobbled.plist – The Scrobbler daemon. Disable this if you don’t want your music scrobbled anymore.

File Edits
– com.apple.itunesstored.plist – copy this file to your computer and edit it (you can use any free plist editor). After edit, save and copy it back into your device.

Change:

SuccessfulExit

to:

SuccessfulExit