Natterings RSS

Mobile Hacker Stephen Ryner Jr. is also known as @nthtch

Archive

Jul
8th
Thu
permalink

OAuthConsumer on GitHub

rentzsch:

I extracted mostly-Jon-Crosby’s Obj-C 2 OAuth implementation into its own GitHub project and rolled in my various fixes.

Patches welcome.

Jul
4th
Sun
permalink

H264: cannot locate bundle “com.apple.QuickTimeH264.component” => bailing out!

Here’s another hair-puller for future Google searches. My brand-new MacBook Pro inherited a problem from my old MacBook Pro: videos shot on my iPhone would lock up QuickTime Pro. No quicklook previews. No iPhoto.  Trying to watch would play audio and then show the Rainbow Spinning Wheel of Doom.

A quick look at the Console logs showed messages like this:

7/4/10 4:05:33 PM [0x0-0x2e92e9].com.apple.quicktimeplayer[6860] H264: cannot locate bundle “com.apple.QuickTimeH264.component” => bailing out!

If you google this particular expression, you won’t find anything. Boo!

I wasted some time trying to fix a broken folder (not a bundle!) named QuickTimeH264.component in ~/Library/Quicktime. Then I had an epiphany and simply deleted the offending folder. 

Portrait video from iPhone now plays correctly. I’m assuming the broken QuickTimeH264.component was leftover from QuickTime Pro or some other component before Snow Leopard was released.

Jul
2nd
Fri
permalink
Jun
27th
Sun
permalink

“A valid signing identity matching this profile could not be found on your keychain”

Once a year your iPhone Development Certificate expires and you have to to the Certificate Hamster Dance. It’s easy to request and install a new certificate (“developer_identity.cer”), but you must edit your existing provisioning profiles on the program portal to refer to the new certificate, then update and download each provisioning profile as well.

In hindsight, it makes sense. Your old provisioning profile (e.g. “nuthatch.mobileprovision”) refers to a developer certificate you just replaced. So that signing identity can no longer be found. The new profile includes the new certificate, and all is good again. For now.

It’s a shame the error messages are so useless. I understand this is all fixed in Xcode 4.0 but googling the phrase “A valid signing identity matching this profile could not be found on your keychain” returns a lot of noise. The final hint (duh!) came from http://bit.ly/valid-signing-identity

Jun
9th
Wed
permalink
May
15th
Sat
permalink
permalink

Add git branch to bash prompt

I’ve had this on my work laptop for over a year, but never got around to adding it to my home machine.

Edit your .profile to add these:

function parse_git_branch{
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
echo "("${ref#refs/heads/}")"
}
# path prompt
export PS1="\w \$(parse_git_branch)\$ "


Now your prompt will look like this if you’re inside a git repository:

~/projects/iPhone/UIKit-Artwork-Extractor (master)$ 


Branches are cheap in git, and this will help you remember which one you’re on.

May
12th
Wed
permalink

A Brief, Incomplete, and Mostly Wrong Opinion on US Mobile Market Share

Mike Rundle asked on Twitter  “If iPhone comes to Verizon at a good price, who would still buy an Android phone besides open source geeks?”

My first answer is the current iPhone will never come to Verizon at any price. Verizon uses CDMA, which limits a device to at most 100 million subscribers in the United States. That sounds like a lot. But GSM devices, like the current iPhone models, can be sold worldwide. A quick check finds 700 GSM networks, with roughly 2.5 billion subscribers. Maybe it’s worth Apple’s time to pursue those 100 million Verizon customers with a new device. If not just for profits, it will start to close the window of opportunity for Android vendors. Perhaps Korea and Japan has compatible CDMA customers.

Apple pursues profits over market share. The iPhone requires a premium data plan, so most of the world’s 2.5 billion GSM subscribers can’t afford to use one. Nokia, Samsung, and Google Original Equipment Manufacturers (OEMs) like Motorola and HTC will continue shipping phones in volume. You could even strip down Android to make a cheap, nearly disposable phone for everyone, something Apple will not do. So overall, Apple’s world-wide market share will remain a minority as they skim the cream of the profits. I think of this as the “BMW model,” and I think it suits Apple fine. I personally doubt they would invest in a separate CDMA device just for market share.

Let’s return to the United States. Will Apple take over? It does seem many AT&T customers are going for Apple’s iPhone. The Wall Street Journal reported in the 4th quarter of 2009 AT&T activated 3.1 million new iPhones. They only added 2.7 million new subscribers. Those are suggestive numbers. Apple has sold roughly 50 million iPhones in the US, and those customers have proven quite willing to pay for apps from Apple’s App Store.

But in the United States, customers don’t buy cell phones. Carriers do. Sorry, Mike. While Verizon may want some of the fat profits afforded by a premium device, nobody wants to be beholden to a single vendor. Carriers are excited about Android and will continue to court OEM devices running Android. That excitement will not diminish as Apple gains power and influence, especially if it turns to fear.

Even if iPhone was available across all carriers, would everyone buy one? I don’t know about you, but my kids are not getting iPhones. Apple’s iPod Touch fills this niche brilliantly, and prepares young consumers for future iPhone purchases. But parents buying mobile phones for their children today are going to go for something sturdy and cheap.

Android will take the majority of market share because it is cheaply licensed across many manufacturers. Unlike Microsoft with Windows, Google moves quickly and quality improves markedly with every release. Google also seems to be releasing more frequent updates on a shorter cycle than Apple. Throw Blackberry and Palm OS back in, maybe even Windows Mobile, and there’s still plenty of other devices for carriers to chose from. I’d argue this is good for everyone concerned.

But the real question Mike is asking (besides the obvious, “what idiot would not buy an iPhone”) is “what platform should mobile developers should target?” Unfortunately for Android, the Google App market is a train wreck. I heard one developer say his Palm webOS sales outstripped his Android sales. That’s anecdotal, but would be pretty scary for Android considering Palm’s market share with the Pre.

Longer term, Verizon and AT&T are supposedly converging on a new cellular technology, LTE. While they have different radio bands assigned, that would make it easier to ship one device that operates on the two largest networks in the United States. Then things will get interesting. I predict that is when when iPhone will come to Verizon.

May
6th
Thu
permalink
Apr
26th
Mon
permalink