ラベル iOS 7 の投稿を表示しています。 すべての投稿を表示
ラベル iOS 7 の投稿を表示しています。 すべての投稿を表示

2014年7月8日火曜日

imageIOで作ったアニメーションGIFをTwitterに投稿できるようにする

iOSでは、ImageIO.frameworkでアニメーションGIFを作成できます。
ところが、ImageIOで作成したアニメーションGIFをTwitterアプリで投稿しようとすると静止画としてしか認識してくれません。

原因を調べたところ、ImageIOで作ったアニメーションGIFは、ヘッダーに"GIF87a"と設定されていました。アニメーションGIFは"GIF89a"で拡張されたため、Twitter側で"GIF89a"でないとアニメーションGIFと認識してくれないようです。

ImageIOで作ってもブラウザやメール添付ではちゃんとアニメーションするので、ちょっと強引ですがデータ内の"GIF87a"を"GIF89a"に書き換えてみたところ、Twitterでも認識してくれるようになりました。

こんな感じで変更しました。

// ヘッダーの'7'を'9'に変更    
NSMutableData *gif89aData = [NSMutableData dataWithData:gif87Data];
char gif89a = '9';
[gif89aData replaceBytesInRange:NSMakeRange(4, 1) withBytes:&gif89a];



参考)
iOS で ImageIO を使ってアニメーションGIFファイルを生成してみる
GIFフォーマットの詳細


2013年10月18日金曜日

iOS 7で3本指でアプリ終了できない

iOS 7のマルチタスクのアプリ終了で、3本指での同時終了が出来なかった理由が判りました。
アクセシビリティのズーム機能をONにしていたためでした。
ズーム機能がONだと3本指のダブルタップで画面がズームします。これと競合していたようです。

iOS 7のMKMapViewで家の形が表示されない

問題)
 MKMapViewで表示した地図を拡大表示したときの詳細な家の形が
 iOS 6では表示されるのに、iOS 7では表示されない(@@)
原因)
 iOS 7では、
showsBuildingsというプロパティが追加になっていました。
 これをYESにすると詳細な家の形が表示されました。
 iOS 6ではプロパティなしで表示されていたものが、iOS 7では
 デフォルトがNOのプロパティになった模様です。んがぁ。
追記)
 あと、
showsPointsOfInterestというプロパティも追加されています。
 コンビニ等のランドスケープを表示します。これもデフォルトはNOです。