yidev 第十四回勉強会で発表してきたよ
今日は、横浜・馬車道で開催された yidev 勉強会に参加してきました。
これまでも、yidevの勉強会には何度か参加させて頂いたのですが、今回は初めて発表者として参加させて頂きました。めちゃくちゃ緊張しましたが、とても良い経験になりました!
というわけで、以下、簡単なメモになります。
Dynamic Typeの基本的なお話
発表者:@koogawa ※私です
- 概要
- 実装方法
- フォントサイズではなくテキストスタイルで指定する
- UIFontTextStyleHeadline などを指定できる
- サイズ・書体などはOS側で動的に調整してくれる
- Storyboardでも設定可能
- 文字サイズの設定変更はアプリ側で監視する必要がある
- UIContentSizeCategoryDidChangeNotificationを監視すれば良い
- ユーザの反応
- 文字サイズの設定がインストールしているアプリ全体に影響してしまうため不評だった
- OSの設定画面から変更できることに気付かないユーザも多かった
- ユーザにあまり浸透していない印象
- まとめ
- 浸透するまではアプリ内で文字サイズを設定できたほうが良いかも
- Dynamic Type使うならユーザにちゃんとガイダンスする
せっかくなので、発表してみて嬉しかったことをメモしてみます。
- 発表中、みんなメモを取ってくれてて感動した
- 相槌をうってくれると安心する
- 質問してくれると嬉しい
- 答えられない質問を受けたとき、@k_katsumi さんがフォローしてくれた!
NSInvocationについて
発表者:@saku2sakuさん(Retty株式会社iPhoneアプリ、とんかつ担当)
サンプルコード:NSInvocationSample.zip
- NSInvocationって?
- メソッドをシグニチャからコールする仕組み
- リーダブルコードいいよ
- NSInvocationでの呼び出しを経験しよう!
- クラスメソッドを呼んでみよう!
- 引数を渡してみよう!
- 引数設定の際のインデックスは2はじまり
- 0インデックスには self が入っているっぽい
- 返り値を取得してみよう!
- 戻り値は getReturnValue 使う
- 最後の難関
- まとめ
- 使うシーンは限られているはず
- アルゴリズムを見なおした上、用法用量を守ってお使いください
- リーダブルコード!!!
最近、テストコード環境どんなかんじですか?ぼくはこんなかんじです。
発表者:@tokoromさん
- 「Downloadable Storyboardを発表予定でしたが、飽きたので今日はテストの話をします」
- 前提条件
- 標準のXCTestフレームワークを使う
- Command + U でテスト実行&Xcode単体でもテスト結果が確認できること
- この範囲で外部ライブラリの利用を許容
- 非同期処理のテスト
- GHUnit
- 2年前くらいはデファクトスタンダード
- 更新止まっちゃってた
- 現在は x2on さんが頑張ってくれてる
- matcher
- XCTAssertsでもなんとかなりそう
- Expectaが好き
- その他つかてってる
- OCMock
- OHHTTPStubs
- CUI & Guard
- Guardめっちゃいいよ
- 画面を2分割して、左はvimで開発しながら、右でguard動かしてる
- コードカバレッジ
- CI
NSURLSessionとか
発表者:@cqa02303さん
- NSURLSession
JavaScriptCoreについて
発表者:@k_katsumiさん
- iOS 7から追加になったJavaScriptCore
- Objective-C から JavaScript が呼べるようになった(逆も可)
- JSで実装済みのライブラリをそのまま使えるよ
- 使い方
- JSContext *context = [[JSContext alloc] init] // コンテキスト作る
- [context evaluateScript:@"(javascript文)"]; // JSを評価
- JSValue *func = context[@"hogeMethod"] // パーサーメソッド取得(ラップされてるけど実態はJS)
- [func callWithArgument:@[a, b, c]] // でメソッド呼び出せる
- [parser invokeMethod:@"parse" withArgument:@[text]] みたいな感じでJSメソッドを指定もできる。引数は配列で渡す
会社をやめて独立したらすること。他
発表者:@nagamatsumasatoさん
大変貴重なお話をお聞きすることができました(メモは自粛)
iBeaconについて
発表者:@noliliさん
iBeacon #yidev from nolili
- はじめに
- 今日はなんと岐阜から参加!
- 会社でARARTアプリ作ってます
- 個人でもBloomclockというアプリを作ってる
- iOSの教科書というブックも出してる
- iBeacon
- お店に置かれてるビーコンにはすべてUUIDが振られている
- iPhoneがどのビーコンの近くにいるかわかる
- AirLocate というAppleの良いサンプルがある(要Devleperアカウント)
- ResionMonitoring
- 指定したリージョンに入ったら教えてくれる
- 出た時も教えてくれるけど、30秒ぐらいかかるよ
- CLRegionStateでリージョン内にいるのか外なのかわかる
- Ranging
- ビーコンとの距離がわかる
- Unknown, Immediate, Far などの値で返ってくる
- Estimote はもう売り切れてて買えない
- ただし、さっきこの勉強会会場でEstimoteが反応した
- PassbookをiBeaconと連携させるデモ!おもしろい