タグ

ブックマーク / qiita.com/kazu0620 (5)

  • [iOS]RealmのモデルクラスのプロパティにCGFloatを指定してはいけない - Qiita

    この投稿は Sansan Advent Calendar 2015 の 7 日目の記事です。 突然のクラッシュ とあるバージョンをリリース後に、突如下記の様なクラッシュがクラッシュレポートに出現。さらにリリースから数日後、このクラッシュが怒涛の如く増加した。 Fatal Exception: RLMException Migration is required for object type 'XXXXX' due to the following errors: - Property types for 'XXXXX' property do not match. Old type 'float', new type 'double'. - Property types for 'XXXXX' property do not match. Old type 'float', new ty

    [iOS]RealmのモデルクラスのプロパティにCGFloatを指定してはいけない - Qiita
  • iOS版 Timecopで快適なタイムトラベルに旅立つ。あるいはユニットテストについて。 - Qiita

    時間に関する処理は、ユニットテスト作成のチャンス (前置き)クライアントサイドの処理のユニットテストは、UIが絡む部分が多い、クライアント側では状態を持たずにサーバーサイドから受け取ったデータを描画するだけの実装になっていることが多い、などの理由からテストを書いても短期的にはペイしないことが多い気がします(もちろん、長期的にはペイする可能性が高いし極力テストを書けるなら書くべきだと思う)。しなしながらそんな中でも、時間に関する処理については、下記の理由でユニットテストが短期的にもペイする可能性が高いように思います。 デバッグするコストが大きい(端末時間やサーバーサイドの返り値を変更し、状態を再現する必要がある) 上記のため、何らかの修正で問題が発生したとしても気付くことが比較的難しい 例えばですがよくあるのは端末に一定時間の間だけ情報をキャッシュしたいといった場合や、特定の期間(季節モノの

    iOS版 Timecopで快適なタイムトラベルに旅立つ。あるいはユニットテストについて。 - Qiita
  • [iOS]端末の時間を進めることによるチート(不正行為)の現状と、それをお手軽に防ぐ方法 - Qiita

    端末時間を進めることによるチートの現状 iPhoneでは、ユーザーは端末時間の変更を設定アプリから簡単に行うことが出来ます。これはこれで便利な機能なのですが、例えば時間の経過が重要な要素となるゲームなどでは、この機能を利用することによりチート(ズル)を行うことが出来ます。 いわゆるソーシャルゲームの場合、基的にサーバーと通信することが前提となっているため、端末の時刻に依存しない仕様となっているか、時刻の設定が不正だった場合には警告を出す、という仕様になっているものがほとんどです。 しかしながら、いわゆる進化系ゲームなどに見られるような個人開発のカジュアルゲームでは、チート対策が行われていないことがほとんどであるように思います。もちろんあえて実装してないというパターンもあるのだとは思いますが、サーバーとの通信処理等も必要となるため、小規模なアプリや個人開発アプリでは、実装コストを考えて対応

    [iOS]端末の時間を進めることによるチート(不正行為)の現状と、それをお手軽に防ぐ方法 - Qiita
  • [iOS]アプリに強制アップデート機能を導入すべき理由と、簡単に実装する方法 - Qiita

    強制アップデートとは? 多くのアプリを利用されている方でしたら、何度か下記の画像のようなアラートでアップデートを促されたことがあるかと思います。このアラートは閉じるボタンが存在せず、「AppStoreへ」のボタンしか存在しないため、ユーザーにはアプリを操作するためにはアプリをアップデートする以外に選択肢がありません。この記事では、この様なアラートをアプリ起動時に表示する機能を強制アップデート機能と呼び、なぜそれが必要なのかと、たった3行でこの機能を導入できるライブラリについて記述します。 なぜ強制アップデートが必要なのか? iOS7以降、自動アップデート機能は追加されたもののもちろん全てのユーザーがそれを利用しているわけではありません。中には、リリースから半年以上経過しても初期バージョンを利用し続けるユーザーの方もいます。では、この様に古いバージョンを利用しているユーザーも多くいる状態で、

    [iOS]アプリに強制アップデート機能を導入すべき理由と、簡単に実装する方法 - Qiita
  • [iOS]CoreAnimationでお手軽にシーケンシャルなアニメーションを実装する - Qiita

    はじめに 説明すること アニメーションを順次再生するのに便利っぽいカテゴリを作ったので、そのご紹介をしつつシーケンシャルなアニメーションをどう実装するかについて説明します。 説明しないこと ここではCoreAnimationとかCABasicAnimation自体の説明はしてないので、そもそもアニメーション自体どうやって実装するの?って場合はまず以下の様な記事を読んでみると参考になると思います。 Objective-Cでアニメーションまとめ http://qiita.com/edo_m18/items/8064a9c0102aac5ab415#2-4 Core Animation 中級編 http://qiita.com/inamiy/items/bdc0eb403852178c4ea7 beginTimeを良きにはからってくれるやつを作った 結論から言うと、CABasicAnimatio

    [iOS]CoreAnimationでお手軽にシーケンシャルなアニメーションを実装する - Qiita
  • 1