4 | 10月 | 2012 | HMDT Blog

カテゴリー : 2012年 10月4日

iCloudの呪い


iCloudを使おうとして開発を進めて、諸般の事情によりiCloud機能をドロップしたプロジェクトがいくつかあるんだよね。iCloudに関するソースコードは、コメントアウトして通らないようにしてある。

そんなプロジェクトのアプリをテスト中、急に動かなくなる事態が発生している。これ、固まる訳じゃなくて、動かなくなるんだけど10秒くらいすると復活する。しばらくは問題なく動いているんだけど、また急に止まってしまう。

どこで止まっているんだ、とデバッガを使って調べたところ、iCloud関係のメソッドの中でブロックされているようだ。想像するに、データにアクセスするところでiCloudサーバを調べにいっちゃってるんじゃないかと。でも、もうiCloud機能ドロップしているんで、アプリのiCloud設定も全部落としてある。それで止まっちゃっている。

呪いだ!iCloudの呪いだ!

この呪いの嫌らしいところは、ビルドのクリーンをしたり、デバイスからアプリを削除しても治らないこと。iCloudサーバにデータが残っていると、サーバに接続して同期しようとするみたい。なにせクラウドだからな!

じゃサーバのデータを削除しようか、と思ってもその手段がない。developer.cloud.comとかを使ってサーバのデータを確認すると、確かに怪しいデータが残っている。でもこれ、見るだけで削除できないんだよね。なんてこったい。

「mkinoは呪いでアプリが動かない!」

これは教会でお祓いしてもらわないとダメかもしんない。

ちなみにこの問題は、開発中に使ったアカウントでしか発生しないので、リリースする分には問題ない。あと、iOS 5でしか発生しない。iOS 6は大丈夫っぽい。iOS 6は何気にiCloudが改善されている。