普段は Tweetbot を使っているので気づかなかったのですが、どうやら最新版の Twitter for iPhone では画像の投稿が行えないようです。ただし、Twitterにはアップロードできるようで、OAuth Echo を使用しているサードパーティ製の画像サービス(TwitPic, yFrog, pckles, Lockerz等)には認証エラーやCould not post image. エラーがでるようです。
概要
具体的には
{"error":"Could not authenticate with OAuth.","request":"\/1\/account\/verify_credentials.json"}
のようなエラーが返ってきます。これはTwitterクライアントアプリが画像サービスに渡すはずの「X-Verify-Credentials-Authorization」ヘッダに含まれていなければいけない「oauth_token」がなぜか含まれていないためです。
正しいヘッダ
OAuth realm="*", oauth_consumer_key="********************", oauth_nonce="E5838B50-8CD5-462C-83CD-2D7801CE2C60", oauth_signature="4Um07ZbRWanigHtFIhHgHrKi26Y%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1318697673", oauth_token="16011227-KoLnPvCRmidymoza2Y4XUjthYP4whSxk8zS9aQO4R", oauth_version="1.0"
誤ったヘッダ
(今回のTwitter for iPhoneが渡してくるX-Verify-Credentials-Authorizationヘッダ)
OAuth oauth_timestamp="1318697767", oauth_nonce="02EA6064-DA67-4C0E-9B4F-29D43BA6E4BD", oauth_version="1.0", oauth_consumer_key="**********************", oauth_signature_method="HMAC-SHA1", oauth_signature="0eJ%2BeWQg41DzcIIP1mzujr0FLUY%3D"
上記の誤ったヘッダには「oauth_token」が含まれておらず、https://api.twitter.com/1/account/verify_credentials.jsonに渡した際にエラーとなります。
これについてはTwitter側でアプリを修正するほか解決策はありませんのでもうしばらく待ってみるしかなさそうです。