One feature that is lacking in the first generation of iPad is FaceTime. FaceTime is the free video calls and chatting app via Internet through Wi-Fi from Apple, and with the non-existence of front-facing camera, probably Apple feels that FaceTime is not needed in the original iPad.
A hacker named Intell has been getting impatient, and managed to hack and enable FaceTime feature on the iPad, ahead of rumored inclusion of front-facing camera, in addition to rear-facing camera and the much-wanted FaceTime feature.
The FaceTime that installed by the hack appears to be working perfectly on iPad with optimized full screen user interface, where it can receive video from FaceTime users using Mac OS X system, iPhone 4 or iPod touch 4G, while voice can be transmitted from iPad. The hack depends on FaceTime related files which are extracted from iPod touch or iPhone. However, the iPad needs to be jailbroken in order to implement the hack. Here’s how to enable FaceTime on iPad (Wi-Fi only or 3G + Wi-Fi).
In order to perform the hack, you have to manually extract the following files from iPod touch (4th generation) or iPhone 4 running iOS firmware OS version 4.2.1, where iPod touch 4G files are recommended, as there are reports that iPhone 4 files does not work correctly.
Of course, the iPad must be jailbreak prior to performing the hack below. Both untethered or tethered jailbreak on iPad can support the hack.
- SSH to /System/Library/PrivateFrameworks/ directory with the following login information:
Server: The IP address of your iPad. Settings –> WiFi –>
Protocol: SFTP (SSH File Transfer Protocol) or SCP
- Rename Conference.framework to ConferenceiPad.framework and IMCore.framework to IMCoreiPad.framework.
- Upload the Conference.framework and IMCore.frameworks from the iPod Touch 4 or iPhone 4 to /System/Library/PrivateFrameworks/.
- Navigate to /System/Library/CoreServices/SpringBoard.app/ and download the K48AP.plist for editing.
- Add the following code under the capabilities array:
Save and upload the modified version to SpringBoard.app on the iPad replacing the unmodified version.
- Upload the ConferenceRegistrationSettings.bundle from the iDevice 4 to /System/Library/PreferenceBundles/.
- Navigate to /System/Library/Frameworks/AVFoundation.framework/K48/ and rename AVCaptureSession.plist to AVCaptureSession.bak2.
- Upload the AVCaptureSession.plist from the iPod Touch 4 /System/Library/Frameworks/AVFoundation.framework/N81/ or iPhone 4 /System/Library/Frameworks/AVFoundation.framework/N90/.
- Navigate to /System/Library/PrivateFrameworks/Celestial.framework/K48/ and rename AVCapture.plist to AVCapture.bak2.
- Upload the AVCapture.plist from the iPod Touch 4 /System/Library/PrivateFrameworks/Celestial.framework/N81/ or iPhone 4 /System/Library/PrivateFrameworks/Celestial.framework/N90/.
- To get the sounds woking navigate to /System/Library/Audio/UISounds/ and put vc~ended.caf, vc~invitation-accepted.caf, and vc~ringing.caf from the iDevice 4 into the iPad’s UISounds folder.
- Navigate to /Applications/Preferences.app/ and download the Settings.plist.
- Remove the requieredCapabilites key and its accompanying array from item number 26.
Save the file, and then replace the version on the iPad with modified version.
- Download the MobilePhone.app from iDevice 4, edit the info.plist in MobilePhone.app.
Change CFBundleDisplayName~ipod to CFBundleDisplayName~ipad, CFBundleIconFiles~ipod to CFBundleIconFiles~ipad, CFBundleURLTypes~ipod to CFBundleURLTypes~ipad, and UILaunchImageFile~ipod to UILaunchImageFile~ipad.
Then, add a 2 to the UIDeivceFamily array with following code to make the app compatible with iPad:
- Replace the Default~ipod.png with the attached file, then upload the MobilePhone.app to the iPad’s /Applications/ folder.
- Navigate to /System/Library/PrivateFrameworks/TelephonyUI.Framework/ and rename bottombarknobgreen.png to bottombarknobgreenT.png.
- Reboot and enjoy FaceTime.
Here’s a video showing FaceTime on iPad 1.