Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

NathanA

macrumors 6502a
Original poster
Feb 9, 2008
739
16
I posted these instructions over at iPodTouchFans last night, but, figuring that they will surely be useful to a wide range of 1G Touch users, I'm hoping to get this discovery some more exposure. Please feel free to leave feedback on your success rate with this technique.

For all you Touch 1G users out there who feel shunned by App Store developers certifying their Microphone-aware apps for Touch 2G users but NOT for 1G users who have discovered that their "Made for iPod" dock connector microphones work JUST FINE with these apps when running iPhone OS 2.2 on their 1G Touches (WITHOUT any jailbreak even), I think I just found a solution for you!

Previously, we had to resort to such hackery as jailbreaking our devices and then manually extracting the .app from the .ipa and copying it over to /Applications, which worked without actually cracking the apps, but it was an ugly solution because A) apps could not be removed or sync'd to iTunes in the normal fashion, B) the app icons looked squared off and ugly, C) apps that added things to Settings (that is, included a Settings.bundle) would not have their settings show up in the Settings applet when installed in this fashion.

But no longer! You can now install these apps on your 1G touch Jailbreak-free AND sans cracking!

Here's what you do...it's real simple:

1) Purchase the microphone app that you want to run on your computer, in iTunes. Try to sync that application to your Touch; you should get a message that says "The application was not installed on the iPod because it is not compatible with this iPod." A bunch of hooey, as we will see in a minute.

2) Find the IPA file that iTunes downloaded to your computer (should be in a folder called Mobile Applications, the location of which varies depending on platform: Windows or MacOS), and temporarily rename it to have an extension of ZIP.

3) Open it up and extract the iTunesMetadata.plist file from it.

4) Try opening it. If it is human-readable, skip to step 5. If it is in binary format, upload it to http://www.kilrathy.net/plist-converter and save the converted file it gave you, OVERWRITING the original. Now try opening it again.

5) Look for the section that looks like this (search for 'softwareSupportedDeviceIds'):

Code:
<key>softwareSupportedDeviceIds</key>
<array>
        <integer>2</integer>
        <integer>4</integer>
</array>

Now, don't worry if it doesn't look EXACTLY like this. Some will have only one integer listed in the array, and some will have more than one.

6) Modify it to look like this:

Code:
<key>softwareSupportedDeviceIds</key>
<array>
        <integer>1</integer>
</array>

So, basically, reduce it down to one integer, and make that integer equal to 1. This softwareSupportedDeviceIds key is the key that tells iTunes what models of iPhone and iPod Touch are compatible with this app, and in essence we just told it that it is compatible with all models.

7) Save your iTunesMetadata.plist with these modifications, OVERWRITING the file you are editing.

8) Now, replace the iTunesMetadata.plist file that is in your application IPA file (which right now is a ZIP) with the modified one you just finished editing in the steps above.

9) Rename the ZIP back with an extension of IPA.

10) If you made a copy of the original IPA to edit, replace the IPA file in your Mobile Applications folder with this one.

Now, restart iTunes and try to sync that application to your iPod Touch 1G again. Success! Now you may simply plug in your MacAlly iVoice III or equivalent dock connector microphone (don't forget the headphones, too!), and have fun using your new microphone applications, on your non-jailbroken first-gen Touch!

DISCLAIMER: All that we did was trick iTunes into letting you install this app. We did NOT crack the apps; this solution only works for apps that you have legitimately purchased from the iTunes Store. Future updates for this app will have to undergo the same treatment before they will install, and the App Store applet on the Touch will not download and install updates for these apps over-the-air because it still thinks that your device is not compatible with these applications. Furthermore, just because the app was installed does NOT guarantee that it will work. The majority of microphone-aware applications in the App Store WILL work; however, a very small subset of apps have already been discovered that will not (examples include Google Search, which will install even without this hack but won't allow you to use the Voice Search feature, as well as Shazam 1.5, even though the earlier 1.0 release functions perfectly well on the 1G Touch with the MacAlly microphone).

Happy microphone-ing!

-- Nathan
 

bruinsrme

macrumors 604
Oct 26, 2008
7,174
3,036
ha

Why not just synch the 2 ipod touches on the same itunes account?
read more into it, never mind.
 

NathanA

macrumors 6502a
Original poster
Feb 9, 2008
739
16
Why not just synch the 2 ipod touches on the same itunes account?

That's not the issue. The issue is that certain applications are marked as not being compatible with the 1G Touch (namely, those that utilize the microphone) and iTunes won't let you install them on the 1G, nor can you buy thenm in the App Store on the device itself. This bypasses that, and 99% of these apps will work just fine on the 1G provided you have a proper, certified-by-Apple dock connector microphone.

-- Nathan
 

Packersfan27

macrumors 6502
May 29, 2008
262
0
Didn't work out, i found Mobile Applications, but none of the applications had.IPA after them, I added .ZIP to the end of the app (ocarina) but it would not let me open it, it would just open up itunes.
 

NathanA

macrumors 6502a
Original poster
Feb 9, 2008
739
16
Didn't work out, i found Mobile Applications, but none of the applications had.IPA after them, I added .ZIP to the end of the app (ocarina) but it would not let me open it, it would just open up itunes.

You are in Windows? Windows by default "hides" extensions of file types that I knows about and has some associated action with. You need to turn that off. Otherwise, your renaming efforts are simply not going to work (you renamed your file, in essence, to ApplicationFileName.zip.ipa).

In a Windows folder view:

1) Go to 'Tools' menu
2) Click 'Folder Options'
3) Go to 'View' tab
4) Uncheck 'Hide extensions for known file types'
5) Click 'OK'

NOW try my instructions again.

HTH,

-- Nathan
 

Packersfan27

macrumors 6502
May 29, 2008
262
0
ok, tanks for the file thing.

I had another problem though :eek:

I went to convert the metadata plist

When I tried to convert it using the website, it just showed a blank white page. Does the conversion need to be in a certain format?
 

NathanA

macrumors 6502a
Original poster
Feb 9, 2008
739
16
When I tried to convert it using the website, it just showed a blank white page. Does the conversion need to be in a certain format?

'k, what that website is for is converting the plist file to readable XML/text if it is in a binary format. If the plist file is already in the correct format, then it will return a blank page to you. Notice that I said that step is optional, depending on whether you see a bunch of strange characters in that file (you have to convert) or if you see mostly actual roman alphabet letters that seem to spell out real words (no need to convert). I guess you could use the web site itself to determine if the conversion is necessary...send the file to the web site anyway, and if it gives you a download to another file, it needed converting; if it gives you a blank page, it didn't need converting.

I haven't yet managed to figure out why some of my metadata plists in my ipas are in binary and some are not. Apparently, iTunes doesn't care which format it is in in the final packaging, so if it was in binary to start with and you convert it to XML, you don't need to worry about re-converting to binary again after editing it.

Now, all this having been said, now that we've established that you run Windows, you are going to face another complication, unfortunately: if you open up this file in Notepad, you will see that there are next to no linebreaks; that is, all of the things which should have a line of their own will be all run together into one long line. This is because Microsoft operating systems (and others from that lineage, such as OS/2) have traditionally represented line breaks in ASCII text as consisting of two ASCII characters paired together: carriage return (CR, or ASCII decimal value 13) followed immediately by line feed (LF, or ASCII decimal value 10). All UNIX-based operating systems, like MacOS X, ONLY use the LF character to represent a line break. (And, to further add to the confusion, MacOS Classic v9.x and below, only used CR by itself to terminate lines!) The XML files that iTunes uses follow the UNIX convention, and so Windows Notepad doesn't form linebreaks when it reads these files in and thus runs everything together into one long line.

Only way to get around this in Windows is to either run the file through an ASCII line break converter before editing it (which looks for all LFs and adds a CR immediately before them), or to ditch Notepad and use a different text editor which is aware of the two conventions and can deal with either of them.

The old Microsoft EDIT.COM console-based text editor actually can deal with this for you, so you could try using that to open the plist file (it's located at \WINDOWS\SYSTEM32\EDIT.COM). If you were uncomfortable actually using EDIT to make the modifications that are required, you can open it in EDIT and then immediately save the file, and EDIT will re-save it in the 'Microsoft' convention which Notepad can then interpret correctly.

As far as an automatic converter program goes, I couldn't find a web/CGI one for this task that was like the plist binary-to-XML converter, where you could simply upload the file to the web site and have it spit the converted result back at you. But I did find this one which should do the job handily (free download): http://sysd.org/stas/node/34

All this having been said, I just noticed your signature line and the fact that you have a 2G Touch. If you have a 2G Touch and not a 1G, I have to wonder: why are you putting yourself through this? :) I'm sure it'll work for the 2G as well if you happen to run across a program that you want to install on it that the App Store says is not compatible, but I doubt there are very many (if any) of those around.

Again HTH, and good luck,

-- Nathan
 

Night Spring

macrumors G5
Jul 17, 2008
14,612
7,790
Has anyone tried this method on a Windows computer and gotten it to work? I remember reading something about the zip process in Windows being different from the zip process needed to obtain a working ipa file. That is, if you zip the app file in Windows the way OP suggested, and rename it to _____.ipa, it won't work.
 

NathanA

macrumors 6502a
Original poster
Feb 9, 2008
739
16
I remember reading something about the zip process in Windows being different from the zip process needed to obtain a working ipa file. That is, if you zip the app file in Windows the way OP suggested, and rename it to _____.ipa, it won't work.

I'm not suggesting you re-zip the entire contents of the IPA after doing this mod. I'm suggesting that you do the following:

1) Extract just the metadata plist from the IPA/ZIP
2) Edit it
3) Replace just the metadata plist in the IPA/ZIP with the modified one

In Windows XP or above with the built-in "Compressed Folder" / ZIP file support, this can be easily done by opening up the IPA (once it is renamed to ZIP), dragging-and-dropping the metadata plist file to your desktop, performing the necessary edits as I outlined in my OP, dragging-and-dropping the modified plist on top of the original IPA/ZIP (still currently a ZIP), saying "Yes" to overwriting the original file, then renaming the ZIP back to IPA.

And yes, I've tried it in Windows with Windows iTunes under XP, and it works.

I would suggest that people on Windows NOT install shareware crap like WinZIP or anything else that tries to hijack the ZIP file association from the built-in Windows "Compressed Folder" Explorer object class since I have managed to confirm that it works perfectly fine with the built-in ZIP support in XP/Vista but have not tested it with these third-party ZIP file handlers.

Good luck,

-- Nathan
 

Packersfan27

macrumors 6502
May 29, 2008
262
0
Thanks for the help Nathan :)

I think we misunderstood eachother though. I was trying to say that I had to put the file path in the converter ex. (C:/document/apps) or something. I had to do this because when i want to open the metadata I get a message that tells me that windows cannot open the file because it doesn't know what program to use with it. So I am forced to use the file path.

Also, I want to use the application Ocarina, which Smule unfortunately only put out for iphones so when I try to sync it it tells me I can't use it :(
 

NathanA

macrumors 6502a
Original poster
Feb 9, 2008
739
16
I think we misunderstood eachother though. I was trying to say that I had to put the file path in the converter ex. (C:/document/apps) or something. I had to do this because when i want to open the metadata I get a message that tells me that windows cannot open the file because it doesn't know what program to use with it. So I am forced to use the file path.

Umm... I think we are still misunderstanding each other. Let's go over this step-by-step again...these steps can all be gleaned from all of the stuff I already wrote above, but just to make sure we are clear:

1) After you get the iTunesMetadata.plist out, go to the web site I gave you for the conversion (http://www.kilrathy.net/plist-converter). Hit the Browse button on the web site. Navigate to the plist file and select it and hit OK. Then the browser will correctly fill out the pathname for you. (That should take care of your issue above.)

2) Hit the Submit button on the web site. ONLY one of two things will happen:

A. Your web browser will prompt you, telling you that it wants to know what to do with the file that it is downloading. If this happens, tell it to SAVE, and save it ON TOP of the plist file you took out of the IPA, telling it YES you want to replace it.

... OR ...

B. You will get a blank page. This is normal and means that the plist does not require binary -> XML conversion, so don't worry about it and just pretend like you never had to do steps 1 and 2 above.

3) Since you're on Windows, go get the program I told you about today at http://sysd.org/stas/node/34 and install it per the instructions on their site. Once done, right-click the plist file and select "Convert text mode" and then "From UNIX to DOS"

4) Now try to open the plist in Notepad. This is simple: right-click it, select Open With..., choose "Select the program from a list" and choose Notepad.

Now simply continue on through my original instructions starting at item #5.

Also, I want to use the application Ocarina, which Smule unfortunately only put out for iphones so when I try to sync it it tells me I can't use it :(

Ah, I see. Well, then this should work for you.

-- Nathan
 

Night Spring

macrumors G5
Jul 17, 2008
14,612
7,790
I'm not suggesting you re-zip the entire contents of the IPA after doing this mod. I'm suggesting that you do the following:

1) Extract just the metadata plist from the IPA/ZIP
2) Edit it
3) Replace just the metadata plist in the IPA/ZIP with the modified one

Hey! Finally managed to find time to try this, and it works! Thanks for clarifying this point!
 

mackmgg

macrumors 68000
Nov 2, 2007
1,660
572
i got an error because it was modified back in september when i tried to add ipt2g support to an iphone app.
 

petes63

macrumors newbie
Dec 17, 2008
16
0
Fantastic Nathan! Many thanks for this - it's been a great help.

By following this I managed to get Truphone (and other Apps) on my 1G Touch. However I have a Mac and did get stuck at the stage where I had to copy the edited iTunesMetadata.plist file into the renamed (to .zip) application IPA file. To do this on my Mac I resorted to opening a Terminal and used ZIP from the command line:

zip -rj Application.zip iTunesMetadata.plist

Where Application.zip is the temporarily renamed IPA file.
 

stevecarville

macrumors newbie
Feb 9, 2009
1
0
Wonderful Wonderful Wonderful

I downloaded the 4 Track app from Sonoma Wireworks and it is just the best thing ever. It records 4 tracks beautifully on my 1G touch with an iVoiceIII mic. I can't believe it was so easy.

I did it yesterday and then had a quick go with Shazam. It went onto the Touch but wouldn't recognise the mic (yet). Any tips on this would be good but I'll start by comparing the contents of the 4Track and Shazam .plist files...

Thank you sooooo much. This is just brilliant. Every muso should have one!

Steve:D
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.