google voice on a new phone

I live in California, using at&t. In my case, recently I got a new iphone 4 to replace my old iphone 3g. The transition has been smooth even though I lost all settings from my individual apps. But, the one thing that caught my attention is google voice. Now, I am not blaming any party here, since it’s always technically challenging to have two companies involved in one device.

btw, I am referring to the phone service, not the gv app. When some people call my at&t number they get a “phone not in service” error message, same error when calling my gv number. However, some other people are fine calling me. Strange…

After many trials, I figured out a way to get things back to normal.

  1. Go to your google voice web page
  2. Click on Settings -> Voice Settings
  3. Go to the Phones tab
  4. Locate your at&t phone, click Edit
  5. At your Number field, take away “+1”, then click Save
  6. You will be asked to verify your phone.
  7. Now, click on the “Deactivate Google voicemail on this phone” link and follow the instructions.
  8. Then, click on the “Activate Google voicemail on this phone” link and follow the instructions. You may need to refresh your google voice web page if the link is not responsive.

Now both of my numbers are pointing to my at&t phone correctly.

On a side note, when I called my gv # from another phone, after declining it the first time on my at&t phone, I got a second call again…? Then I declined again, and it went to my gv voicemail. This is strange also, but at least it won’t bother the caller.

itunesconnect error

Since my iphone OS got upgraded to iOS 4, I had to upgrade my Xcode as well… I just installed the latest Xcode 3.2.3 from xcode_3.2.3_and_iphone_sdk_4__final. It took out my previous SDK versions, and now I only have 3.2 and 4.0 left.

It took me a while to fix all the framework paths. For your convenience, right click on a red framework, then choose General, for Path Type choose Absolute Path, then navigate to the following path to re-select your framework paths.

Then when I got to the itunesconnect submission page, I got the following error message:

The binary you uploaded was invalid. An application targeting the iPhone device family may not require a iPhone OS Deployment Target of 3.2, which is an iPad-only OS.

Very puzzling as always… After trying things here and there, I settled by changing the Base SDK to iPhone Device 4.0. This may not be a good choice if you want to support old iphones, but it’s one way to submit an app update…

Hope this could save you some time on that error message.

CLLocationManager error

This happened to me while debugging an iphone app with CoreLocation. I got crashes consistently. Then I started paying more attention to the console output, here is the error message:

ERROR,Time,290362745.002,Function,”void CLClientHandleDaemonDataRegistration(__CLClient*, const CLDaemonCommToClientRegistration*, const __CFDictionary*)”,server did not accept client registration 1
WARNING,Time,290362745.005,Function,”void CLClientHandleDaemonInvalidation(__CFMessagePort*, void*)”,client 1035.0 has been disconnected from daemon

That doesn’t make much sense… ^^;

Then I realized I kept saying no to the pop up question “Would Like to Use Your Current Location”. I tried saying “OK”, then everything worked. No more errors.

Well… but not everyone would click ok. How do I get the “Don’t allow” or “OK” response from the user…? I am not sure, let me know if you can find it.

The solution for now though, is to handle this with the didFailWithError callback. Put your error handling code in there to turn off the location manager.

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {
  [manager stopUpdatingLocation];

If you’re using MKMapView, set the showsUserLocation property to false.

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {
  self.mapView.showsUserLocation = false;

This will stop those errors. Hope this helps!

AppSales Mobile

For some reasons, this app hasn’t gotten much publicity. If you ever wondered if it’s possible to view your app sales data without going through itunesconnect, this app is probably what you want.

You will need to download the latest source at using git. Afterward you will need to compile it yourself onto your own device.


Dropbox on iphone!

Just got the news that dropbox now has an iphone app! So besides sync’ing between your pc and mac, now you can also see your files on your iphone!

Sale’s reports of pre and iphone

There’s been a lot of buzz on iphone and palm pre. Well, let’s look at the numbers. Apple says it sold more than 1 million iPhone 3GSs. Palm has sold 150,000 Pres.

Of course, I am sure there must be loopholes in getting these numbers. But hey, that’s still quite a big gap between 1,000,000 and 150,000 !!!

I think it is fair to say that, the app developers will flock to wherever having a bigger customer base. According to our numbers, iphone is the winner for now.

Recently I had a chance to try out the palm pre. From my brief encounter with it, I am still not convinced palm pre is any threat to apple’s iphone. Lack of apps is quite fatal.

The cell phone war continues.

WWDC 2009

For those of you who missed it, here is the whole keynote typed up with pictures:

Apple iPhone VS Meizu M8

Boy… don’t they look similar? Meizu is apparently a cell phone company in China. Here is their official site and the eng version of it. I wonder how they got away with the copyright laws.

Check out this comparison list from

iPhone = 115 (h) x 61 (w) x 11.6 (d) mm
M8 = 105 (h) x 57 (w) x 11.5 (d) mm

Screen Size:
iPhone = 3.5 inches
M8 = 3.3 inches

Screen Resolution:
iPhone = 320 x 480
M8 = 720 x 480

Input Method:
iPhone = Apple patented Multi-touch
M8 = Standard touchscreen

iPhone = 2 models at 4GB and 8GB non-removable flash memory
M8 = 2 models at 4GB and 8GB non-removable flash memory

iPhone = 2.0 megapixels
M8 = 3.0 megapixels plus one 0.3-mega pixels on front for video calling

iPhone = Quad-band 2.5G
M8 = Unknown but 3G capable

Wireless Data:
iPhone = Wi-Fi (802.11b/g), EDGE, Bluetooth 2.0
M8 = Bluetooth 2.0 + TV-Out

Operating System:
iPhone = Mac OS X Mobile
M8 = Windows CE 6.0

There isn’t much info about the app store yet, but I am pretty sure a Chinese version of the Apple appStore will come out in no time. After all, google has its app store, and microsoft is making their own as well.

Not sure how you can get an M8 at this point, but I guess asking one of your friends in China will be a good start.

Server Lock Example

If you want to use custom message on your iphone screen with Server Lock Example, here is how you do it. (My phone is 3G, firmware 2.2.1)

First download a Terminal app, then download vim (or any text editor). Assuming you have Winterboard and have Server Lock Example turned on, we are now ready to go!

Run Terminal, then
cd /Library/Themes/Server Lock Example.theme/

Run “ls -l“, you will see that there is a file called LockBackground.html. However it is owned by “root”, and you are “mobile”. So, let’s su as root then. The password is “alpine”.

Run “vim LockBackground.html“.

Here due to the limited keyboard, the arrows keys are gone along with other important keys such as the ESC key. Luckily I found ways around it. You will see this file:

</head><body style=”
padding: 0;
margin: 0;


You can see that the message “This doesn’t really do anything yet, but it /did/ get loaded off the server ;P. (Awesome, huh?)” is from Well, what do you think? Change that link! 😉

Let’s just say you want to change that link to, because this link will display something cool! (Or you can display some contact info in case you misplace your phone).

To move down, press “return“. When you get to that line, press space to move right. When you are on the letter “c”, press “x” to delete until you have “http://.com/lock&#8221;. Now press “i” to go into insert mode. Then type carefully “www.myWebsite”.

After that, you need to quit the insert mode. Poor me I couldn’t find the ESC key. But if you use your finger to press the terminal, a little keybad thing will show up. These are supposed to be command line shortcuts like grep, find, etc. I went to “find” and the find command typed out for me. So now for some reasons you are out of the insert mode, but with a find command. So, just “x” them until you have your “;, see below.

</head><body style=”
padding: 0;
margin: 0;


If you make too many typo, then trigger the find command, then type “:q!” to quit vim so that you can start over. Yeah, start over… ^^;

Once you are done, type “:wq” to save.

So there you have it. A custom message from your own server!

Thx to and

Live from Apple’s iPhone OS 3.0 preview event

From engadget, in case you missed it:
Live from Apple’s iPhone OS 3.0 preview event