24/7 twenty-four seven

iOS/OS X application programing topics.

はてな touch不具合/「過去の記事を修正する」から、特定のエントリーを選択するとクラッシュする

はてな専用iPhoneアプリ、「はてな touch」をリリースしました。 - 24/7 twenty-four seven

id:kakinoshinさんから、コメントで報告をいただきました。ありがとうございます。

「過去の記事を修正する」から、特定のエントリーを選択するとクラッシュする

原因

エントリーのPermalinkに重複しているものがあると、どちらかはエントリーの内容を取得できない。
そのため、空のデータを操作しようとして、プログラムがクラッシュする。


どのようなときに、Parmalinkが重複するのかは分かりませんが、重複しているエントリーは編集画面から確認できます。
(「管理ツールトップ > 設定 > 編集設定」で見出しの時刻を「保存する」に設定している場合)

*1222714977*[iPhone][はてな touch]「はてな touch」スタートガイド(ホットエントリー機能)
*1222714977*[iPhone][はてな touch]「はてな touch」スタートガイド(Myブックマーク機能)

上記のように、記事の見出しの時刻が2つのエントリーで同じになっています。
この場合、記事のPermalinkは両方とも同じになってしまいます。


このような状態のとき、どちらかのエントリーはアクセスできず、クラッシュします。

対処方法

記事を更新して、Permalinkを付け直してください。
すでにブックマークが付いているなど、Permalinkが変えることが難しい場合は、その記事に限り「はてな touch」からのアクセスはあきらめてください。


この問題はアプリケーション側からは対処が困難ですので、修正はいたしません。
クラッシュしないような処置くらいは、対応するかもしれません。

はてなのAPIの仕様なので、アプリケーションからの対応が難しいのは変わらないのですが、結果が取れなかった場合はその日全体の日記を取得するなど、近い結果となる形に修正したいと思います。