Home > iPhone > iPhone gdata-objectivec-client でYouTubeへ動画をアップ

iPhone gdata-objectivec-client でYouTubeへ動画をアップ

  • Posted by: goron
  • 2010年8月31日 21:49
  • iPhone

iPhoneアプリからYouTubeへの動画アップを実装しました。
その際、かなりつまずいたので解決策をメモしておきます。

つまづいたポイント


  1. YouTubeアカウント ID&PWが通らない

  2. アップロード中、エラーで中断する

まず、gdata-objectivec-client ライブラリは下記からDLしてください。
http://code.google.com/p/gdata-objectivec-client/

ビルドするのにかなりつまづきました。
ビルドは下記を参考にしました。
Google Data API クライアントライブラリのビルド

その他、基本的なことはgdata-objectivec-client に入っている。
Examples/YouTubeSampleを参照してください。


1.YouTubeアカウント ID&PWが通らない
ある特定のYouTubeアカウントだとなぜか通らないことがあります。

問題は、サンプルの
YouTubeSampleWindowController.m
- (void)uploadVideoFile;

NSString *username = [mUsernameField stringValue];
NSString *clientID = [mClientIDField stringValue];
NSURL *url = [GDataServiceGoogleYouTube youTubeUploadURLForUserID:username  clientID:clientID];

サンプルの通りだとエラーになるアカウントがあります。
これを、

NSURL *url = [GDataServiceGoogleYouTube youTubeUploadURLForUserID:@"default" clientID:@""];

usernameを使わずに@"default"にすると問題は解決されました。

以下参考:
http://code.google.com/p/gdata-objectivec-client/issues/detail?id=22


2.アップロード中、エラーで中断する
次に、何のタイミングでエラーが起きているのかは不明なのですが、
アップロード中に突然中断してしまい、localizedDescriptionには Cannot allocate memory というエラーメッセージがサーバから戻ってくることがありました。
また、NSErrorFailingURLStringKeyにはresume用のアドレスが戻ってきます。
今回検証していて上記のエラー頻発したのは、3GS iOS4でした。(でも3G 3.1.3ではほとんど起きなかった!?)
メッセージの通りメモリか、と。しかし対処法が無いと途方に暮れていたのですが、何とか解決できました。

やはりポイントは
YouTubeSampleWindowController.m
- (void)uploadVideoFile; 内の

サンプルではアップロードする動画ファイルを下記で行っています。


NSData *data = [NSData dataWithContentsOfFile:path];

どうも、これだとメモリを食うらしく、上記を

NSData *data = [NSData dataWithContentsOfMappedFile:path];

にしてやれば、上記のエラーは出なくなりました。
アップロードもどんなに時間がかかっても最後まで無事にできるようになりました。

かなり、ネット上でも情報が乏しかったので、大変でしたが何とか解決出来て良かったです。
また誰かのお役に立てればと思います。


Clip to Evernote

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://www.hirano-dept.com/mt/mt-tb.cgi/105
Listed below are links to weblogs that reference
iPhone gdata-objectivec-client でYouTubeへ動画をアップ from 袖触れ合うも多少の縁

Home > iPhone > iPhone gdata-objectivec-client でYouTubeへ動画をアップ

Profile

iPhone/iPad開発 web制作:平野百貨店
iPhone/iPad開発・web制作・映像制作をしている平野百貨店の店長個人の覚書です。
ご意見・ご感想などお問合せはコチラからどうぞ。

※最近ツッコミをもらうので一応書いておきます。ブログのタイトル「袖触れ合うも多少の縁」はわざとです。正確には「袖振り合うも多生の縁」が正解です。

Search
iPhone Apps






RSS
リンク
のこぎりそうの日記

Return to page top