Wednesday, October 8, 2008

HOW TO: Change iPhone Google search engine to Mobile version



Hi, everybody, I just found a simple way to change default search engine on my iPhone to Google Mobile version.

This method works only on Windows, with a Jailbroken iPhone (tested on firmware 2.1).

Enjoy!

  1. Download iPhone Browser v.1.8.1 (beta) from here
  2. Browse to /Applications/MobileSafari.app and overwrite GoogleTDLs.plist with a new file containing the following 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>AE</key><string>ae</string>
    <key>AR</key><string>com.ar</string>
    <key>AS</key><string>as</string>
    <key>AT</key><string>at</string>
    <key>AU</key><string>com.au</string>
    <key>AZ</key><string>az</string>
    <key>BE</key><string>be</string>
    <key>BI</key><string>bi</string>
    <key>BR</key><string>com.br</string>
    <key>CA</key><string>ca</string>
    <key>CD</key><string>cd</string>
    <key>CG</key><string>cg</string>
    <key>CH</key><string>ch</string>
    <key>CL</key><string>cl</string>
    <key>CN</key><string>com</string>
    <key>CO</key><string>com.co</string>
    <key>CR</key><string>co.cr</string>
    <key>CU</key><string>com.cu</string>
    <key>DE</key><string>de</string>
    <key>DJ</key><string>dj</string>
    <key>DK</key><string>dk</string>
    <key>DO</key><string>com.do</string>
    <key>ES</key><string>es</string>
    <key>FI</key><string>fi</string>
    <key>FJ</key><string>com.fj</string>
    <key>FM</key><string>fm</string>
    <key>FR</key><string>fr</string>
    <key>GB</key><string>co.uk</string>
    <key>GG</key><string>gg</string>
    <key>GL</key><string>gl</string>
    <key>GM</key><string>gm</string>
    <key>GR</key><string>com.gr</string>
    <key>HK</key><string>com.hk</string>
    <key>HN</key><string>hn</string>
    <key>HU</key><string>co.hu</string>
    <key>IE</key><string>ie</string>
    <key>IN</key><string>co.in</string>
    <key>IT</key><string>it</string>
    <key>JE</key><string>co.je</string>
    <key>JP</key><string>co.jp</string>
    <key>KR</key><string>co.kr</string>
    <key>KZ</key><string>kz</string>
    <key>LI</key><string>li</string>
    <key>LS</key><string>co.ls</string>
    <key>LT</key><string>lt</string>
    <key>LU</key><string>lu</string>
    <key>LV</key><string>lv</string>
    <key>LY</key><string>com.ly</string>
    <key>MS</key><string>ms</string>
    <key>MT</key><string>com.mt</string>
    <key>MU</key><string>mu</string>
    <key>MW</key><string>mw</string>
    <key>MX</key><string>com.mx</string>
    <key>MY</key><string>com.my</string>
    <key>NF</key><string>com.nf</string>
    <key>NI</key><string>com.ni</string>
    <key>NL</key><string>nl</string>
    <key>NO</key><string>no</string>
    <key>NP</key><string>com.np</string>
    <key>NZ</key><string>co.nz</string>
    <key>PA</key><string>com.pa</string>
    <key>PE</key><string>com.pe</string>
    <key>PH</key><string>com.ph</string>
    <key>PK</key><string>com.pk</string>
    <key>PL</key><string>pl</string>
    <key>PN</key><string>com.pn</string>
    <key>PR</key><string>com.pr</string>
    <key>PT</key><string>pt</string>
    <key>PY</key><string>com.py</string>
    <key>RO</key><string>ro</string>
    <key>RU</key><string>com.ru</string>
    <key>RW</key><string>rw</string>
    <key>SE</key><string>se</string>
    <key>SG</key><string>com.sg</string>
    <key>SH</key><string>sh</string>
    <key>SM</key><string>sm</string>
    <key>SV</key><string>com.sv</string>
    <key>TH</key><string>co.th</string>
    <key>TR</key><string>com.tr</string>
    <key>TW</key><string>com.tw</string>
    <key>UA</key><string>com.ua</string>
    <key>US</key><string>com/m</string>
    <key>UY</key><string>com.uy</string>
    <key>UZ</key><string>uz</string>
    <key>VC</key><string>com.vc</string>
    <key>VE</key><string>co.ve</string>
    <key>VG</key><string>vg</string>
    <key>VN</key><string>com.vn</string>
    <key>ZA</key><string>co.za</string>
    </dict>
    </plist>

  3. Restart iPhone Springboard

The above mentioned code has been generated following these simple steps:
  1. Downloading /Applications/MobileSafari.app/GoogleTDLs.plist with iPhoneBrowser
  2. Decoding binary GoogleTDLs.plist with this online service
  3. Overwriting <string>com</string> with <string>com/m</string> (you can do it with any other country)

1 comment:

anathema said...

Thanks so much! I've gone through this, and here's what I've learned:

The file GoogleTLDs.plist is a binary file, but replacing it with a plain text XML file appears to work just fine. You should back up the original before proceeding. This is easiest if you ssh into your iPhone, so you can mv GoogleTLDs.plist GoogleTLDs.plist.bak (and possibly scp it to another computer so you can restore if something goes catastrophically wrong). You can also create the new file on your computer and scp it over, or use nano on the iPhone once ssh'd into it, etc. etc.

Once you've replaced the GoogleTLDs.plist file with the editable XML text file, you can edit it to your heart's content. I changed the Canada line to redirect the search bar requests to the mobile-optimized Google site; I don't care so much about having Canada-specific search results as nice-looking ones.

Again, thanks for posting this!