We have a number of first-generation iPhones fully unlocked and jailbroken using Pwnage from the iPhone Dev Team. (The iPhone 3G is not currently software-unlockable with any degree of reliability.)
One of the challenges for both 'official' (installed from Apple's App Store) and 'unofficial' (using installer.app or Cydia) apps that create content (photos, videos, text etc) is how to share the content. One approach taken by several apps is to offer to send an attachment via email. While this is fine for text files and photos, it's not so appropriate for larger files like video. You could also install OpenSSH and use scp to get the files, but that involves opening up root access which I didn't want to do for users who are a bit less tech savvy.
Here's our particular problem and solution. I have installed the Cycorder app, which allows you to capture video, but relies on scp and a knowledge of where the files are to move files off of the phone. By a bit of experimentation, I have managed to change the location where Cycorder saves its files. By changing the save location, I can then share/delete videos using Air Sharing (an 'official' app from the App Store). The general technique could also be useful for other applications.
Ever since Texas Hold'em 1.1 made its way onto my iPhone, I could swear the game was making faces at me! I finally figured out what was happening...
Make just about any non-game related finger stroke (a circle, a capital L, or any random zig-zag...) on the screen while playing in landscape mode (where all players' hands are visible at once). Keep your eye on your player icon at the bottom of the screen to see the game's Easter Egg -- a silly cartoon face that fades out after a second or so.
If you've got a jailbroken 2.x iPhone and use MobileFinder from the App Store, here's a way to give it even more power. By moving MobileFinder to the top-level Applications folder on the iPhone (instead of in the /User/Applications folder), you can then create symbolic links to folders from other applications such as Cycorder or MxTube. Once linked, you can then easily access these folders via MobileFinder. Note that you'll need to have SSH installed on your jailbroken iPhone to use this hint.
SSH to your jailbroken iPhone in Terminal.
Find the MobileFinder app inside /User/Application folder; it will be inside one of the folders with long names.
If you're watching a video and you lock your iPhone or return to the home screen, video playback stops. This makes sense for movies, but for music videos, a user may want to listen to the music without actually watching the video.
The simple workaround is to set the Home button's functionality to iPod in the iPhone's preferences. Next start any music video, and press the screen lock button (this pauses the music). Now press the screen lock button or the Home button again to show the unlock screen. Double tap the Home button and the iPod controls will appear. Press play and you are good to go!
If you want to use the iPhone for other things, such as browsing Safari, make sure you press the Home button before you lock the screen. This way, when you unlock the phone, you won't be taken back to the music video, but instead will be on the home screen.
(Note that pressing the Home button while in a video pauses the video, and that double tapping for iPod controls while the phone is unlocked takes you back to the video instead of showing the controls.)
I've noticed when creating a new event in the iPhone's Calendar, sometimes it gives me a far far away date (usually if I've been looking at old, or future events), or previous recurrences of an event (two years ago, for example). By default, date is displayed as Weekday-Day-Month, Hour and Minutes. Changing to another month, or worse, another year, is a time-consuming task.
One obvious solution is to cancel that event, go to Today, and create a new one, so the date is closer to the desired one. But if you have already typed information about the event, it may be frustrating to re-enter all of it.
A simpler way to get the right date quickly is to turn on the All-Day event switch, so the date picker changes to Day, Month, Year. Simply change your date, and turn off the All-Day switch again to enter the hour.
I have a friend who had their G5 die, and they are relying on their iPhone while waiting for their new iMac to ship. However, they have been having issues with the various bugs in the iPhone's 2.0.x software. So I decided to update their iPhone from my MacBook Pro. I couldn't find any documentation that said if it was possible, so I gave it a try.
When you first plug in the other iPhone, iTunes asks you to erase and sync the phone; hit Cancel at this point. Next, select the iPhone in the Devices column, and uncheck the 'Automatically sync when this iPhone is connected' and 'Sync only checked songs and videos' boxes in the Options section of the Summary tab. Now click the Update button to run the update.
The iphone will do its update thing, and no data will be lost.
I kept building up my photo collection on the iPhone's Camera Roll. There is no obvious way to delete a bunch of them -- short of deleting all of them -- from iPhoto (or even iTunes). You can, howver, use the Image Capture in OS X to do it.
Launch Image Capture and hit the Download Some button, and you are then free to roam the camera roll, selecting and deleting multiple images. My camera roll had over 1,000 photos in it, and taking pictures got very sluggish. You can erase them from the camera roll and sync them though iTunes. Browsing is much faster on synced rolls than on the standard Camera Roll.
[robg adds: Obviously, you could use iPhoto to import all, then say yes when asked if you want to delete the images after the import is done. If, for some reason, you wanted to keep some images in the Camera Roll, then this hint would work. The use of Image Capture was noted in the comments to this hint, but I felt it worth sharing as a separate hint.]
After two iPhone replacements, five Genius bar visits, two new SIM cards, the 2.1 software update, and countless restores, I have identified a relatively simple fix for the following two iPhone problems:
While in sleep mode, the iPhone hangs when receiving a phone call.
The Contacts app launches slowly, and exhibits jerky scrolling (especially with large contact databases)
It turned out I had a corrupt Contact app record -- my own. I did all my iPhone testing (on both of my iPhones) by calling the iPhone from my home phone. Here's my theory of what happens when the iPhone get an incoming call:
The iPhone detects an incoming phone call and awakens
The iPhone grabs the caller ID information
The iPhone application MobliePhone passes the caller ID information to the application Contacts
The Contacts application looks in its database for a record that matches the caller ID
If there is a match, a picture of the caller and name (if present), are displayed on the screen, and phone rings.
If that matching Contact record is corrupt, however, it takes a long time to open (maybe five to seven seconds). The MobilePhone application freaks out while waiting for the Contacts application, and the phone hangs. (I exhibited this problem 100% of the time on four separate iPhones.)
My iPhone 3G locked up on me recently. I mean it really locked up on me. The Sleep plus Home button reset trick (hold both for about 10 seconds) wouldn't work. The iPhone wouldn't get passed the initial Apple logo while booting. Plugging it into iTunes simply caused iTunes to freeze. There was nothing I could do.
So after taking it to an Apple store and talking with a Genius there, I learned this trick for forcing the iPhone to go into restore mode. WARNING: This is a last restort! All the data on your iPhone will be cleared and it will be reset to factory defaults.
Turn off the iPhone (you can hold down the Sleep button, or use Sleep + Home, and release as soon as the screen shuts off).
Hold down the Home button while connecting to your computer with iTunes already open and ready for a connection.
iTunes will prompt you to perform a software restore.
Your iPhone will obviously be wiped new and be reset as a result and you wil have a working iPhone again.
This proceedure is probably documented somewhere, but in two days of searching I couldn't find this. Nor did the tech support person on the phone know to do this in the script they were obviously reading from when I called Apple directly. Leave it to the guys in the trenches at the Genius bar to know the solution. I hope this helps someone else.
[robg adds: I had this happen to me numerous times with my first gen iPhone and iPhone software 2.0.x. The above method is actually documented on Apple's support site (though it's not in the latest iPhone User's Guide), but it's not necessarily easy to find, so I felt it worth sharing here. The good news is that, since the release of iPhone 2.1 software, I haven't had this happen a single time. Hopefully this hint won't be needed any more.]
While there are many reasons to want to conceal only a part of one's browsing history, there's no official way to browse privately, or selectively delete, history entries on the iPhone. However, I recently discovered, through equal parts curiosity and accident, a way to achieve a similar result.
Browse to a site you'd like to keep out of your browser history, conduct your business, and then when you're done, navigate to a less-sensitive site. Then hold the Home button down until Safari "force quits" back to the iPhone's home screen. When you reopen Safari, you'll see the last page you had open, but when you check history, you'll find nothing from the last session except that page.
YouTube App works similarly, but you don't need to navigate to a new page. Once you force quit, that entire session apparently vanishes into the ether. This is more useful, for me at least. Most of us don't have prying spouses furiously scouring our phone's browser history, but anyone with kids has had to share YouTube with them. There may not be any porn on YouTube, but with my sick and childish sense of humor, there's plenty I'd like to shield my seven year old's eyes from seeing. Now I don't have to periodically clear my history.
I can't say for sure whether the Safari trick prevents cookies being stored; I guess I'll find out next time I shop for airline tickets. As this is sort of a bug, or at least not necessarily intended behavior, it may vanish with a future update. Hopefully it's a lower priority than copy/paste!