もっと、みやびちゃんぷりちー!

みやびちゃんぷりちー!

OCMailについて

現在、githubにて公開しておりますOCMailですが、色々と御意見を頂いていながら対応できていない状況です。

大変申し訳御座いません。

先月まで前職でゴタゴタして対応できなかっただけでなく、今月より職を移ってObjective-Cでの開発ができないどころか、前任者が逃げてしまい、引き継ぎもできていない案件の対応でいっぱいの状態です。

年内には着手したいと思いますので、今暫くお待ち下さい。

宜しくお願い致します。

iOS 5からのUIActivityIndicatorViewの変更

iOS 5からUIActivityIndicatorViewのサイズ指定で変更があったようです。

UIActivityIndicatorViewStyleでactivityIndicatorViewStyleを設定した際は以下のサイトで書かれている通りのサイズで従来と変わりません。

Good night, Posterous

  • UIActivityIndicatorViewStyleWhite: 21x21 px
  • UIActivityIndicatorViewStyleGray: 21x21 px
  • UIActivityIndicatorViewStyleWhiteLarge: 36x36 px

但し、上記以外で任意のサイズにする際、iOS 4までは以下のようなコードで良かったのですが、

UIActivityIndicatorView* indicator = [[UIActivityIndicatorView alloc] initWithFrame:self.view.bounds] autorelease];
indicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
indicator.frame = CGRectMake(0, 0, 50, 50);

上記コードですと、iOS 5ではインジケータのサイズがUIActivityIndicatorViewStyleWhiteLargeのままになってしまいます。

解決策としては以下のサイトを参考にすると解決します。

UIActivityIndicatorView is too large in iOS 5 · Issue #34 · myell0w/MTStatusBarOverlay · GitHub

UIActivityIndicatorView* indicator = [[UIActivityIndicatorView alloc] initWithFrame:self.view.bounds] autorelease];
indicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
[indicator.layer setValue:[NSNumber numberWithFloat:1.39f] forKeyPath:@"transform.scale"]; // 50pxに近くするため

但し、このコードですと、iOS 4で走らせた時のインジケータの表示が大きくなりすぎる問題を抱えてしまいます。

ですので、iOS 5以降か否かでインジケータのサイズ指定を変えてやります、

UIActivityIndicatorView* indicator = [[UIActivityIndicatorView alloc] initWithFrame:self.view.bounds] autorelease];
indicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
float version = [[[UIDevice currentDevice] systemVersion] floatValue]; 
if (version < 5)
    indicator.frame = CGRectMake(0, 0, 50, 50);
else
    [indicator.layer setValue:[NSNumber numberWithFloat:1.39f] forKeyPath:@"transform.scale"];

こうすれば、iOS 5以降と前でのインジケータの任意サイズ指定が可能となります。

サンプルは後程。

追伸
来月からはObjective-Cのコードを書く機会が減りそうです。
詳細は後日。

Automatic Reference Counting(ARC)

先日のiOS 5の発表でARCについても、情報が公開されたようです。

Objective-C Automatic Reference Counting (ARC) — Clang 3.9 documentation
iOS 5 公開記念! Objective-Cのメモリ管理の革命、 ARC 超入門(サンプルはgitHubに公開) |

こちらでも近いうちに検証を進めていきたいと思います・

PROGRESSIVE ROCK FES 2011/ITALIAN PROGRESSIVE ROCK FESTIVAL

先日のPROGRESSIVE ROCK FES 2011は、WishboneAsh、PFM、Kansasと素晴らしいバンドに囲まれたフェスティバルでした。
第1回に続いて、第2回にも足が運べることができたのを、感謝致します。

さて、引き続きPFMはITALIAN PROGRESSIVE ROCK FESTIVALでも来日致します。

チケット代が厳しいですが、こちらも行きたいですね。

iOS用のメールライブラリ公開(開発中)

昨日より、githubにてiOS用のメールライブラリを公開しております。

SMTP/POP3/IMAP, SMTPS/POPS/IMAPSについてOCUnitで一通りの単体テストをしておりますが、結合テストはまだ進んでいない状態です。

完成を目指していく中で、Macへの対応も進めて参りますので、宜しく御願い致します。

libEtPan! Ver1.0でのバグ

IMAPにて"SEARCH SUBJECT field"が出来ないバグがありました。

githubに修正したコードをコミットしてます。

バグは、mailimap_search_key_new_subject()で、
return mailimap_search_key_new(MAILIMAP_SEARCH_KEY_SINCE,...);
していたのが原因でした。

return mailimap_search_key_new(MAILIMAP_SEARCH_KEY_SUBJECT,...);
が正しいです。

libEtPan!でメール送受信

こっそりTwitterでも呟いておりましたが、「4. libetpanを使って作る」を現在進めております。

libEtPan!だけをiOS用にビルドできるように改良し、公開しました。
GitHub - miyabichan/libEtPan: Forked from http://sourceforge.net/projects/libetpan

smellmanさんさん
Pantomimeの検証、改修は時間のあるときになります><
すいません

追伸

こちらが気になるので渡しも読んでみようと思います。
なれる! SE 4 誰でもできる?プロジェクト管理 読了 - smellman's Broken Diary