Noblesse Oblige

App/iOS/Android/Unity/cocos2d/VR/GameJam/Hackathon/肉 ブログの記事は勉強会の書きなぐりメモが多め

potatotips #24

potatotips.connpass.com

iOSでテーマ機能を実装した時のTips

  • @sagaraya
  • GoodPach swift

  • テーマ機能とはラインの着せ替え機能みたいなもの

  • SwiftでUIAppearance
    • 基本的には普通に使える
    • カスタムクラスはdynamicで
  • 切り替え時の実装
    • appearanceを設定するだけでは変わらないwindowのsubviewを全部貼り直す必要がある
  • UIAppearanceはすべてのプロパティに使えるわけで逢はない
    • UI_APPEARANCE_SELECTORがついているプロパティしか使えない
    • 未対応プロオアティでも見た目が変わることはあるが、クラッシュすることがある
  • tableViewのbackgroundViewに別のviewを設定するとある画面の繊維時にフリーズ
  • tableViewのseparactorColorにpatternImageを設定したらクラッシュ
    • 間に1枚カスタムクラス挟むと治る
  • 結論:UIAppearance使わないほうが良いのでは。。。。

tvOSでWebSocketを使う

  • @tomzoh
  • デジタルサーカス CTO
  • iOSアプリ開発ウェブサイト開発

  • アプリからサーバーに動画登録

    • apptvでurl取得して動画姿勢
    • ここで何を使うかの話
  • WebAPI
    • get/postでリクエストしてsonでレスポンスを受ける
    • 数秒に1回とか取りに行く?
      • ちょっとなぁ、、、
  • リアルタイムにしたい
  • APNs
    • いわゆるプッシュ通知
    • チャットアプリみたいなので使ったことあり
    • リルタイム通信の定番
    • tvOSでもデバイストークン取れた!
    • けど通知は届かない。。。
    • 不採用
  • WebSocket
    • 双方向通信プロトコル
    • リアルタイムで双方向通信が可能
    • tvOSで使えるライブラリないかなぁ
  • 探してみた
    • Storescream
      • あった!
      • Pure Swift
      • 採用!
      • 簡単!
  • デモ
    • なんかよさげだった
    • ホームパーティで使いたいらしい

Google Fit

  • FNC
  • @neonankichi

  • Googleフィットの全体像を学んで欲しい

  • Googleフィットとは
  • どのように機能しているのか
    • Google Fitness Storeてのがある
    • そこ叩いたらデータいろいろいじれる
  • Google Fit API
    • Sensor
      • 加速度センサー
    • Record
      • センサーから撮ったデータを保存する
    • History
      • 溜まったデータに対して操作する
    • Session
      • セッション
    • Other(BLE...)
  • データタイプが3つある
    • public data type
      • ヘルスデータ
    • private custom data type
      • アプリ独自のデータ
    • shareable data type
      • privateのオープン版
      • googleの許可が必要
        • nikeとaddidasしかもってない
  • 後で資料共有するらしい

iOS7をサポート対象外にして開発を健全化する

  • Fablic
  • @shobyなんたら

  • iOS7に苦しんでないですか

    • 今は負債!
    • 捨てよう!
  • iOS7の負債化
    • swiftでcocoapodsでcarthageが使えない
    • coolなあたらしいライブラリが使えない
    • UIAlertControllerが使えない
    • Photos Frameworksが使えない
    • 今のシェア 8%以下
  • サポート対象外にするには?
    • ユーザーにアップデート促す
      • 更新できないのはiphone4のみ
      • ほとんどのユーザーはやってないだけ
      • 丁寧にアップデートの方法を伝えましょう!
    • 最終五感バージョンを提供する
      • 互換性のある最終バージョンを提供し続けることができる
      • DL済みのユーザーは消しても咲い DL可能
      • 新規インストールできない
  • サポート対象外にした事例
  • 次はあなたのアプリかも!?
  • まとめ
    • 開発における負債になっている!
    • シェア8%!
    • 最終五感バージョンを提供!
    • 対象外アプリ増えてるよ!

Analytics

  • Drivemode, inc

  • 取ると良いなぁというデータを教える

    • SDKいれてデータ取ったとしても良いデータを採らないと意味がない!
  • Sign in screen
    • Sign in button clicked
      • Authorization
  • サインインのボタンをおすところで50%減っている
    • スクリーンの向きに問題があるのでは!?
  • Tips
    • app version
    • version number
    • sha1
    • unique install id
    • app settings
    • blue tooth
    • device brand
    • has nfc
    • os version
    • ,,,,
  • Useful links
    • Device Year class
    • puree
    • mixpanel
  • 後で共有されるらしい

9patchの異常な仕様

  • daagge
  • Quipper

  • 9Patch便利ですよね

    • 上下左右に伸びる
    • 9分割じゃなくても大丈夫
    • padding areaも指定できる
  • でも
    • メンテめんどくさい
    • デッザイナー様から承った絵をいじるの怖い
      • でもデザイナー9ぱっちわからん
    • エディター使いにくい
      • チマチマした作業こわい
    • dpiごとに必要
    • バリエーションごとに必要
      • ボタンだとクリックしたらかわるからそれがひつよう
    • テストが面倒
      • すべてのバリエーション・DPIで試さないと
    • やってられない
  • プラグイン作った
    • gradle-android-9patch-plugin
    • コードでかける
    • すべてのバリエーション・dpiに点を打ってくれる
    • 複数の画像を一気にできる