iOSDC Japan 2020 プロポーザル一覧

他イベントOK レギュラートーク(20分)

Core NFCの最新事情とは?

paper_and_paper paper_and_paper
iOS11から登場したCoreNFCは、遂にiOS13ではFerica などのサードパーティにも対応するようになりました。そもそもNFCとは?最新事情などについてお話できればと思います。
1
レギュラートーク(20分)

iOSアプリのバッテリー消費を意識する

Yusuke Arai arara_jp
皆さんはアプリを使っていて「このアプリを使っているとiPhoneのバッテリー消費早いな」と思ったことはありませんか?
バッテリーの消費は見落としがちな指標ですが、ユーザーにとって非常に重要な影響を及ぼします。

本セッションではバッテリー消費に関するデバッグについて紹介します。
Xcode Energy GaugesやEnergy Logsを活用しアプリの問題点を洗い出していきましょう。
3
他イベントOK LT(5分)

macOS仮想カメラ「テロップカム」実装方法とその先

服部 智 shmdevelop
Zoomをはじめとしたオンラインミーティングが活用されています。
そこで映像に様々なエフェクトを掛けるアプリを使っている方もいるのではないでしょうか。

エンジニアならば当然自作したいですよね!

macOSで仮想カメラアプリ「テロップカム」を実装しそれがインターネット放送で使用されました。

皆が面白い仮想カメラ作り出すきっかけとなる情報を共有するとと共に
さらに拡張可能な分野について熱く語ります。
1
他イベントOK LT(5分)

開発で役立ちそうなRealm.Configurationの設定集

栗山 徹 kotetu
昨年末にRealm周りの実装を変更する機会があり、その際に改めてRealmについて調べてみたところ、私が知らなかった新たな発見がありました。

特に、Realm.Configurationについては実際の開発で役立つ設定がいくつかあり、テストや複数の.realmファイルを運用する場合などに役立てることができました。

本セッションでは、自分が役に立ったと感じたRealm.Configurationの設定を実例を交えてご紹介します。
2
他イベントOK レギュラートーク(20分)

デバッグメニューのメンテナンスが大変だったので、専用アプリを作りました

FromAtom FromAtom
みなさんデバッグメニュー作っていますか?接続先のサーバーを切り替えられるようにしたり、特別な処理や表示をするための仕組みをアプリ内に実装したことがあると思います。こういった仕組みやデバッグメニューは開発中の動作検証にとても便利ですが、アプリごとに独自実装されることが多いため、使い方も実装方法もすべて異なってしまいます。これでは新しいメンバーが参加した際やQA時に毎回使い方を説明する必要があって大変ですし、各アプリでのメンテナンスコストもかさんでしまいます。

また、ユーザーが利用しない機能なので開発や改善の優先度も低くなり、気づいたら大きな負債になってしまうこともあります。負債が大きくなった結果、うっかりユーザーにもデバッグメニューが見える状態でリリースする事故がおきてしまうかもしれません。

これらの問題を解決するために、デバッグメニューを専用アプリとして切り出して管理する方法を実現しました。このトークでは、

- デバッグメニュー専用アプリを作り、対象アプリの状態を再ビルドなしで切り替える方法
- AdHoc, InHouse, SimulatorだけでなくApp Store版でも対象アプリの状態を切り替える方法
- デバッグメニュー専用アプリを作ることによるメリットとデメリット

についてお話します。
3
他イベントOK LT(5分)

わかりやすい技術記事をサクサク書くためのエッセンス

あかつき akatsuki174
皆さんは自分のブログや会社のブログに技術的な記事を書いているでしょうか?書いたことがある人はこんなことに悩まされた経験はありませんか?

・冗長な文を書いてしまってる気がする
・専門的な事柄をわかりやすく説明できているのか不安
・どんな文章構成にしたらわかりやすいのかわからない
・文章を書くのに時間がかかる

1記事書くだけでもすごく頭を使いますよね。

近年ではGoogleがテクニカルライティングの基礎講座( https://developers.google.com/tech-writing )を公開するなど、技術的な記事を書くときのスキルには注目が集まっていそうです。「テクニカルライティング」という言葉を聞くと少し構えてしまいますが、実際のところはすぐ改善できる事柄の集積です。

このトークでは、単語単位の小さなスコープの話から段落や文書単位の大きなスコープの話も含め、技術的な文章を書く上でのポイントを凝縮してお伝えします。ここで紹介するポイントを意識すれば、今までよりサクサクとわかりやすい文章が書けるようになるはず…!
2
他イベントOK LT(5分)

CryptoKitとCoreBluetoothを利用したスマートキー開発

saiten saiten
WWDC20ではAppleからCarKeyが発表され、iOSの標準機能としてiPhoneをクルマの鍵として利用できるようになりました。とはいえ、CarKeyは現在BMWの最新機種でしか利用することができません。

CarKeyを利用しなくてもiOS13から追加されたCryptoKitを利用すると様々な暗号アルゴリズムを簡単に利用することができ、CoreBluetoothと組み合わせることで簡単にiPhoneを利用したスマートキーシステムを実現することができます。

このトークでは、リモコンキーすらない古いクルマにArduinoとiPhoneを利用したスマートキーシステムを構築する過程で得た様々な知見を共有します。
2
他イベントOK レギュラートーク(20分)

SwiftのWebAssembly対応の軌跡

kateinoigakukun kateinoigakukun
SwiftのWebAssembly対応を進めることを目的にした、SwiftWasmというプロジェクトがあります。このプロジェクトはこの1年で大きく前進し、現在では簡単なWebアプリケーションがSwiftで開発できるようになりました。

このトークでは私がSwiftWasmプロジェクトに参加してから実際に行なってきた、Swiftへのコントリビューションとその過程についてお話します。
8
他イベントOK レギュラートーク(40分)

iOS Astronomy

TachibanaKaoru TachibanaKaoru
世界には様々な天文学のデータが公開されています。
データのままでは理解が難しいものが多いですが、そのデータをiPhoneを使ってわかりやすく視覚化するとどんな世界がひろがっているでしょうか。

教育用のデバイスとして使いやすいiPhoneやiPadにARKitが加われば、最強の教育用環境の誕生です。
実際のデータを使っって、iPhoneやiPadでの実例をお見せしながらお話しします。

また、ARKitを使った教育コンテンツを簡単につくりたい方にもおすすめします。
1
他イベントOK LT(5分)

UIImpactFeedbackGeneratorの使い分けについて考えてみた

栗山 徹 kotetu
「ウソだろ、全部同じ説明文じゃないか・・・」そのことに気づいた瞬間、戦慄を覚えたものです。

これは、アプリにHaptic Feedback(触覚フィードバック)を本格導入するためのガイドライン検討時に、HIGの「Haptics」の章で「Impact(APIでいうとUIImpactFeedbackGenerator)」という振動の各定義の解説文を読んだときの話です。

そう、Impactの各定義の説明は、HIG上では一字一句同じ説明になっており、使い分けについてHIG上から判断することはできないのです。

結局、目立ちすぎず、かつ様々な強さを多用しないという判断から、ImpactについてはLightのみを使うということでその時は決着しました。が、Lightを含めて、果たしてどういった使い分けをすべきなのだろうか・・。

本セッションでは、他のアプリや各種ドキュメントを参考に、充実のラインナップを誇るImpactの各種別をどういった場面で使うのが効果的かについて検討した結果について紹介します。
他イベントOK レギュラートーク(40分)

Synchronized iPhones, Again!

TachibanaKaoru TachibanaKaoru
みなさんは、複数のiPhoneを、連携させたことがありますか?

一般的なアプリを作っていると、10台以上のiPhoneを同時に動かす必要はなかなかありませんよね。
そんなレアなニーズに2年以上本気でとりくんでいるフリーランスエンジニアが、実際に動く複数台同期ソルーションのすべてを解説します。

イベントなどでたくさんのiPhoneを同期させてみたい方、アプリに意外な追加要素をつけてみたい方、新しいiPhoneの使い方を考えてみたい方は必見です。

今回は録画での登壇が可能なので、実際にたくさんのiPhoneがsyncしているデモをお見せできるかもしれません。

(本セッションは、2018年のiOSDCで発表した「Synchronized iPhones」の続きですが、前回の内容を知らなくても楽しめます。)
2
他イベントOK LT(5分)

Feature Flagを適切に分類することでA/Bテストの運用コストを下げる

Takeshi Ihara nonchalant0303
主にコンテンツを提供するアプリの開発に携わっていると、新機能をリリースしてKPIが改善した際に、コンテンツによる影響なのか新機能による影響なのか区別が困難という問題があります。
そこで一般的によく用いられている手法として、A/Bテストと呼ばれる手法があります。
自分が開発に携わっているサービスのA/Bテストは、新機能の表示の切り替えでKPIの変化を検証しています。
その表示の切り替えを管理するのが、Feature FlagやFeature Toggleと呼ばれる機能の有効・無効をコード上で切り替えるテクニックです。

A/Bテストの実施数が増えるに従って、Feature Flagの数も増えていきます。
これにより、A/Bテストを未実施、実施中、検証済みなどのFeature Flagのステータスを管理するコストが増加していきます。
ステータスを正常に管理しないと、未実施のFeature Flagが本番に露出されたり、検証済みのFeature Flagのコード上での削除漏れという問題が発生します。

そこで、検証範囲や検証期間に合わせて、Feature FlagをRelease、Ops、Permission、Experimentという4分類で管理するようにしました。
これにより、それぞれのFeature Flagの役割が明確になり、また分類に合わせて挙動を変更することで、Feature Flagの管理コストを削減することができます。
今回のトークでは、実際のサービスでのFeature Flagの分類に従った運用方針を紹介します。
5
他イベントOK LT(5分)

iOSアプリ開発もできるサウナを備えたコワーキング施設ランキング(LT版)

今城 善矩 yimajo
みなさん、ととのっていますかー?

近年、各社ではテレワーク/リモートワークが普通になる新しい働き方というのが我々アプリ開発者にも定着することになりました。そのような今、コワーキングスペースのあるスパ/サウナ施設が新たに注目されていることはご存知でしょうか?一昔前のスパ/サウナ施設は漫画喫茶のようなリラックススペースが定番でしたがそんなイメージはもう古いのです。

今は仕事が終わればすぐにサウナに入って水風呂で冷やす、そんな時代になっています。

このトークではiOSアプリ開発もできるスパ/サウナ施設を紹介します。

ここでなぜiOSDCで話す理由があるのか整理しましょう。ひとつ目の理由として、Appleの創設者スティーブ・ジョブズが禅を学び、その哲学をもって生み出したのがApple製品だというのはご存知のとおりかと思います。

>シンプルであることは、複雑であるより難しい

彼の名言は『執着を捨てる』という禅の考えそのものです。ここで思い出してください、サウナという環境は頭を空っぽにしてひたすら自分と向き合います。やっていることは座禅でありサウナ=禅が成り立ちます。ということはApple製品のアプリをよりよく開発するため、禅としてのサウナを理解すべきなのです。

さらにもう少しトークの意味について説明を加えましょう。AppleはWWDC19でCombineフレームワークというリアクティブプログラミングのフレームワークを発表しましたね。これを使う人たちがよく言葉にする"Hot"や"Cold"という言葉、実は"Hot"というのはサウナのことで"Cold"は水風呂の事です(これも嘘です)。

この5分のトークで語りきれるかわかりませんが、ととのうコワーキングスペース施設の紹介ができればと思います。
3
レギュラートーク(20分)

Frameworkの裏を読む

竹田光佑 daketake
アプリのテスト中に原因不明のバグが発生。どうやらFrameworkのバグに当たってしまったが、ググっても解決策がなく、AppleのFeedbackも返信が来ない!

そんな経験はありませんか?Frameworkの実装がブラックボックスだからといって諦めることはありません。少なくとも実行されるバイナリがそこにはあるはずです。本トークでは以下の手法を使い、Frameworkの挙動を解読していきます。

- 逆アセンブルによる静的解析
- LLDBデバッガによる動的解析

このトークが、原因不明のバグ調査の一助になることを願います。
1
レギュラートーク(40分)

キーワード多すぎ!なエンタープライズiOSの世界を概観する - 2020年版

oishi oishi
iPadやiPhone、iPod touch が業務用端末として企業内や公的機関で活用されることは珍しくなくなりました。営業端末として、サイネージ端末として、顧客接客端末として、リモコン端末として...iOS端末の活躍シーンは業務の世界でも様々です。iOSが人々のライフスタイルを変えたように、iOSは企業のワークスタイルにも変革をもたらしています。

多くの組織でiOSが受け入れられているのは、Appleが業務活用を見越して様々な仕組みやサービスを提供してきたからに他なりません。ADEPやMDMはよく目にするキーワードですが、他にもABM・DEP・Single App Mod(SAM)・Managed App Configuration(MAC)・CustomAppといったものもあります。興味深いのは、アプリ開発者がこれらを理解していると、業務用アプリの開発・導入・保守・運用がとても楽になる(自分もお客様も)ということです。

iOSと共にこれらの仕組みやサービスも進化してきました。2020年は特にサービスの統廃合やAppleの方針転換など大きな変化の年となっています。例えば「法人向けアプリ=ADEP(iDEP)」という理解ももはや過去のものとなってしまいました。

本トークでは、そんなエンタープライズiOSの最新事情と、各用語の詳細や関連性についてお話します。
1
他イベントOK レギュラートーク(40分)

iOSアプリ開発のための"The Composable Architecture"がすごく良いので紹介したい

今城 善矩 yimajo
Swiftを用いたアプリ開発用にThe Composable Architecture(TCA)というのがあり、それがめっちゃ良いやん!と思うので紹介するトークです。

TCAは人間工学を考慮した一貫性のある方法でiOS(およびmacOS, tvOS, watchOS)アプリを構築するフレームワークです。

https://github.com/pointfreeco/swift-composable-architecture

TCAの良い点はRedux的にReducerを取り入れつつ、Reducerを画面ごとに用意し必要があればそれを別画面用に組み合わせることを前提としていることです。これによって巨大なグローバルなReducerを作ることはなく、Reducerを修正する場合に他の画面のコードを目にすることはありません。さらにロジックの繋ぎとしてうまくCombineフレームワークを使っているところも良い点でしょう。

Combineはリアクティブプログラミング(RP)フレームワークですが、他のRPフレームワークと同じオペレーターを使っても動作が異なることもあり、クローズドなフレームワークであることで不具合かどうか判断しづらいデメリットがあります。そのため、あくまで限定的にCombine利用するという点はTCAを使わなくても良い教材となるはずです。

SwiftUIを使ってどのような構成でアプリを作ろうかと考えている人にも参考になるトークとする予定です。
6
他イベントOK LT(5分)

xcrun Essentials

Yutaro Muta yutailang0119
xcrunはCommand Line Tools Packageに付属していて、コマンドラインからXcode内の任意のツールを検索、実行できます。コマンドを入力したことがないあなたも、普段使っているツールの中で気づかない内に使っているかもしれません。
検索上位には "xcrun: error:" の声ばかりのxcrunですが、使い方を覚えると痒いところに手が届き、開発効率が上がるはずです。

実際に私が遭遇した課題とxcrunによる解決事例を紹介することで、参加者が新たな利用場面を発見できるような話をします。

対象者:
- iOSアプリ開発の中級者にステップアップしたい方
- 一歩進んだCI環境に興味がある方
- コマンドラインでの操作が好きな方
1
他イベントOK レギュラートーク(20分)

事例で学ぶxcrun

Yutaro Muta yutailang0119
xcrunはCommand Line Tools Packageに付属していて、コマンドラインからXcode内の任意のツールを検索、実行できます。コマンドを入力したことがないあなたも、普段使っているツールの中で気づかない内に使っているかもしれません。
検索上位には "xcrun: error:" の声ばかりのxcrunですが、使い方を覚えると痒いところに手が届き、開発効率が上がるはずです。

このセッションでは、xcrunの概要説明から始め、サードパーティツール内や私が使用している事例を紹介することで、利用場面のイメージを共有します。セッション後には、参加者同士で「このツールでこんな使われ方をしている」や「こんな便利な使い方できそう」というアイディアの共有ができるようなセッションとなる予定です。

対象者:
- iOSアプリ開発の中級者にステップアップしたい方
- 一歩進んだCI環境に興味がある方
- コマンドラインでの操作が好きな方
2
LT(5分)

Apple Pencilと左利き対応

ああうえ _kwzr_
普通のアプリ開発では利用者の利き手を意識することなく、UIを設計していくことが多いと思います。
しかし、時には『利き手』を強く意識したUI設計が必要なこともあります。
そう、Apple Pencilを利用したお絵かきツールです。
このトークでは、お絵かきツールのUI設計をする際に考えたことや実装例についてお話します。
1
他イベントOK LT(5分)

MetricKitの魅力を語る

ahirustarrr ahiru_starrr
私たちデベロッパーは誰しもが「アプリのパフォーマンス向上」を目標とするものの実現するための道のりは非常に困難で険しいです。

知識や経験をフル活用しながら日々取り組んでいるこの課題ですが、iOS開発においては2019年のWWDCで登場したMetricKitが強力な武器となります。

MetricKitについてみなさんはどれくらいご存知ですか?
また、十分使いこなせていますか?

MetricKitはデバイス上のアプリの電力やパフォーマンスなどのメトリックを受け取るためのフレームワークです。

このフレームワークを効果的に使うことでパフォーマンスを向上させる上でどの機能がボトルネックになっているのか、何が原因で起動時間が遅いのかなどの調査を以前よりも簡単に行えるようになりました。

このセッションでは、実際にMetricKitを導入しているアプリを使ってどのように使用するのか、どのようなデータが取得できるのかを中心にパフォーマンスの改善につながるためのテスト手法などをお話しいたします。

MetricKitの魅力を余すことなくお伝えできればと思います。

- MetricKitとは何か
- MetricKitでできること・できないこと
- MetricKitを用いたデバッグ・テスト手法
- パフォーマンステストについて
- WWDC20で追加された新機能について
5
2019 スポンサー 2019〆切後 資料請求
オンライン対応未決定 削除予定 オンライン対応検討中 要ロゴ 要PR 要支払
仮採択 採択しない スピーカー採択
仮採択(原稿) 採択済 採択しない 仮採択 要審議 ニッチ企画? LT向き加点