IOS 5.x Speed Up Your iDevice by Removing Launch Daemons

NOTE!
It is STRONGLY recommended that you make a backup of all the files being modified in this tutorial. These are core system files, and removing the wrong one could potentially result in a restore if backups are not made. Be sure to read through this ENTIRE tutorial thoroughly before taking any action or asking any questions.


So lets get started what are Launch Daemons
Quote:

"In Unix and other computer multitasking operating systems, a daemon is a computer program that runs in the background, rather than under the direct control of a user; they are usually initiated as background processes."
So what does this mean? This means that when your iPhone or iPod is turned on, it loads a bunch of background processes (over 60!) that allow it to do various things, like connect to the Internet and receive calls. Since these processes are in the background, they take up a sizable amount of your device's available RAM, and because they're system processes, they can't be killed with SBSettings or MemTool. The good news is that some of these daemons are completely unnecessary (for most people), and you can simply delete them and regain the RAM they were taking up.

First, SSH into your device and navigate to /System/Library. Find the LaunchDaemons folder and download the entire thing to your desktop. Rename the folder on your desktop to something like "LaunchDaemons.old" or "LaunchDaemons.backup" and reupload it to your device without making any changes to it (and keep a copy on your computer as well; you can never have too many backups). This will serve as our on-device backup, in case something goes wrong and you can't SSH into your device or connect via USB. Then, make all of the changes you want to make to the .plist files in the original LaunchDaemons folder.

To disable a daemon, simply delete or rename the extension of the plist (com.apple.XXXX.plist -> com.apple.XXXX.bak) to disable the corresponding .plist file.
======================================

Safe Daemons
These can be deleted by any user, with no adverse effects on the device.
  • com.apple.appsupport.cplogd.plist - Logs crashes of applications and
    3rd party apple to /var/mobile/Library/Logs, and also tells the system if a
    symlink cannot be created.
  • com.apple.apsd.tcpdump.en0.plist - Logs push notification errors.
  • com.apple.apsd.tcpdump.pdp_ip0.plist - Also believed to log push
    notification errors.
  • com.apple.aslmanager.plist - This daemon manages system logs.
    [*]com.apple.certui.relay.plist - When you are on a public network (like
    my school) and Safari can't verify what website it is connecting to, it will say
    "This website is not verified" or something like that, and asks if you want to
    still continue. Feel free to delete this.
  • 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.crash_mover.plist - Moves crash log files from where they
    originate to /var/Mobile/Library/Logs. Feel free to remove if you don't have
    your device log crashes.
  • com.apple.CrashHouseKeeping.plist - Cleans up old logs, safe to delete
    if already removing logging software. If you regularly run @p0sixninja's crash
    reporter to help for jailbreaks, do not remove this.
  • com.apple.DumpBasebandCrash.plist - Dumps baseband crashes, which
    shouldn't happen during normal use. iPod touch users don't even have a baseband.
    If you regularly run @p0sixninja's crash reporter to help for jailbreaks, do not
    remove this.
  • com.apple.DumpPanic.plist - Dumps crashes for evaluation by Apple. If
    you regularly run @p0sixninja's crash reporter to help for jailbreaks, do not
    remove this.
  • com.apple.marcoagent.plist - Logs crashes related to iMessage,
    FaceTime and ect. Feel free to remove from your iDevice.
  • com.apple.mobile.softwareupdated.plist - Deals with OTA software
    updating. Feel free to remove, your jailbroken, you can't use it anyways.
  • com.apple.OTACrashCopier.plist - Moves crashes from Over the Air
    software updates to /var/mobile/Library/Logs. Feel free to remove the daemon.
  • com.apple.OTATaskingAgent.plist - Tells the device to periodically
    check for OTA updates. Feel free to remove.
  • com.apple.powerlog.plist - This is used to monitor any
    incompatibilities with 3rd party chargers.
  • com.apple.ReportCrash.(Different Things).plist - There are 6 of these
    daemons, and they collect data about what caused a crash, what programs were
    running at the time, etc. If you regularly run @p0sixninja's crash reporter to
    help for jailbreaks, do not remove this.
  • com.apple.sharktrace.plist Deals with developer crash logs, if you
    aren't a developer then feel free to delete.
  • com.apple.softwareupdateservicesd.plist - Tells iOS how to start and
    execute an OTA update, feel free to remove. Although DO NOT attempt an OTA
    update with this removed. I feel that it also stops the update from happening if
    the device is jailbroken.
  • com.apple.Springboard.SetupHelper.plist - Starts the iOS Setup app
    when the device first boots and after restores. Remove because it's no longer
    needed after your initial setup.
  • com.apple.syslogd.plist - Logs system events.

Conditional Daemons
These daemons can be disabled by certain users who have no need for some features of their device.
  • 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.AddressBook.plist - If removed, Contacts in the Phone
    application will load slightly slower. Disable this if you don't care about
    that.
  • 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.AOSNotification.plist - This daemon deals with iCloud
    syncing. If you do not use iCloud for backups, photostream, ect. then you can
    disable this.
  • com.apple.apsd.plist - If removed, Push Notifications and iMessages
    will no longer work. Disable this if you don't use Push Notifications or
    iMessage.
  • com.apple.assitivetouchd.plist - Starts the process for the
    AssistiveTouch.app (Located under Accessibility). If you don't use this, then
    feel free to remove it.
  • com.apple.daily.plist - Reminds the App Store to check for updates to
    installed applications, remove if you want to do this manually
  • 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. (This will NOT disable Push notifications from Google Voice's app,
    only the push mail service.)
  • com.apple.datamigrator.plist - Used to transfer contacts from SIM card
    to phone. iPod touch users can delete this.
  • com.apple.gamed.plist - Used for GameCenter, remove if you don't use
    GameCenter.
  • com.apple.itunescloudd.plist - Deals with iTunes Cloud/Home Sharing.
    Delete if you don't use that.
  • com.apple.iapd.plist - Functions like com.apple.accessoryd.plist, it
    deals with accessories that also come with companion apps.
  • 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.mobile.obliteration.plist - This daemon wipes the data
    partition of your device. (Source) This will be used if you remotely wipe your
    phone via Exchange, or if you use Settings > General > Reset, or if you set your
    device to wipe itself after a certain number of failed passcode entries. If you
    don't use these features, you can delete this daemon.
  • com.apple.mobile.profile_janitor.plist - This daemon apparently deals
    with provisioning profiles for ad-hoc app distribution. If that doesn't apply to
    you, or if you have no idea what that is, you can delete this daemon.
  • com.apple.printd.plist - Starts the AirPrint launch daemon process,
    remove if you don't use AirPrint.
  • com.apple.racoon.plist - Used for Virtual Private Networks. Disable
    this daemon if you do not use any VPNs.
  • com.apple.scrod.plist - This daemon deals with Voice Control. If you
    don't use Voice Control, you can delete this daemon.
  • com.apple.searchd.plist - Disables Spotlight search if removed. The
    Spotlight page will still be there, but nothing will show up when you start
    typing. Disable this daemon if you don't use Spotlight.
  • com.apple.search.appindexer.plist - Indexes apps so they can pop up in
    Spotlight, remove this if you don't use Spotlight.
  • com.apple.storage_mounter.plist - This daemon allows you to use the
    "iPad Camera Connection Kit". Remove if you don't use this.
  • com.apple.twitterd.plist - Starts the "Tweet from Youtube, Safari,
    ect" process. Remove if you don't use the In-App Twitter addition.
  • com.apple.vibrationmanagerd.plist - Deals with custom vibration
    patterns. If you don't use those or you have an iPod touchy feel free to delete
    this.
  • com.apple.voiced.plist - Yet another Voice Control daemon.
  • com.apple.VoiceOverTouch.plist - Another Voice Control daemon.
  • com.apple.vsassetd.plist - Starts the actual VoiceServices for Voice
    Control. Delete if you don't use Voice Control.
  • com.apple.wapic.plist - Logs errors when trying to connect to a WiFi
    network with Chinese characters in the name. Remove this if you don't live in
    China.

Self-Edit Daemons
These daemons require you to do additional steps to remove them.


com.apple.BTServer.plist - The back-end for bluetooth on the device. REMOVING WITHOUT DOING THE BELOW WILL CAUSE A RESTORE!!!

HTML Code:
To disable first open settings and make sure bluetooth is turned off(Settings>General>Bluetooth) Then go to /System/Library/CoreServices/Springboard.app and open your N**AP.plist
N18AP-iPod touch 3G
N81AP-iPod touch 4G
N82AP-iPhone 3G
N88AP-iPhone 3G[S]
N90AP-iPhone 4 GSM
N94AP-iPhone 4 CDMA

Then look for the <key>bluetooth</key> string.

change <true/> to <false/>.
Then remove the daemon. com.apple.locate.plist - When the device tries to locate itself, this daemon is called. REMOVING WITHOUT DOING THE BELOW WILL CAUSE A RESTORE!!!
HTML Code:
To disable first open settings and make sure location services are turned off(Settings>General>Location Services or Settings>Location Services) Then go to /System/Library/CoreServices/Springboard.app and open your N**AP.plist
N18AP-iPod touch 3G
N81AP-iPod touch 4G
N82AP-iPhone 3G
N88AP-iPhone 3G[S]
N90AP-iPhone 4 GSM
N94AP-iPhone 4 CDMA

Then look for the <key>location-services</key> string.

change <true/> to <false/>.

Then look for the <key>gps</key> string.

change <true/> to <false/>
Then remove the daemon. com.apple.locationd.plist - When the device strores "locationgate" data, this daemon is called. REMOVING WITHOUT DOING THE BELOW WILL CAUSE A RESTORE!!!
HTML Code:
To disable first open settings and make sure location services are turned off(Settings>General>Location Services or Settings>Location Services) Then go to /System/Library/CoreServices/Springboard.app and open your N**AP.plist
N18AP-iPod touch 3G
N81AP-iPod touch 4G
N82AP-iPhone 3G
N88AP-iPhone 3G[S]
N90AP-iPhone 4 GSM
N94AP-iPhone 4 CDMA

Then look for the <key>location-services</key> string.

change <true/> to <false/>.

Then look for the <key>gps</key> string.

change <true/> to <false/>
Then remove the daemon. Device-Specific Daemons These daemons have different functions for different devices. Be ABSOLUTELY CERTAIN that these daemons are safe to delete from your specific device.
  • com.apple.CommCenter.plist
  • com.apple.CommCenterClassic.plist
  • com.apple.CommCenterMobileHelper.plist
  • com.apple.CommCenterRootHelper.plist - These 4 daemons deal with making and receiving phone calls and connecting to the cellular data network. iPod touch users and wifi-only iPad users (confirmed on the first-gen iPod, assumed on all the others) can delete this daemon with the effect of having "Searching" in there statusbar. If it doesn't bother you then go ahead and remove the daemon. iPhone and iPad 3G users should not delete this daemon under any circumstances.
  • com.apple.awd_ice3.plist - Deals with initial iPhone activation on the iPhone 4 (Only confirmed on the GSM version, not sure if the CDMA version has a different daemon). Feel free to remove this sense your jailbroken, and you can't do OTA Updates. Also feel free to remove this because when you restore the daemon automatically gets put back on your device.
  • 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.aggregated.dbservice.plist - Creates database files (thumbs.db, DS_Store.db ect.) for voice input services. Remove if you don't use audio input (com.apple.aggregated.plist).
Leave-Alone Daemons These daemons are crucial to the operation of your device and should not be modified in any way.
  • com.apple.fairplayd.plist - This checks the DRM on your legitimately-acquired music and apps.
  • com.apple.installd.plist - Deals with app installation.
  • com.apple.configd+pm.plist - Deals with system configuration.
  • com.apple.configd-pm.plist - Also deals with system configuration.
  • com.apple.gmmd.plist - A debugging service for your device.
  • com.apple.mDNSResponder.plist - DNS. Disable this, and your Internet is completely gone.
  • com.apple.mDNSResponderHelper.plist - Also deals with DNS.
  • com.apple.usbptpd.plist - Allows your device to connect to your computer and charge.
  • com.apple.mtmergeprops.plist - Appears to have something to do with the touchscreen. After I deleted this daemon, my screen was unresponsive. This is why you make backups!
  • com.apple.SCHelper-embedded.plist - Appears to be a part of the SystemConfiguration framework (Source), so I don't recommend deleting it. If some brave soul wants to try it, go ahead and report back.
  • com.apple.SpringBoard.plist - This daemon ensures that SpringBoard launches when you turn your device on. Without this daemon, SpringBoard will not launch. Also, this daemon ensures that you are able to respring your device. If you disable this daemon and attempt to respring, the SpringBoard process will be killed but will not start again.
  • com.apple.mobile.lockbot.plist - This daemon's function is currently unknown, but several users have removed it (based on my advice; sorry about that, guys!) and have had to restore as a result. However, I think it's worth noting that I have removed this daemon on my first-gen iPod touch and have encountered no problems. For the time being, however, leave this daemon alone.
  • com.apple.mobile.Lockdown.plist - Deals with SIM and network authorization. iPod touch users, even though this daemon seems like it deals with iPhone-only operations, have still had to restore after deleting this daemon. I have removed this daemon on my first-gen iPod touch and have encountered no problems, but apparently I'm the only one who has been this lucky.
  • com.apple.itdbprep.plist - When syncing music and videos to the device this daemon is called to allow for USB editing of the iTunesDataBase (The place where all the information about songs and videos you have is store). DO NOT MESS WITH THIS DAEMON.
  • com.apple.itunesstored - Messing with this daemon will cause it to use 100% of your device's CPU periodically. Leave it alone.
  • com.apple.mediaserverd.plist - I don't know, I don't care. It will SERIOUSLY screw up UIKit(Your Animations, your device will be come VERY laggy and slow) LEAVE THIS ONE ALONE!!!
  • com.apple.UIKit.pasteboard.plist - Supposedly deals with Copy and Paste functionality... I've never had a good experience with it. If anybody wants to prove me wrong then be my guest 
  • com.apple.hpfd.plist - I think it has to do with helping to install and remove stuff. It's best not to touch this daemon.
  • com.apple.cvmsCompAgent_armv7.plist - Deals with OpenGLES. If you delete this you're iDevice will lag like crazy.
  • com.apple.cvmsServ.plist - Also deals with OpenGLES.
  • com.apple.powerd.plist - Keeps your device on. DO NOT TOUCH
  • com.apple.backupd.plist - This is how iTunes knows what files are on your device (Otherwise it will just show everything as "Other" and not allow you to sync. DO NOT REMOVE THIS DAEMON.
DO IT AT YOUR OWN RISK !!!!!!

Comments

Popular posts from this blog

iPhone Carrier list

Fix SIM Card Not Supported Error While Activating Your iPhone with SAM

THE TRUE HISTORY OF THE IPHONE JAILBREAK (all noobs please read)