iOSDC Japan 2019 プロポーザル一覧

iOSDCルーキーズLT(5分)

ハッカソンで Speech と Natural Language を使って優秀賞を取った話

だっちゃん dchn2904
先日行われた SPAJAM 2019 の 関西予選にて「Speech Framework と Natural Language Framework」をつかったアプリを作り、優秀賞を受賞しました。

初めて使った Framework。Speech と Natural Language。

初めての導入から、実装、はまりにはまった音声入力待ち状態と音声再生などをサンプルコードを交えて紹介したいと思います。
1
iOSDCルーキーズLT(5分)

SonarQubeを用いた技術的負債の可視化

しお Scior
iOSプロジェクトで使うことの出来る静的解析ツールの一つとして、SonarQubeがあります。
SonarQubeには、
・Linting
・循環的複雑度の計測
・脆弱性を含む可能性のあるコードへの指摘
・カバレッジの推移の集計
などの機能があり、これらをグラフィカルに確認することができます。
今回はCIと組み合わせる事で、継続的にコードを解析して、自動レビューなどで品質を維持する方法を紹介します。
LT(5分)

iOS 13 から始めるゲームコントローラー

x67x6fx74x6f x67x6fx74x6f
次期 iOS, macOS, tvOS の Game Controller framework から MFi の専用コントローラー以外に PlayStation4 と Xbox One のコントローラーが使用できるようになりました。

新しくなった Game Controller framework の違いと新しい機能について紹介します。
LT(5分)

先生のことをお母さんって呼んでも大丈夫。そうObjecive-Cならね

bannzai _bannzai_
日本ではほぼすべての人が義務教育期間を経て立派な大人になっていくと思います。そして、そんな意識が曖昧な期間の人々は大きな過ちを犯しがちです。そう。例えば「先生」に対して「お母さん」と呼んでしまう問題は鉄板の過ちと言えるでしょう。人間は過ちを犯すものです。脳内では「先生」と「お母さん」は区別はついているはずなのに呼び間違えてしまう事象が発生してしまいます。脳内に常にバグがあります。そんな我々が書くプログラムにおいてもそのようなバグが混在しないと言えるでしょうか?いいえ。発生しないなんて言い切れないです。特にSwiftのような実行前に厳格にチェックが入るシステムなら事故は減らすことができると思います。しかし、私達が普段扱っているのはSwiftで記述できますが、未だに@objcなどの存在がちらほら見えるUIKitやFoundationを支えているであろう Objective-C の存在を感じざるを得ません。Objective-Cでは非常に動的にメソッドを呼び出すことが可能です。これはつまり「先生」を「お母さん」と呼び間違える可能性が出てくるということです。Objective-Cの世界では「先生」に対して「お母さん」と呼び間違えたら自分が羞恥心でクラッシュします。

このトークではObjective-Cにおいて、「先生」を「お母さん」と呼び間違えてしまった場合の復帰策についてお話していきます。
1
LT(5分)

SwiftUIの今後

Ka Ryu kane_liu
今年のWWDCにてSwiftUIが発表されました。
SwiftUIを組み込んで、洗練されたアプリケーションUI構築を可能になっています。
デザインナーとの連携も容易になって、UI開発が大幅に効率化になりそうです。

今立ち上げているプロジェクトにSwiftUIを導入するかどうかを検討しています。
このトークでは、今までのUI開発とSwiftUI開発を比較し、
導入のメリットとデメリットをまとめて、SwiftUIの今後を話に行きたいと思います。
3
レギュラートーク(30分)

Bow.swiftで始めるFP入門 Tagless Finalのサンプル説明まで

嶽雅也 azarashi1229
Higher Kind Typeをサポートしたライブラリとして、Bow.swiftがあります。
SwiftでのFunctional Programingの入門についても最適であり、そちらの各種サンプルの説明やRx Swiftとの結合について話します。
また、この中でTagless Finalのサンプルもあり、こちらについてもカバーしたいと思います。

時間的に可能であれば、実際のユースケースまでカバーします。
LT(5分)

新卒がAppSyncを用いたリアルタイム更新アプリケーションの開発に配属された件

田口翔一 dokkoi_shoichi
新卒入社した会社でAppSyncを利用したリアルタイム更新アプリケーションの開発に配属されました。
AppSync?graphQLとはなんぞやというところから、
リモートのDBが更新されたらクライアントに即時リアルタイム更新を実装するまでの過程をご紹介できればと思います。

昨今アプリ開発においてリアルタイム性が重要になってきているように感じます。
しかし一定間隔でAPIを叩いたりサイレントPushを使用するのは現実的ではありません。

このトークではAppSyncを0から学び始めた知見やキャッチアップ、実装方法を共有します。
2
iOSDCルーキーズLT(5分)

iOSネイティブ開発から離れみて気づいたこと。

HONDA 1wa46
PWA, Cordova, React Native,とネイティブ開発から離れて、Web技術でアプリを作ることで得た気づきと、ネイティブで作る場合との違いについてLTします。
LT(5分)

AutoLayoutのワーニングを解消するためにやったこと

Rin Kochi chichilam86
Autolayoutを利用する際、誰でも「Unable to simultaneously satisfy constraints.Probably at least one of the constraints in the following list is one you don't want.」みたいなワーニングを一度見たことがあると思います。
複雑な画面で、誤った制約を探し出すために私がやったことを紹介します。
・Autolayoutのデバック
・chiselの導入と使い方
1
iOSDCルーキーズLT(5分)

爆速に開発するためのXcode Templateカスタマイズ

Yoshitaka Shindo shindyu
エンジニアに求められるのは圧倒的開発効率であり、そのためには日々の作業時間を如何に減らせるかが重要です。
最近のテスト・設計の議論の流れから取り入れたアーキテクチャによって、
プロジェクトにおけるモジュール作成に必要なファイル数やボイラープレートが増加していませんか?
Xcode Templateを有効に使うことで、それらを作成する時間を大幅に削減する方法を紹介します。
LT(5分)

Violet Evergardenに学ぶリモートワーク文字コミュニケーション

y.imajo yimajo
ヴァイオレット・エヴァーガーデンは、「自動手記人形」と呼ばれる手紙の代筆屋の少女を中心に繰り広げられる群像劇であり、第5回京都アニメーション大賞の大賞受賞作です。2018年1月には京都アニメーションによりアニメ化もされました。

物語は少女兵として戦うことしか知らず、人の心が理解できない主人公ヴァイオレットが戦争終結後に手紙の代筆屋として言葉を仲介する仕事を通じて人と触れ合いながら成長していくストーリーです。

現在、iOSアプリ開発をしていく我々の仕事は単にプログラミングをするだけではなく、Pull Requestのレビューを含め、様々な同僚や顧客とコミュニケーションを行って最良の手段をとることが必須となってきました。そして昨今のインターネット回線の充実によって場所を選ばない開発と相まって、コミュニケーション手段は文字コミュニケーションの比重は高くなっています。しかし、その文字コミュニケーションによって、時には人を意図せず感情的にさせてしまう。そのような問題も多くあるでしょう。

我々はそのような問題を回避するため、何を理解しようとすべきなのか、
心を伝えようともがくヴァイオレット・エヴァーガーデンに重ね学んでいきましょう。
レギュラートーク(30分)

Advanced Segue (2019年のSegue事情)

所友太 tokorom
Segueでできること、できないこと、とにかくSegue(UIStoryboardSegue)について凝縮して紹介します。
通常の使い方からUnwindSegueを使うメリット、Xcode 11から利用できるようになったIBSegueActionまで。
Segueを愛して7年の私が、これまでSegueを避けてきた皆さんにもSegueの魅力を知っていただけるようなトークができればと考えています。
6
レギュラートーク(60分)

ベジエ曲線のその先へ 〜ベジエ曲線とその拡張〜

Youichi Takatsu ta_ka_tsu
みんな大好きベジエ曲線。
とても便利なベジエ曲線。
コンピューターで計算するのに適した構造をしているため、「カタチ」を扱うアプリケーションのあらゆる分野で利用されています。

大変便利な曲線ですが、制約がある以上もちろん万能ではありません。

例えばUIBezierPathでは円弧の描画(addArc)もサポートされていますが、実は厳密には円弧はどう頑張ってもベジエ曲線で表現することはできません。
円弧を正確に表現するには有理ベジエ曲線と呼ばれる曲線に拡張する必要があります。

本セッションではまずベジエ曲線の定義から始めて、その諸性質を確認します。
そしてその拡張である有理ベジエ曲線、B-スプライン曲線、NURBSなどにおいてベジエ曲線からどのような拡張がなされているのかを見ていきます。

また、曲面への拡張についても紹介します。
3
レギュラートーク(30分)

MVVMからの脱却、RIBsアーキテクチャ採用への道のり

今入庸介 kamekiti
アーキテクチャの選定はアプリの開発・運用を行うにあたって非常に重要です。
約半年かけてMVVMからRIBsへアーキテクチャの変更を行いました。既存アプリに潜んでいた問題点や課題を始め、なぜアーキテクチャを変更する必要があったのか、どのようにしてアーキテクチャの変更を行ったのかを紹介します。
また、アーキテクチャを変更してから1年が経ち、実際に運用して得られた知見やアーキテクチャ変更時のつらみについても述べます。


【発表内容の概要】
- アーキテクチャ変更したきっかけ
- 既存の問題点
- あるべき姿
- アーキテクチャを選定する上でのポイント
- 自社アプリに最適なアーキテクチャは何か
- どのようにしてアーキテクチャの変更を行ったのか
- アーキテクチャ変更時のつらみ
- アーキテクチャを変更して得られたこと
- アーキテクチャ変更と同時に行った改善
1
レギュラートーク(30分)

みんなの知らない広告の世界

kotobuki Engyokun
アプリ開発者の収入源の1つとして重要な広告。その裏側はiOSやSwiftと同じく日々進化しています。

私が開発しているアプリでは、1つの広告SDKを使うシンプルな実装から、複数の広告SDK対応を利用する複雑な実装への切り替え、そして自社広告枠の導入と大きな変化をしてきました。

このトークでは広告導入時の悩み、原因究明が難しい広告起因のクラッシュ対応方法、適切なオプトアウトなど、広告に隠された細やかな表示制御についてお話します。
LT(5分)

Kotlin Native Multiplatform入門

Kentaro Kawakami Knschwarze
Xamarin、Flutter、React Nativeなどクロスプラットフォーム戦が激化する中で、今最もアツい(と勝手に思っている)Kotlin Native Multiplatform(MPP)の入門をiOSエンジニア視点から見てみたいと思います。

MPPの入門を実際に行い、それらから見える良いこと、他のクロスプラットフォームとの違い、iOS側の辛みやCIについてどうするのか等お話できればと思っています。
1
LT(5分)

5分でわかる!Swift PackagesのLinux対応を知ってみよう・やってみよう

Sho Ikeda(いけしょー) ikesyo
WWDC 19で発表されたXcode 11の新機能の中でもとても喜ばしいものの1つは、XcodeとSwift Package Manager(SwiftPM)の統合でしょう。これまで主にサーバーサイドSwiftやコマンドラインツールの開発でなければ使用できなかったSwift PackagesがXcodeとiOSアプリ開発で使用することができるようになったのです!言語公式のパッケージマネージャーがIDEと統合され、iOSアプリの開発にも使えるようになったのは一大事です。徐々にCocoaPodsやCarthageなどのサードパーティー製のツールを置き換えていくことや、SwiftPMに対応したライブラリが増えることが期待できます。

一方で、SwiftはLinux(Ubuntu)にも対応しており、Swift Server Work Group(SSWG)による標準化やサーバーサイド向けのライブラリーの開発も進んでいます。iOSアプリ開発向けに増えるであろうSwift PackagesをLinuxにも対応させることは、サーバーサイドSwiftを盛り上げ、Swift言語自体を盛り上げることにも繋がるはずです。

本LTでは次の内容について紹介し、Swift PackageとサーバーサイドSwiftの盛り上げに貢献したいと思います!

- Swift PackageをLinuxに対応させるためのTipsや注意点
- 手元の開発環境での動作確認
- CI環境での動作確認
1
レギュラートーク(30分)

10年モノアプリ刷新プロジェクトのお話

miki_shunsaku shun_sakuuuu
私が開発しているアプリはリリースから約10年経過している古株アプリです。
今年アプリの刷新・リアーキテクチャを行いました。
その際にシステム的にもサービス的にもより良くしていくために行った開発プロセスを公開していきます!
- 既存アプリのお話
- リアーキテクチャのお話
- デザインスプリントのお話
- CI周りのお話
- βテストのお話
2
LT(5分)

Swift CLI with Package Manager

Yutaro Muta yutailang0119
Swift Package Manager (SwiftPM) は、ついにXcode 11からIDEの機能として使えるようになります!
我々が使用しているサードパーティライブラリのいくつかは、実は既にSwiftPM対応しているものも多く存在しています。しかし、現状のCocoaPodsやCarthageに依存したプロジェクトを扱う中に、更にSwift Packageを同居させるのは少々ハードルが高く感じてしまいます。iOSやmacOS開発で使用する時が来る前の初歩として、まずはCLIツールの実例からSwiftPMを始めるきっかけにしましょう。
また、SwiftPMはOSSであり、普段の開発では触れることがないようなAPIも垣間見え、非常に魅力的なコードです。
このLTでは、SwiftPMについての概要から使用までをノンストップで説明し、SwftPMの魅力についても触れながら、チャレンジのきっかけとなるトークにしたいと思います。

- SwiftPMとは
    - Modules
    - Packages
    - Products
    - Dependencies
- 現状での制約
- CLI作成からSwiftPMにチャレンジする
    - 事始め
    - 実装におけるTips
- SwiftPMの魅力と今後
2
レギュラートーク(60分)

Auto-Renewable Subscriptionsの新しいオファー使ってますか?

m_orishi m_orishi
2019年2月にAppleがAuto-Renewable Subscriptionsの新しいオファーである「プロモーションオファー」を公開しました。
現在登録中のユーザー、または以前登録を行っていたユーザーに対して、期間限定で割引価格を提供できるというものです。

このトークでは、既存のお試しオファーと比較を行うことで、プロモーションオファーではどのようなことができるのか?をお話しします。

また、オファーを設定する際に選択することになる
・無料トライアル
・都度払い
・前払い
の3つのオファータイプについても紹介し、
これらを組み合わせて実際にユーザーに提供するにあたって発生した問題や注意点についてお話しします。
1
iosdc-japan-2018 sponsors iosdc-japan-2018 potential-sponsors 開催後請求
ブースWL
仮採択
仮採択 採択済
iosdc-japan-2018 sponsors iosdc-japan-2018 potential-sponsors 開催後請求
ブースWL
仮採択
仮採択 採択済