Google Play Services for iOSChocolate Sweeper でユーザーデータをバックアップ(機種変更時のデータ移行用)するのに使ってるんですが、もうサポートを終了していて、Googleさんは新規プロジェクトでは使うなとまで言っている代物です。

以前もバージョン違いの Open SSL がリンクされちゃって課金処理がうまく行かなくなるという問題(こちら参照)があったんですが、また別のバグが発覚しました。

以前はちゃんと動いていたのに、急にクラッシュするようになったので、Google+のサービスが終了したのが原因じゃないかと思うんですが、ちゃんとは調べてません。

クラッシュした箇所はなんとstrlen関数のなか。NULLポインタにアクセスしてクラッシュしてるので strlen に NULL ポインタを渡していると思われます。

もうサポートも終了していて、ライブラリの内部で起きているので、根本的な解決は難しいところですが、とりあえず strlen でクラッシュするのは回避してみようと思い、NULL チェックをする strlen 関数を定義してみました。

そしたら、あら不思議、無事クラッシュを回避して、何事もなかったように普通に動いてくれました。めでたしめでたし。
しかし、Google Play Servicesなんて外部のサービスは使わないで、自前のサーバーでバックアップ機能を持たせた方がいいですね。

コメントを残す

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

Anti Spam Code *