6/30 WWDC16. Meetupに参加してきました
WWDC16. Meetup @Wantedly with 日本経済新聞社というイベントに参加してきましたのでその様子を書きます。スライド資料が公開されている発表は軽めに、公開されていない発表は細かめに書いていきます。
※この記事は発表者が話されていたこと、及びネット上に掲載されている情報に基づいて書いています。
Keynote
「WWDC期間中を現地でEnjoyするために私がやってきた5つのこと」Yoshida Taketo氏
- Keynote
- 朝3時くらいから並んだ。結構前の方だった。
- keynoteを待つ上で必要なもの
- ウィンドブレーカー(夜は寒い)
- 折りたたみ椅子
- 話し相手
- 早く行っても前の方は関係者の人が座っている
- 早く並んでいくのは一種のお祭り
- Platforms State of the Union
- 開発者向けの新機能の詳解
- 明日どのsessionに行くかの鍵になる
- sessionはどのように見るか
- sessionには命名規則があるのでそれを参考に
- 自分が関わっている分野のところから
- Protocol and Value Oriented Programming in UIKit Apps
- アプリのサンプルとスライドを照らしあわせながら見ると良い
- Iterative UI Design
- プロダクトをどう作っていくか
- 上流工程からどう作っていくか
- 英語のリスニングに不安のある方
- ASCIIwwdcにtranscriptが載っている
- session動画でも字幕付きのものもある
- sessionのまとめを掲載しているサイトもある
- Labs
- Appleの中の人と直接コミュニケーションが取れる
- sessionで疑問に思ったことを聞く
- おすすめのLab
- 過ごし方まとめ
- keynoteで大まかに機能を把握
- 疑問に思ったことをsessionを確認
- 良い席を確保すること(席によっては見えない)
- 席によってはLive配信で見ても
- WWDC期間中は現地でイベントが開かれていることが多い
- 現地は物価が高いのでmeetupで夜ご飯を食べるのも一つの手
- ↑realm, メルカリが主催しているものがあったり
私はWWDCに行ったことはありませんが、この発表を聞いてWWDCがどんなものなのかのイメージが結構思い描けました。ありがたい。
sessionの命名規則については6/27に開催されたWWDC16情報共有会で発表されていたとのことで、おそらくこのスライドのことではないかと。
LT
「iOS10で使えるようになるSiriKitじゃないSpeech.frameworkについて」Imajo Yoshinori氏
- iOS10でSiriを開発者が自由に使えるようになったと勘違いするような報道
- Siriに関連しているもの
- SiriKitとは
- Siriからエクステンションでアプリの機能を呼び出す機能
- Intents.framework と IntentsUI.frameworkからなる
- SiriKitというフレームワークはない
- SpeeckFramework
使い方や図表、音声認識アプリ作成時のTipsなどはimajoさんのスライドをご参照ください。
Siriを自由に使えるようになったのかと一瞬思いましたがちょっと残念ですよね。。。ただSpeeckFrameworkをいじくるのは楽しそうだなと思いました。
「Measurements & Units」Tominaga Ken氏
www.slideshare.net
- Measurements and Units
- 単位を表すUnitとその量を表すMeasurement
- 数量と単位の扱いを楽にする
- ライフログ、ワークアウト系で使ったり
- Properties of a Unit
- 同一次元内では等価な変換をすることができる
- Dimension
- 単位の種類を表す
- Custom Unit
- 独自に単位を定義することもできる
実際に単位をカスタムした時のコードなどが載っているので興味がある人はぜひスライドを見るべきだと思います。
私はこのへんの話題については全く知らなかったので勉強になりました。。。
「Xcode8から始めるUIテスト」Akama Natsuki氏
- UITest
- WWDC2015で発表された
- 導入コストが低い
- IOS9から
- UIRecording
- シミュレータで操作するとコードに反映される
- xcodebuildの新しいオプション
- 特定のケースのみ実行(orスキップ)
- ランダムスモークテスト
- プリコンパイルして、パラレル的に実行して時間短縮
- シミュレータ複数起動
- Facebookが作っているライブラリ
- FBSimulatorControl
xcodebuildの具体的なオプション名については書き起こしが追いつきませんでした。。。このsessionで話されているそうなので興味のある方はこちらを。
シミュレータを複数起動できるライブラリは知らなかったし衝撃的だったのでちゃんと調べてみたいと思います。
「In-App Purchase / Subscription with StoreKit」Shoji Keisuke氏
- In-App Purchase
- LINEのコイン、広告非表示オプションなど
- Auto-renewable subscriptions
- 開発者の売上配分がアップ
- カテゴリ制限の廃止
- 今までコンテンツがアップデートされるようなものしか自動課金が認められてなかった
- Subscription Groups
- grade分けられるようになった(ゴールドプラン的な)
- AppStoreアプリ内で自分で任意のプランに変更可能
- Customer Retension
- 値上げした場合、AppStoreからPush通知が来るように
- 今までは値上げすると全ユーザに対して影響していた
- が、既に購入した人は今まで通りの値段で、ができるように
- Using store Kit for In-App Purchases with Swift3
- この動画見なくていい
- iOS10になっても購入フローは変わらない
- Receipt Validation
- StoreKitで購入完了後AppStoreから受け取れるレシート情報
- アプリ内で検証…✕
- OSSは使っちゃいけない(みんな同じの使ったらセキュリティ・ホールになる)
- サーバサイドで検証…こっちがおすすめ
- おすすめ=SwiftyStoreKit
私は個人でアプリを作ってないのでアレですが作っている人にとってはこの変更は大きいですよね。
「Value Typesから見るWWDC16」 Shinichi Goto氏
- MVCアプリケーションにおけるValue Types
- 今日話すのはViewでStructでのレイアウト処理について
- (例にて)シンプルな構造であればUITableViewCellを継承
- cellにもUIViewのどちらにも適用できる形で定義
- SKNodeを配置するにはLayoutプロトコルを用意
- Viewの生成はコスト高なのでなるべく減らした方が
- Swift3で追加されるFoundation内のValue Types
- Dateの比較が単なる比較演算子でできるように
- 型セーフの箇所が増える
Dateの比較が比較演算子で簡単に比較できるようになるというのは地味に嬉しいですね。
「Typography and Fonts と日本語フォントまわり」 Ikai Taishi氏
- SF Mono
- Xcode8のデフォルト設定に
- 日本語と組み合わせると行が太る
- Source Han Code JPだったら日本語混じってても◯
- San Francisco Fonts
- 4ファミリー
- 「UI」と付いているのはmasOS, iOS, tvOS用
- 「compact」と付いているのはwatchOS用
- 「・」が大きくなっているので意図しないことが起こるかも
- 日本語文字組み周り
「
がいい位置に来ない- 行頭調整を行う
、「
は変に間隔が空いてしまう- カーニングで調整できる
- 句読点が行頭に来れないせいで前行の末尾に変な空間ができる
- 追い出しを行う
日本語文字組みまわりについては今までまぁしょうがないよね程度で片付けていたのですが、さすが新聞社の方ですね。ここまでこだわるとは。。。勉強になりました。
「What's New in User Notifications Framework」 Ono Masayuki氏
www.slideshare.net
- Single Notification API(User Notification Framework)
- watchOS, tvOSでも1つのAPIで通知ができる
- Local, Remote通知も1つに
- Local Notification Improvement
- Local通知は3種類に
- Notification Management
- 特定の通知消す
- 一度送った通知の書き換えができる
- Notification Extensions
- Notification Service Extension
- end-to-end の暗号化が可能に
- リッチな通知に対応したい場合にも
- Notification Service Extension
- 複数OSバージョンをサポートするには
- 新しいAPIを使わない
- ラッパーライブラリを使う
補足資料としてQiitaの記事を書かれているのでもっと知りたい方はこちらを参照するといいと思います。
iOS10のNotificationに関しては私も自分が主催した勉強会でチラッと触れたのでとても興味があるところでした。この発表でさらに深く知ることができて、早くこのNotificationを使いたい気持ちが強まりました。
「iOS 10 時代のアニメーション ~UIViewPropertyAnimatorの紹介~」 Jiro Nagashima氏
- 基本的な使い方
- タイミングを表すためのクラスが1つ追加されている
- 進捗度合いの変更
- タイミング関数に従って動作を再開可能
- 逆方向へ動かす
- 方法1:一時停止してから逆に動かす
- 方法2:どうささせたまま逆方向に動かす
- 方法3:逆方向に動くアニメーションを追加する
- イージングのカスタマイズ
- 感じたこと
- インタラクティブな操作と相性が良い
- 状態の管理・操作が楽に
- イージングをより柔軟に定義可能に
アニメーションに関しての変更も今回のWWDCで個人的にかなり興味のあるところです。積極的に勉強して使っていきたいと思いました。
「Apple Security and Privacy」Caesar Wirth氏
- What makes iOS Secure
- Data Protection
- ユーザのデータは端末の中で暗号がかかっている
- パスコードを10回間違えたら解除できない
- Touch ID
- Touch IDが出る前まではロックを端末ロックをかけていたのは半分程度
- Touch IDが出てからは9割くらいロックをかけるように
- 面倒なパスワード使わせるくらいならTouch IDを使おう
- Data Protection
- Keeping your App Secure
- サード・パーティのライブラリを理解しよう
- ライブラリがセキュアじゃないことをやっている可能性も
- 例)AFNetworking。2万5千のアプリがまだ脆弱性が含まれたまま。最新にアップデートすれば大丈夫。
- App Transport Security(ATS)
- Maintaining User Privacy
- ユーザ1人1人を見るのではなく、ユーザたちが何をやっているかを見る
- 必要な情報だけを取得する
- 平均を取得するときは全体の10%くらいでいい
ATSの話についてはスライド中にもありましたが、niwatakoさんが書いた記事に詳しく説明されているので読むべきだと思いますし、これからの発表にも注目していきたいですね。
togetter
2016/06/30 WWDC16. Meetup @Wantedly with 日本経済新聞社 #wwdc16_meetup - Togetterまとめ
この勉強会に関する他の記事
主催のWantedlyさんが記事を書いています。
WWDC16. Meetup @Wantedly with 日本経済新聞社 を開催しました by Shinichi Goto | Wantedly, Inc.