Friday, August 22, 2008

iPhone / iPod Firmware Link

http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client.MZITunesClientCheck/version?touchUpdate=true

Shell script: Select all

#!/bin/sh
curl -s -L http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client.MZITunesClientCheck/version?touchUpdate=true | gunzip | grep appldnld | grep "iP*.*Restore" | awk '{print $1;}' | uniq

Wednesday, August 20, 2008

Installer Script Command

http://www.hackint0sh.org/forum/showpost.php?p=335937&postcount=2

Common Script Commands of Installer
These are old script commands for Installer, I think some of them are still applicable in Installer 4

CopyPath() and RemovePath()
Code: Select all

<array>
<string>CopyPath</string>
<string>YourProg.app/</string>
<string>/Applications/YourProg.app</string>
</array>


and
Code: Select all

<array>
<string>RemovePath</string>
<string>/Applications/YourProg.app</string>
<string>/var/mobile/Library/Preferences/com.yourcompany.YourProg.plist</string>
</array>


Other Common Commands
AbortOperation(string) This will make Installer both abort the install process and displays a message telling the user why
Confirm(string,string,string) Confirm an action.
Exec(terminalCommand) Runs a Terminal command. Useful for things like chmod, chown, etc.
ExecNoError(terminalCommand) Runs a Terminal command.
LinkPath(oldPath, newPath) Links the two paths.
MovePath(oldPath, newPath) Moves files from one location to another
Notice(string) Displays a pop message while Installing
SetStatus(string) Sets the status of the install process. Useful for lengthy installs.

Example
Code: Select all

<array>
<string>Confirm</string>
<string>Changing Permission. Do you wish to continue?</string>
<string>Yes</string>
<string>No</string>
</array>
<array>
<string>SetStatus</string>
<string>Changing Permissions</string>
</array>
<array>
<string>Exec</string>
<string>/bin/chmod -R 755 /var/mobile/Media/MyProgData</string>
</array>
<array>
<string>Exec</string>
<string>/usr/bin/chown -R mobile /var/mobile/Media/MyProgData/.</string>
</array>
<array>
<string>Notice</string>
<string>Installation Completed. Please restart iPhone.</string>
</array>


If / IfNot
If(condition[array], action[array]) Use this to check for specific conditions and have Installer react accordingly. Example
Code: Select all

<array>
<string>IfNot</string>
<array>
<array>
<string>InstalledPackage</string>
<string>com.anothercompany.anotherprog</string>
</array>
</array>
<array>
<array>
<string>AbortOperation</string>
<string>You must install another package first.</string>
</array>
</array>
</array>


Some common things to check with If / IfNot
InstalledPackage(bundleIdentifier) Checks to see whether or not an application is installed.
ExistsPath(path) Checks to see whether a specific file or directory exists
FirmwareVersionIs(arrayOfFirmwaresTocheck) Checks the firmware version