プログラマメモ2 - programmer no memo2

バージョンの確認はしっかりと... - ios app 2013/09/07
2013/09/07


先月リリースした「ブルカウンター」ですが、有料でだしたのですが、作った人としては、残念なことに、一本もダウンロードされず、仕方がないので、無料にしたら、スポーツの無料で50位内に瞬間はいったのでした。

こんなアプリです。


で、ダウンロードされて、一件だけついたコメントが、落ちるということでした。


たしかにxcodeの設定ではターゲットが5.1なのですが、テストした環境の実機はios6でして、シュミレータもios6でしかやってませんでした。

というわけで、申し訳ございませんでした。

早速、シュミレータに5のバーションをインストール。
参考にした記事は以下

iosシミュレータのバージョンが6.0しかないときに前のバージョンを使いたくなったら | 日記の間 | あかつきのお宿


つぎに、シュミレーターで、動かしてみました。動かすと、ものの見事におちました。
おちた原因は2つ。

1つは、ios6から入っている、UITableのregisterClassを使っていた箇所でおちました。
ここは、

この部分は、下記のような感じで対応

#define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]
- (void)viewDidLoad
{
    [super viewDidLoad];
    if (IOS_VERSION >= 6.0) {
        [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
    }
}
とりあえず。

で、つぎの落ちた箇所の、エラーが下記。

'NSInternalInconsistencyException', reason: 'The NIB data is invalid.'
このエラーをみたとき、調査するの大変かもとびびりましたが、下記の記事にヒットして、すぐに解決できました。

EZ-NET: Autorayout のセルを iOS 5 で読み込むとエラーになる


ios6の目玉機能、autolayoutを使うという設定をしてたからでした。
※アプリでは、この機能使ってないんですが。。。

いろいろありましたが、落ちる部分だけ、さきに直して、申請しようと思います。
レビューのコメントに感謝です。





: