URL の分かっているALAssetをキューの流れを崩さずに取得する方法

このエントリーをはてなブックマークに追加
はてなブックマーク - URL の分かっているALAssetをキューの流れを崩さずに取得する方法

iOS4でiOS SDKにも追加されたBlocksは、いまでは多くのiOS標準ライブラリで使われています。バックグラウンドで作業を行わせて、作業が終わったときのコールバックや結果を取得する事が出来ます。確かに、スムーズなUIを実現するのに便利なのですが、ときどき、プログラムの流れを崩したくないので、順序立てて動作してほしいと思うときがありますね。例えば、ALAssetで画像を取得するときも、画像を順番にアップロードしたいなどの要望があります。そのときにALAssetをsyncronizeに取得するメソッドを書きました。

「iPhoneアプリ開発エキスパートガイド iOS 6対応」を執筆しました

このエントリーをはてなブックマークに追加
はてなブックマーク - 「iPhoneアプリ開発エキスパートガイド iOS 6対応」を執筆しました

追記 2013/3/21:詳細の目次情報を別エントリに追加しました。「iPhoneアプリ開発エキスパートガイド iOS 6対応」詳細目次の紹介 | Zero4Racer PRO Developer’s Blog

iPhoneアプリ開発エキスパートガイド iOS 6対応

長い執筆期間が終わってもう少しで発売になります。わたしを含むiOS5プログラミングブックの執筆陣による、iOS6の最新機能を含む活用方法が書かれた書籍です。

Amazonからの内容紹介と目次はこちらです。

自宅オフィス作り進捗ーThunderbolt”代替”ディスプレイを4万で買いました

このエントリーをはてなブックマークに追加
はてなブックマーク - 自宅オフィス作り進捗ーThunderbolt”代替”ディスプレイを4万で買いました

自宅オフィス
自宅オフィス

1月に引っ越して実家のある福岡に帰ってきました。以前も自宅オフィスの記事を書いて好評だったのでまたまたシェアしたいと思います。
自宅作業が多い方にオススメ!IKEA で作った快適自宅オフィス | Zero4Racer PRO Developer’s Blog

iOS6 でのタイムアウト挙動の改善とAFNetworkingでのタイムアウトの設定方法

このエントリーをはてなブックマークに追加
はてなブックマーク - iOS6 でのタイムアウト挙動の改善とAFNetworkingでのタイムアウトの設定方法

備忘として記録しときます。iOSでNSURLRequestを使用して、PostでPostBodyを設定したときに、timeoutIntervalを設定たらタイムアウトが240秒固定になってしまう以下に設定出来ない仕様(バグ)があったのですが、iOS6では改善されているようです。ちなみに標準のタイムアウトは60秒です。
iphone – NSURLConnection timeout? – Stack Overflow
それをふまえて、AFNetworking でのタイムアウトの設定方法です。

グランドキャニオンHDR壁紙を公開

このエントリーをはてなブックマークに追加
はてなブックマーク - グランドキャニオンHDR壁紙を公開

Twitter の プロファイル写真を変えるときに、グランドキャニオンでとったHDR写真をプロファイル写真のバックグラウンドにしてみました。

iPhone 4Sの壁紙にしたらこんな感じ
iPhone 4Sの壁紙にしたらこんな感じ

グランドキャニオンの景色がとても好きで、いつも行くたび”おお!すげー”となるのですが、写真で見るとそれなりにしか見えず、感動が薄れてしまいます。それでHDR写真加工をして、すごい感じを出してみました。HDR写真については、以下のWikipediaで説明されています。

ハイダイナミックレンジ合成(ハイダイナミックレンジごうせい、英語:high dynamic range imaging、略称:HDRI、HDR)、とは、通常の写真技法に比べてより幅広いダイナミックレンジを表現するための写真技法の一種。
例えば風景のダイナミックレンジ(最も明るい部分と最も暗い部分の明暗の比)は広く、しばしばコントラスト比100000:1を軽く超える。フィルムやCMOSイメージセンサなどの一般的な記録手段のダイナミックレンジは狭く、せいぜい11段、すなわちコントラスト比2000:1程度しかない。[1]。 また、一般的なモニタのコントラスト比も1000:1程度である。[2]そのため、現実の風景などの持つ広いダイナミックレンジをそのまま記録、表示することができない場合がある。
そこで、非常に大きなコントラストの元画像(現実)を、1000:1程度のコントラストになるように、コントラストを落とした画像に変換するのが、ハイダイナミックレンジ合成である。それは、新画像のコントラストを圧縮することで、元画像(現実)の広いコントラストを収納することを意味する。それができない場合には、元画像(現実)における明暗の一部が収納されずに、つぶれてしまうことになる。
つまり、ハイダイナミックレンジ合成は、幅広いダイナミックレンジを記録、表示するために開発された画像合成手法である。

4歳のこどもが遊んでるiPadアプリ、子ども”と”遊べるiPadアプリ

このエントリーをはてなブックマークに追加
はてなブックマーク - 4歳のこどもが遊んでるiPadアプリ、子ども”と”遊べるiPadアプリ

うちの子(最近4歳になった)も、他の子どもたちと違わず、iPadを渡したらいつまでも遊んでいます。あまり長く遊びすぎると目が悪くなったりするのが心配なので、大体一日1回から2回、30分から1時間にとどめるようにしています。英語ネイティブなので、ちょっと日本の子たちと遊ぶアプリが違うかもしれません。

Objective-C の instancetype キーワードが面白い + typeof(self)の考察

このエントリーをはてなブックマークに追加
はてなブックマーク - Objective-C の instancetype キーワードが面白い + typeof(self)の考察

Appleのサンプルコード、iAdSuite を見ていたら見慣れない表現が出てきたので、調べて見ました。

@implementation TextViewController

- (instancetype)init
{
self = [super initWithNibName:@"TextViewController" bundle:nil];
if (self) {
//...
}
return self;
}

こんな感じ、”- (instancetype)init”と書いているのを見て、なんで”-(id) init”じゃないのかなと思いました。

iAd, AdMobを表示できるJTCAdBaseViewControllerをiOS6対応

このエントリーをはてなブックマークに追加
はてなブックマーク - iAd, AdMobを表示できるJTCAdBaseViewControllerをiOS6対応

tomohisa/JTCAdBaseViewController · GitHub
自作の広告表示ライブラリです。主な機能としては、

  • 上下自由に広告を配置
  • コンテンツViewControllerのサイズを、広告によって自動選択
  • BOOLプロパティで、広告のオンオフをアクティブに設定可能
  • Admob, iAdの優先順位(初期表示)を設定可能
  • AdMob, iAd表示エラーが出たらもう一方に切り替え可能
  • 回転にも対応

というものです。

[OSX] “このアプリケーションで開く”のアプリの重複を一発で修復するコマンド

このエントリーをはてなブックマークに追加
はてなブックマーク - [OSX] “このアプリケーションで開く”のアプリの重複を一発で修復するコマンド

このアプリケーションで開く
忘れないように記録しときます。
Design matters: Fixing double entries in “Open with” menu under Mac OS X こちらのリンクその他いくつかのリンクで紹介されていました。