採択
2018/09/02 10:50〜
Track C
レギュラートーク(15分)

TextKitから表現が広がる

paper_and_paper paper_and_paper

TextKitはiOS7から導入されたテキスト用のレンダリングエンジンです。これのおかげによって、低レベルのAPIを格闘することなく、開発でも難しいテキストでも比較的容易にレイアウトを描画できるようになっています。本トークでは、実際にデザイナーとあった話をもとに、文字列デザインをフォーカスして行きます。

採択
2018/09/02 11:20〜
Track A
iOSエンジニアに聞いて欲しいトーク(30分)

Swiftのジェネリクスはどうやって動いているのかコンパイラのソースから探る

omochimetaru omochimetaru

Swiftにはジェネリクスという言語機能があり、
利用時の型が不確定なコードを書くことできます。
Swiftには厳密な型システムや、余計なメタ情報を持たない値型などがあるのに、
どのようにしてジェネリクスを動作させているのでしょうか。
このトークではそれを実現する言語機能である
witness tableについて、
コンパイラのソースコードを追いながら解説します。

採択
2018/09/02 11:20〜
Track B
レギュラートーク(30分)

ライブ配信アプリのアイテム再生をMetalで実装する事になった話

noppefoxwolf noppe

DeNAのライブ配信アプリPocochaで実装した画面全体に再生されるエフェクトの実装の話をします。
iOSでは再生出来ない透過動画の再生を行う実装や、それらの実装の中で利用した巨大なシーケンス画像群の再生に最適なアーキテクチャをAPNG/WEBPなどのフォーマットやUIImageView/OpenGLES/Metalなどのパフォーマンス比較から読み解きます。

採択
2018/09/02 11:20〜
Track C
レギュラートーク(30分)

プロトコルを使って複数サービスを跨いだmusic playerを実装する

kumabook kumabook

iOSでは曲を再生する方法としてAVAudioPlayerやMediaPlayerなどがあります。しかし、それぞれのplayerごとに再生キューやライフサイクルを持っており、player間を跨いで連続再生をするのは直感的には実装できません。今回は上記2つ加えてyoutube iframe player・SpotifyPlayerのplayer間を跨いで連続再生できるmusic playerをprotocolを利用して実装した話をします。

採択
2018/09/02 12:00〜
Track E
アンカンファレンス

わいわいswiftc

@kitasuke @omochimetaru @tarunon

(概要はありません)

採択
2018/09/02 13:30〜
Track A
レギュラートーク(30分)

デバイス・OSバージョンの依存が少なく、メンテナンスしやすいビューを作る

k_katsumi Kishikawa Katsumi

iOSアプリにおいてビューに関する変更をテスト・レビューすることは負荷の高い作業のひとつです。現在のiOSアプリにおいてレイアウトのバッドプラクティスは、デバイスを判定する、contentInsetを自分で操作する、動的に制約を変更する、の3つです。このトークでは、実際のアプリのコードを用いて、壊れやすかったレイアウトを良いAutoLayoutの原則に従って修正した例を示し、堅牢でメンテナンスしやすいレイアウトとは何かを解説します。

採択
2018/09/02 13:30〜
Track B
レギュラートーク(30分)

AutoLayoutエラー診断所 ~発狂しないためのデバッグ手法~

akatsuki174 akatsuki174

「どうされましたか?」
「いろいろ頑張ってはみたんですが、うちの子全然治らないんです。顔が黄色くなったり赤くなったり、あとはいろいろ吐いてしまっていて。もうどうしたらいいのか…。」
「ふむ。デバッグ方法がわからないわけですね。症状によって見るべきポイントは異なりますし、そもそも症状は正確に判断しないといけません。私と一緒に症例とその対処方法を見てみましょう。」

キャスト
医者:私
親:開発者
子:AutoLayout

採択
2018/09/02 13:30〜
Track C
iOSエンジニアに聞いて欲しいトーク(30分)

iOSエンジニアのための、SwiftからPythonのライブラリを使って機械学習する方法

koher Yuta Koshizawa

Swift 4.2では他言語のAPIをSwiftから簡単に呼び出せるようになります。これ自体は汎用的な仕組みですが、最大の目的はSwiftからPythonの資産を活用できるようにし、Python並の機械学習を実現することのようです。日々Swiftを書いているiOSエンジニアにとってこれは大きなチャンスです。このトークではiOSエンジニアに向けて、SwiftのコードでPythonのライブラリを使って機械学習する方法を紹介します。

採択
2018/09/02 13:30〜
Track D
レギュラートーク(15分)

田舎のWebベンチャー企業にアプリ事業を持ち込んだらこーなった

yutaabe200 yutaabe200

創業2年の新潟のWeb会社に転職し、同時にアプリ事業を持ち込みました。社会人2年目のペーペーが転職と同時にアプリ文化を持ち込んだとき...いわゆる”不毛”と言われる環境下でのスタートでした。
その中でこっそり自社Webメディアを両OSアプリ化した話や、アプリ文化が無い会社組織との付き合い方、アプリに対する相場感やスキル難易度によるギャップなど、新潟のiOSエンジニアならではの苦悩を題材に地方アプリ市場の現状や未来についてお話しします。

採択
2018/09/02 13:50〜
Track D
レギュラートーク(15分)

多言語対応のススメ

Ckitakishi ikkan_chin

グローバル展開のため、多言語対応は必須です。
・構文エラーがある時、早めにエラーを見つける方法は?
・十数週類の言語の中に、まだ対応されてなかった文字列がある時、早めに見つける方法は?
・iOS 12から、多言語対応のワークフローは変わりました、どんな風に対応すべきか?
・・・

採択
2018/09/02 14:00〜
Track E
アンカンファレンス

たのしいネットワーク環境構築 初心者大カンゲイ !!

S_Shimotori_pub S_Shimotori

(概要はありません)

採択
2018/09/02 14:20〜
Track A
レギュラートーク(30分)

iOS アプリの開発速度を70%高速化したデバッグノウハウ

orga_chem Kuniwak

開発時間に占めるデバッグ時間の割合は少なくないため、この時間の短縮は開発速度を上げるためにとても重要です。この発表では、実際の中規模なアプリ開発で70%増もの開発速度向上を支えたデバッグノウハウを初心者にもわかりやすく紹介します。

このノウハウには、効果が高いデバッグの5W1Hの解説や、リビルドなしでデバッグする方法、便利なライブラリの紹介を含みます。開発速度が気になっている方はぜひ聞いてみてください!

採択
2018/09/02 14:20〜
Track B
レギュラートーク(30分)

作ってわかるレンダリングパイプライン CPUで3D描画

ta_ka_tsu Takatsu Youichi

ある人は言いました。「基本は理解・分解・再構築だ」と。

あなたは玩具や機械の仕組みを知るために分解してみたことはありませんか?
一見不思議で魔法のように見える仕組みも、基本要素に分解すれば理解しやすくなります。
そして理解したかどうか確認する最も良い手段は自分で作ってみることです。

ここでは普段Metalなどの3D描画APIがGPUで行っている処理をあえてCPUで実装し、期待通りに描画されるのかを検証してみます。

採択
2018/09/02 14:20〜
Track C
レギュラートーク(30分)

がっつりやるリアルタイムキャンペーン分析

ktsukago Tsukagoshi Keisuke

単純にプッシュを打つだけでは意味がありません。カスタマーエンゲージを目指すならばカスタマーの分析を行う必要があり、さらに言うならばリアルタイム性の高い情報を使った分析が必要となります。Amazon Pinpointを利用するとEvent Streamを利用して簡単にリアルタイム分析を行えます。本セッションではリアルタイムな分析を行うためのアーキテクチャとそれを使ったマーケティングを行うためのベストプラクティスを紹介します。

採択
2018/09/02 14:20〜
Track D
レギュラートーク(15分)

教育・企業におけるデバイス管理手法について

kenchan0130 大西 正恭

情報端末は会社にとって大切な資産であり、大切な情報も取り扱うため、適切に管理を行う必要があります。
端末管理を適切に行うことで、
・情報セキュリティ対策
・ライセンス管理
・コスト削減につながる端末の稼働状況の確認および棚卸業務の最適化
などが可能となります。

中々世に出てこないiOS(Android)のデバイスをどのように管理・運用していくと良いのかをご紹介します。

採択
2018/09/02 14:30〜
Track E
アンカンファレンス

ゲーム機のアーキテクチャを語る

hak @hak @tomzoh
hak

(概要はありません)

採択
2018/09/02 14:40〜
Track D
レギュラートーク(15分)

UIViewPropertyAnimatorで実現するリッチなアニメーション表現

hedjirog Jiro Nagashima

UIKitのアニメーション表現は、UIViewPropertyAnimatorの登場により自由度が向上しました。UIViewPropertyAnimatorを画面遷移のアニメーションに応用することで、インタラクティブなアニメーションが実現できるだけでなく、複数のアニメーションを連動させることも可能となります。このトークでは、UIViewPropertyAnimatorを利用した画面遷移のアニメーションの実装例をご紹介しします。

採択
2018/09/02 15:10〜
Track A
レギュラートーク(15分)

iOSでグラフを描くために必要な知識について

kurotyann9696 須藤将史

グラフを簡単に表示するライブラリはたくさんあります。しかし、表示したいグラフのデザインに合ったライブラリがなかったり、デザインを柔軟に変更したい理由から、グラフの表示を自作する方も多いのではないでしょうか。最近はフィンテックやライフログのサービスが注目され、グラフを表示するアプリが増えたように感じます。今回のトークでは、有名なライブラリの実装を参考にしながら、グラフの描画方法の紹介と、実務でどのように活用したのかを話します。

採択
2018/09/02 15:10〜
Track B
レギュラートーク(15分)

LLDBを最大限活用してみる。

k_miyasaka_ k_miyasaka

XCODEのデバッグ機能は便利で、スタックトレースとpoコマンドの入力だけでもゴリゴリとデバッグできる方が多くいらっしゃると思いますが、
それらはLLDBの機能の氷山の一角です。
不具合の原因検知、修正だけでなく、
リビルドせずにコンソールからUIを変更するなど新規コーディングでも活用できる方法を発表致します。

採択
2018/09/02 15:10〜
Track C
レギュラートーク(30分)

圏論とSwiftへの応用

inamiy 稲見 泰宏

圏論(カテゴリー理論)は、「対象」と対象間の「射」(関係性、構造)の集まりからなる「圏」を抽象的に扱う数学理論です。関数型プログラミングで度々登場する「モノイド」「関手」「自然変換」「モナド」の由来であり、さらには「米田の補題」「随伴」「極限」「F代数」「カン拡張」など、より高度な概念が登場します。この発表では、圏論から得られる様々な帰結について、Swiftの文法と型で分かりやすく解説していきます。