Mail

長いので省略。私のテストではクラッシュしないのですが、他の方の場合クラッシュする事が有った様です。

メールが未読かどうかの判断は各メールファイル(拡張子が emlx)を読んでする訳です。で、その情報はファイルの最後に書かれています。XML 形式なんです。また、ファイルの最初には文字(数字)でメール部分のサイズが書かれています。まぁ全部読み込めば良いんですけど、そうすると時間が掛かるので最初のサイズを読んで XML 部分まで SEEK して読みます。ただ Mail.app の問題だと思うのですがたまにサイズが少し違う場合が有ったりします。仕方ないので実際の SEEK 位置より少し手前から最後迄読み込んでいます。

XML 部分は <XML タグを探して(後ろから)先頭を見つけ、そこから最後までを NSString の propertyList で NSDictionary としているのですが、此処で結果が nil になる場合が有った様で、これは想像して無かったのでクラッシュします。nil の場合情報が無い、と言う事で無視する事にしました。

後は SSL をサポートすれば当初の目標を達成出来るのですが、これが、また、大変そうで。今のところさっぱりです。ネットの海へ何回もダイブしますが、なかなか見つかりません。かなり先にならないと出来なさそうです。

そんな所へ或るメールが来て、なにやら「Growl をサポートしたらどうか、…」とか。
最初 Growl のサイトを見た時は、どうなるのか、と思ったんですけど。実際にやってみると思ったより少ない手間で出来ました。Growl のサポート方法は、また別の投稿にしたいと思います。まぁいつもの様に「いい加減にサポートする方法」とかになりますが。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です