iOS 14 から、 UICollectionViewCell のカスタマイズ方法に Configuration という種類の API が追加されました。
たとえば、コンテンツや背景の外観に関するデータを設定すると、 View の描画反映を自動で行ってくれます。
これまでは、Header / Body / Footer それぞれの Cell を継承してカスタマイズしてきましたが、 これからは同一のConfiguration それぞれに適用可能な再利用しやすい Composable な API となっています。
本セッションは、Custom の Configuration を用意して、実際に既存の Cell を移行する方法を紹介します。
CompositionalLayout や DiffableDataSources と合わせて活用し、Cell の快適な管理を実現しましょう!
アプリの Apple Pencil 対応を行ったことはありますか?
WWDC 2019 における、PencilKit を利用し、たった3行のコードを実装するだけで Apple Pencil を用いた一連の機能が実現されるデモは印象的でした。
しかし、実際のアプリ開発における独自拡張の中では、様々な困難が待ち受けています。
本セッションでは、PencilKit が可能な拡張・難しい拡張を紹介しつつ、ユースケースに応じてどのような対処が取れるか解説します。たとえば、PencilKit の自由に描けるキャンバス画面と、独自で実装したハイライトマーカーが引ける画面を切り替えて利用できるようにする仕組みなどに触れる予定です。
ドキュメントと実際の動作を比較して得られた知見をもとに PencilKit を実アプリに組み込む Tips を紹介できればと思います。
WWDC 2019 で発表された PencilKit を利用することで、数行のコードで 標準メモアプリと同様の手描き体験をアプリに導入できます。
発表に先立ち、日本経済新聞社の紙面ビューアーアプリでは、Apple Pencil を用いた紙面画像にメモやハイライトを書き込める機能をリリースしました。
アプリの機能要件を満たすための独自拡張の実現には、様々な制約が立ちはだかりました。
たとえば、キャンバスに画像を載せる、ズームやスクロールなどビューアーとしての操作は残しつつ書き込みを一時的に無効にするなど、一見すると単純そうですが一筋縄ではいきません。
本セッションでは PencilKit の開発ノウハウを、ドキュメントと内部の動きから洞察した知見の両面から解説します。開発経験を踏まえ、紙の新聞に書き込みを行うユーザー体験をどのようにアプリへ落とし込んでいったか説明できればと思います。
WWDC2021で発表されたShazamKitは、膨大な音楽カタログをベースに何百万曲の音楽検索を行える音声認識フレームワークです。
音楽に全く詳しくない私(ミスチル好き)ですが音声認識機能には興味があり、
レンタルスペースを予約できる「SpaceMarket」のiOS/Androidアプリへ遊びで勝手に組み込んでみたので
・ShazamKitの機能紹介
・両OSへの導入の仕方
・使い道の検討/実際に作ってみた機能/社員の反応
についてお伝えできればと思っています。
みなさんiPhoneのセンサで取得できる位置情報と聞いて何を思い浮かべますか?
おそらくCore Location Frameworkを使った緯度経度情報を思い浮かべる方が多いのではないでしょうか。
ロボット開発の観点では自己位置推定と呼ばれるLiDAR,カメラ,加速度センサなどを組み合わせることによってロボットの位置を推定する技術が日々研究されています。
本トークでは位置情報を得るという目的のためにiPhoneのセンサを使って検証した結果を
について紹介します。
SnapのCustom Landmarker、ARCoreのGeospatial API、NianticのLightship、そしてARKit 6のLocation Anchor、他にもありますが、これらはすべてVPSと呼ばれるものです。
ここで言うVPSは“Virtual Private Server”ではなく“Visual Positioning Service/System”です。
緯度経度をもとにするGPSとして馴染み深い“Global Positioning System”に対し、画像による空間情報をもとに自己位置推定する技術がVPSです。
本セッションでは、今後のARに関する要素技術として重大な位置づけになると考えられる “VPS”そのものとその周辺技術、実際のユースケースや概況に加え、いずれかのVPSソリューションを用いた「実際に動作するデモ」を交えて解説します。
タクシー配車アプリ「GO」では、UIKit ベースで実装しており、ViewController の数は300近くあります。
2019年の WWDC で発表された SwiftUI の機能を徐々に活用していき、2021年に iOS 12 のサポートを終了したタイミングでプロダクションに SwiftUI で作った画面を展開していきました。
本トークでは、大規模なプロジェクトにおいて、どのように SwiftUI を導入し活用しているかをご紹介します。
・SwiftUI の導入
・UIKit ベースのプロジェクトでの SwiftUI 利用
・Xcode Previews の活用
・SwiftUI 利用したことで得られたメリット
・ここが辛いよ SwiftUI
・SwiftUI 利用のこれから
本トークでは、既存サブスクリプション商品にアップグレード・ダウングレードを追加する方法についてご説明します。
具体的には、
アップグレード・ダウングレード・クロスグレードについて
上記を公式ドキュメントを織り交ぜながらご説明します
運用しているサブスクリプションにアップグレード・ダウングレードを追加するには
導入しづらい運用ケースとは
を予定しております。
本トークでは、iOS・Android両OSで展開しているアプリ向けに、KMMを用いたテキストリリース共通化を提案します
まずはじめに、長年運用しているアプリだからこその課題を交えながらモチベーションについてご説明します。その後、比較検討した手法と想定している移行手順についてご説明します。そして最後に、+aの要素や今後の展望についてご説明します。
課題の抜粋
+aの例
を予定しております。
フチ文字とは、文字の輪郭を線で縁取る文字装飾の手法です。
新聞の見出し、スーパーのチラシ、そして動画のテロップなどでよく用いられています。
みなさんも一度は目にしたことがあるかと思います。
そんなフチ文字、さらにグラフィックソフトで作成したようなフチ文字をアプリ内で使いたい。
そうデザイナーから相談されたとき、どんな方法が思いつきますか。
AttributedStringを用いて文字の輪郭に線をつければ解決、そう思いませんか。
しかし、それでは美しくない!
本LTでは、SwiftUIで美しいフチ文字を模索した内容を事例を交えながらお話します。
以下の内容を予定しています。
・フチ文字とはなにか
・SwiftUIを用いたフチ文字の実現方法
フチ文字とは、文字の輪郭を線で縁取る文字装飾の手法です。
新聞の見出し、スーパーのチラシ、そして動画のテロップなどでよく用いられています。
みなさんも一度は目にしたことがあるかと思います。
そんなフチ文字、さらにグラフィックソフトで作成したようなフチ文字をアプリ内で使いたい。
そうデザイナーから相談されたとき、どんな方法が思いつきますか。
AttributedStringを用いて文字の輪郭に線をつければ解決、そう思いませんか。
しかし、この方法にはある問題があり…。
本トークでは、私が試行錯誤しながら、より質が高く美しいフチ文字を模索した内容を事例を交えながらお話します。
以下の内容を予定しています。
・フチ文字とはなにか
・発表者の思う美しいフチ文字、美しくないフチ文字の定義
・UIKitを用いたフチ文字の実現方法
・SwiftUIを用いたフチ文字の実現方法
みなさん、自信を持ってユーザーに喜んでもらえそうな機能をリリースしてもなかなかダウンロード数が増えない、新機能をもっと訴求して以前のユーザーに戻ってもらいたい...なんて悩みはありませんか?
昨年、App Storeの新機能として「App内イベント」「プロダクトページのカスタマイズ」「プロダクトページのA/Bテスト」がリリースされました。これらの機能を活用することで自分のアプリをさらにアピールすることができます。
このLTでは実際に各機能を使ってみてどんな効果があったかをお話ししたいと思います。
このLTを聴いて素敵なプロダクトページを作りましょう!
iOSエンジニアだった私がひょんなことからプロダクトマネージャー(PdM)に転生してから4年がたちました。
花形と言われるPdMですが、エンジニア出身のPdMは実際どの様なポジションなのでしょうか?
PdMになった経緯、どういう人が向いているのか、何を勉強すればいいのか、身につくスキル、業務内容やエンジニアと比べてぶっちゃけ待遇はどうなのかなどについてお話します。
Review Guideline 5.1.1(v) - Account deletion requirement がついに6月30日に施行されました。
これからアカウント作成が出来るアプリは、アカウント削除機能を提供する必要があります。
アカウント削除機能はあまり優先して開発されない(しづらい)機能の一部であり、マネーフォワードクラウド確定申告でも提供出来ていなかった機能でした。
このLTでは、急遽宣言されたAccount deletion requirementに対して、共通ID基盤の提供・数多くのサービス展開による弊害、1ユーザーが複数のグループに属せるというサービスとしての難しさ、確定申告シーズンにぶち当たった必須化スケジュールを乗り越えて、マネーフォワードクラウド確定申告がアカウント削除機能を提供したときの苦悩の道程を紹介します。
現在swift-evolutionでは大量のproposalと共に長年Swift上で不便だった正規表現関連の実装を刷新する流れが続いています。実際にWWDC 22でもSwift 5.7のリリースとともにRegexBuilderと正規表現リテラルが導入されることが発表されています。
このトークではNSRegularExpressionやNSStringにおける課題がどのように解決されているかをswift-evolutionの各proposalをもとに振り返り、iOSやサーバーサイドでのアプリケーションや文字列処理が生きてくる書き捨てのスクリプト(例えばログ解析など)でどれぐらい実用的に利用できるのかをベンチマーク結果を添えて検証していきます。
特に普段Rubyなどで書くことが多い書き捨てスクリプトを置き換えるポテンシャルがあるのかどうかに個人的に興味があります!!いかに!?
WWDC21 が開催されていた昨年の6月、AVKit に追加されたひとつの機能に社内がざわつきました。
PiP(ピクチャ・イン・ピクチャ)の機能を応用して、Android の画面オーバーレイのようにアプリ外に自由なコンテンツを描画できる期待感を経験のあるエンジニアは感じていましたが、既存のアプリに機能を組み込むまでには R&D 的な開発やパフォーマンスとの戦いがありました。
このトークでは、ゲーム配信アプリミラティブに実装され多くのユーザーに利用されている、視聴者からのコメントや各種配信情報をアプリ外で表示する「配信コメントバー」機能の開発の裏側と技術の詳細についてご紹介します。
・「配信コメントバー」機能の概要
・実装の解説
・R&D 開発とパフォーマンスの解決
・PiP と AVAudioSession との関係
・PiP のカスタマイズ性
Swift ConcurrencyはWWDC2021で発表されてSwift5.5で追加された新しい技術であり、まだ名前しか聞いたことないよという人もいるかもしれません。Swift Concurrencyは非同期処理や並列処理をシンプルに書くことができる機能です。
本トークではではSwift Concurrencyとは一体何か、どんな利点があるかをSwiftUIを使った実装例を通して紹介します。
この話を聞くと、もうクロージャを使った非同期処理なんて書きたくない!って思えるかも笑
株式会社ゆめみでは新卒iOSエンジニア向けに研修課題をGitHubで公開しています。
弊社の新卒課題は一見すると簡単ですぐに終わってしまうように見えますが、ところどころにハマりやすい罠があります。
・ライフサイクル
・Delegate
・コールバック
・スレッドブロック
・テスト
などなど、ハマりやすい要素がたくさんあります。
ゆめみの新卒として研修を経験した私だからこそ感じた初学者がハマりやすい罠をご紹介します。
本LTを聞いてくださる方の中には学生や社会人が入り混ざっているのではないでしょうか?
特に学生の方!こんな悩みを持ったことはないですか?
・ 学生と社会人ってどう違うんだ?
・エンジニアになったら、どんなことを求められるの?
新卒エンジニアとして数ヶ月会社の中で働いてみて感じた、学生エンジニアと社会人エンジニアの違いについてご紹介します。
これから就活する人や既に就活が終わった人も、本LTを聞いて残りの学生生活で費やすことができるプロダクト開発に役立ていただければ幸いです。
Swift ConcurrencyはWWDC2021で発表されてSwift5.5で追加された新しい技術であり、まだ名前しか聞いたことないよという人もいるかもしれません。Swift Concurrencyは非同期処理や並列処理をシンプルに書くことができる機能です。
本LTではSwift Concurrencyとは一体何か、どんな利点があるか紹介します。この話を聞くと、もうクロージャを使った非同期処理なんて書きたくない!って思えるかも笑