According to some posts on tuaw.com (here and here), it's now (once again) easy to add your own 30 to 40 second (maximum) ringtones to the iPhone.
Just trim down a song or sound (using iTunes, GarageBand, Audacity, etc.), save an AAC-encoded version, change the .m4a suffix to .m4r, and drag the file into the Ringtones folder of the iTunes library (you may have to delete the original .m4a file from the library if it's already in iTunes).
ou can add songs longer than 40 or so seconds to the iTunes ringtone section of the library, but they won't sync to the iPhone or show up in ringtones tab of the iPhone sync page in iTunes.
I'm not sure how long this has been around; I'm expecting since 1.1.2 released. If your iPhone locks (sleeps) when it's inside of any application, you can quickly return to the home screen without extra button pushes:
Lock your phone while in an app, like the iPod.
Press the Home button to wake it.
Immediately swipe to unlock. Speed is key; usually the swipe has to be started before the screen lights up.
When the iPhone unlocks, the iPhone returns to Home screen instead of the iPod. (Some apps seem to be tougher to do this with than others.)
This doesn't happen when the phone is awakened with the Lock button, and it's clear that the application isn't crashing, because you can occasionally grab glimpses of the retreating application's animation and the Home screen's animation.
A quick poll of my two iPhone-owning coworkers think it's a bug, but it's a slightly useful one.
I use a another provider for international calls from my mobile: OneTel (although, this hint should work great with others). This service allows me to dial a local number, then, when prompted, enter the international number I wish to connect to and it connects me as usual. This works fine on the iPhone, in that I can use this plan as described. But my previous mobiles allowed me to set-up 'calling cards' which, when turned on, allowed me to dial the international number directly. The phone would then intercept this and dial the local number for me, then enter my destination number. This is, to me, indispensable on a mobile phone, because without it, you have to either memorize the destination number (or write it down again) so you can enter it after the prompt -- a cumbersome task while you're on the go.
Until Apple starts to more properly support calling cards, I improvised by writing an AppleScript which will create 'onetel' versions of the numbers I am interested in. I first created a group in my Address Book called OneTel, and placed within this group all the numbers that I am interested in dialing on my iPhone -- even if they're international.
The above script does the following: For every person in the group OneTel, it checks each number for the person and if it is not a fax number, but contains a number that starts with either + or the international dialling code (you set this) and a country code other than yours, it will create a new phone entry for the person. The number's label is prepended with "onetel " and it includes the full dialing sequence required for the card and phone number.
For example, if a number has the number home as +331234567890, then a number number onetel home with the digits xxxxxxxxxxpp00331234567890 will be created, where xxxxxxxxxx is the local dialing number for OneTel and each p is a two-second pause
I added this script (which I named Add OneTel Numbers) to the ~/Library » Scripts » Applications » Address Book folder, and this now shows up in my AppleScript menu when I'm in Address Book. When I've made some changes to some of the relevant cards, I run this script, then, next time I sync my iPhone, I'm all set. There's lots of room for improvement, but I felt it was good enough to share. Enjoy!
In the Gmail account, go to Settings » accounts » Get mail from other accounts.
Add your POP3 account to Gmail, thus allowing it to regularly check your POP3 messages. Authorize as instructed. Ensure you set the option to leave messages on the server -- this means that your email program can still function as previously, getting all messages from POP3 directly.
Set up the Gmail account on the iPhone as an IMAP server, but when you enter your email address, use your POP3 address instead!
The above allows you to shadow your POP3 email account via the much more reliable IMAP service, without affecting or moving the messages from your POP3 email, which will still be available to your Mac/PC when you next download your mail through your mail app of choice. At last, I can use my service provider's email from my iPhone! Lets hope Apple makes POP3 handling better in v1.1.3.
iPhone syncing is tied to the other kinds of synchronizations your Mac may undertake -- like .Mac syncing. If a conflict occurs with the .Mac sync, the "conflict resolver" window will appear, usually accompanied by an orange icon. If you've got your dock hidden, you might not notice that the resolver has activated, since the window doesn't appear in the foreground. As long as that window is open, however, your iPhone sync will appear to hang.
This happened to me this morning, when I plugged my iPhone in. An automatic .Mac sync during the night had found a conflict, and having not noticed it, did a full reset -- which also failed -- of the iPhone before realizing what had happened. Resolve the overall sync issue, or dismiss the resolver window, and iPhone sync will continue normally.
There are two places I can think of that use "dots" to denote unseen pages or screens on the iPhone: in the Weather widget and in Safari's "pages" mode.
In the Weather widget, you can use horizontal area of the screen where the dots are as an alternative navigation method. While you 'swipe' the panels to move them out of the way, you can swipe the opposite direction in the dots area, swiping 'to' the direction you want to go. Alternately, you can also just tap to the left or right of the dots to move the weather panels in that direction.
I thought that same method might remain consistent in Safari, but it does not. However, in trying to get it to work, I did discover that instead of swiping from one page to another in Safari, tapping on the edge of the screen where you see the edges of other web pages will also allow you to move from one page to another.
Prepare your ringtones. I've only tried this with m4a files. Your mileage may vary. First, run your ringtone trough Ringtonator. You should now have both an m4a version, and an m4r version of your ringtone.
Load up iPhuc and add BOTH files (m4a and m4r) files to the /iTunes_Control » Ringtones directory. (using the putfile command).
You need to get the Ringtones.plist file from /iTunes_Control » iTunes using iPhuc and the getfile command. Save a copy of the file in case your make a mistake!
Then you'll need to edit the plist in the plist editor or your favorite text editor. You need to add two entries to the Ringtones dictionary, one for the m4a file and one for the m4r file. I made up the GUID myself, but I'm sure there's a better way to do this. However, note that the GUID is the same for both the m4a and m4r files. You can also edit the name key. You can see a sample ringtone file at the above linked blog post.
Put your modified version of your Ringtones.plist file back on your iPhone in the /iTunes_Control/iTunes directory.
That's it. Your ringtone should appear in your ringtones list.
I discovered that it is possible to type email, text messages, and enter text in most western languages. Simply tap and hold the button for the letter that most closely resembles the one you'd like to type. While holding the key down, an additional menu will appear where you can select the desired letter or accent.
For instance, to get an é, simply tap and hold E and select desired letter with accent from pop-up menu.
[robg adds: This feature was added with the iPhone 1.1.1 update, but as of now, it's not yet documented in the iPhone's user manual (which hasn't been updated for 1.1.1), nor anywhere that I can find on the iPhone support pages or even in the what's new video.]
Having used the iPhone for some testing, I saw that some SMSes corrupted the database file and the SMS app no longer worked. It would simply quit when I tried to open the SMS. The Apple suggested way to fix this problem would be to reset the iPhone by using the Settings » General » Reset » Erase all Content and Settings. But this would mean that you would have to resync your iPhone again. The easiest way I have found to do this is as follows.
Download any Terminal app from within the AppTap installer on the iPhone.
Open the terminal app and enter these commands:
$ rm Library/SMS/*
Note that you will lose all your saved SMS messages.
Exit the terminal app.
Restart your iPhone.
Your SMS app should now be as good as new while all your other data is intact.
[robg adds a very important note: This solution will possibly (a) void your warranty, (b) break the EULA, and (c) may have negative consequences with future Apple updates. If you've going to take this route, however, you could actually just use iNdependence to jailbreak the phone, and install dropbear (an SSH clone) at the same time (within iNdependence). Once that's done, you could use ssh (or sftp via Transmit, etc.) to connect to the phone and remove the bad file. Please consider the possible consequences above, however, before trying this solution -- anything that happens to your iPhone would be your responsibility, not anyone else's. Apple's Restor function is by far the safest, if most time consuming, solution.]