Swift Packageは、依存配布の最適な手法です。
しかし、Xcodeのパッケージ管理では、キャッシュが揮発しやすく、膨大な依存関係を持つプロジェクトではビルド速度の維持が難しいです。
パッケージの利便性と、速度を両立する手法はないでしょうか
そこで、新しいビルドツールScipio (https://github.com/giginet/Scipio)を使って、パッケージを効率的にキャッシュする手法と、実際に大規模プロジェクトに導入するケーススタディをお伝えします。
このトークでは、以下についてお話しします
SwiftPMの深い部分に触れてみましょう!
今年のWWDC然り、Appleはプライバシー保護に力を入れています。ますます複雑化するiOSのプライバシー事情を皆さんは十分に把握しているでしょうか?プライバシーに関する審査ガイドラインを把握し、リジェクトリスクを取り除けているでしょうか?
このトークでは以下の内容をカバーします。
これからiOSアプリ開発をする人、プライバシー関連の知識に自信がない人にぜひ聞いてほしいです。
※WWDC23の内容については公開情報以上のことは話しません。
iOSエンジニアにとってネットワークは縁遠いものです。
実物や設計を見る機会がなく、教科書を読んでもイメージがつかない方が多いのではないでしょうか。
ちょっと待ってください!実物が目の前にあるじゃありませんか。こんな貴重な機会はありません。
本トークではカンファレンスネットワークを題材にネットワークを学びます。死活監視アプリを作りiOSDC Japanネットワークのふるまいを観察しましょう。
話すこと
対象
Swift 5.9ではマクロが導入されます。すでにSwiftUIではマクロが広く利用されています。今後はコミュニティ製や自作したマクロを使うこともあります。
マクロはSwiftSyntaxというライブラリを使った構文変換です。これまでSwiftSyntaxはツールを介した間接的な利用がほとんどでした。しかしマクロを書いたりデバッグするには直接SwiftSyntaxを使う必要があります。
SwiftSyntaxを使うコードはかなり見慣れないコードになります。コンパイラで使用されているコードで一般的な用途のコードではないからです。
この講演ではSwiftSyntaxの構文ノードの種類やAPIの使用方法を具体的な用例をもとに解説します。きっとマクロを使っていろいろなアイデアを試したくなります。SwiftSyntaxを理解してマクロはもちろん、コード生成などメタプログラミングを楽しみましょう!
配信アプリは ReplayKit を介して、画面上の映像を動画のフレームとして受け取ります。動画のフレームには画面に映っているものがすべて含まれているので、プッシュ通知などの内容も見えてしまいます。
映像を調べてプッシュ通知を検出し、該当領域を加工してから配信サーバーに送れば、ユーザーのプライバシー保護に繋げることができます。しかし、リアルタイムの検出と加工をする必要があり、リソースや処理時間の厳しい制約があります。
このトークでは、通知ぼかし機能の説明、数々のハードルを乗り越えて検出と加工処理の合計を約 "2ミリ秒" に収めるまでの工夫について、詳しく解説します。
・ライブ配信と通知ぼかし機能
・動画のフレームの形式 YCbCr420
・Accelerate で処理を高速化する
・メモリの確保の頻度や量を削減する
・プッシュ通知を検出する
・プッシュ通知を発行元が自社アプリか判定する
人間のかわりにコンピューターが作曲する、いわゆる「自動作曲」。
これは今や夢の技術ではなくなり、実際AppStoreにもそのようなアプリがあります。
しかし大抵メインの作曲を担うのはサーバー側で、iOSはただの「出入口」です。
一方で生成系AIに関してはプライバシーや権利問題等の都合から閉じた環境(オンデバイス)でコンテンツを生成する需要が存在します。画像生成は実例も多いですが、「音楽生成」と「iOS」の組となれば話が別で、一般に両者の相性は不透明です。
本トークでは、直近のiOSの自動作曲に対する適性を、各課題と対策の観点で、デモや考察を交えて解説します。
機械学習やモデル、音楽理論について多少触れますが、比較的易しいとされる「メロディ生成処理」を中心に話を展開しますので、予習や専門知識なしでも楽しめるかと思います。
iOSと自動作曲が織りなす可能性を、ぜひ一緒に体験しましょう!
フリマ・スマホ決済事業を提供するメルカリは、サービスローンチから今年で10周年を迎えることができました。
この10年間、Objective-C での開発から始まり、Swift での Re-architecture、 SwiftUI での作り直しと、数年に一度、そのタイミングでのメルカリにとってベストであろう技術選定を行い、刷新を行ってきました。UI/UXにおいても、下タブ化、 Design System、UXモニタリングシステムの構築など、メルカリはより使いやすいサービスを提供するため、技術の進化に Go Bold に挑戦を続けています。
このトークでは、メルカリのiOS開発10年の歩みを様々な観点から振り返り、どのような課題に向き合い、技術的チャレンジを行ってきたかをご紹介します。
コードを読んでいる時、
「これは何をしてるんだろう?難しいなあ…」
と、内容がわからないもどかしさを感じたことはありませんでしょうか?僕はよく感じています。
これは、いわゆるコードの「複雑さ」から来ています。しかし、複雑かどうかは人によって異なりますし、また状況次第で変わります。
今回は、この「複雑さ」に焦点を当て立ち向かうためのコードの読み方について、みなさまと考えていきたいと思います。
日々の業務では、コードを書くよりも読む時間のほうが多い傾向にあり、コードの読み方を鍛えることで、日々の開発効率をより改善できる可能性があります。
そんな方々が、新しい視点を知り、コードに感じる複雑さを軽減できるようになるためのヒントを得る機会になりましたら幸いです。
「iPhoneで他のデバイスを操作したい」と思ったことはありませんか?
Bluetoothを使用すれば、容易に行えますが、「ペリフェラル」や「セントラル」などの専門用語が難しく理解し辛い方もいると思います。
本トークでは、そんな方々を主な対象に、Bluetoothの基礎から話し、スマートキーの作成方法を必要な材料の選定、Core Bluetoothを用いたコーディング、そして実動の様子まで紹介したいと思います。
上記の内容にて、Bluetoothの基本的な知識から実践的な「スマートキーを作る」部分まで、わずか40分で学ぶことができます。
本トーク終了後には、あなた自身でスマートキーを作り、Bluetoothを用いたデバイスの設計・制作への第一歩となるでしょう。