iOSアプリはアプリ内課金機能をリリースしました。2の導入、実装、テストについて説明します。これからアプリ内課金を実装しようとする方にとって、参考になる情報を提供できれば幸いです。具体的には以下の内容を扱います。OS10から利用できる音声通話機能を実現するためのFrameworkで、様々なアプリがCallKitを利用して音声通話機能を実現しています。アプリを利用して音声通話機能を実現する場合、1対1の通話を実現が実現できればアプリのユースケースのほとんどを十分にカバーできると思います。CallKitを使えば、1つのアプリで友達のAliceとの1体1通話はもちろん、その通話中に友達のBobとの1体1通話に切り替えるといったような、一歩進んだ音声通話機能を実現できるのはご存知でしたでしょうか?本トークでは下記観点などから、快適な通話の実現に必要なCallKitの実装方法についてタクシーアプリでの活用事例を踏まえつつご紹介します。Dレギュラートーク(40分)MPEG構造を把握し、VideoToolBoxを使った特殊再生の実装方法を理解するk2moonsk2_moonsVideoToolBoxは、AVPlayerなどが属するAVFoundationのさらに低位のレイヤーで、動画の圧縮(エンコード)や伸張(デコード)を行います。AVPlayerは非常に優秀なため、ほとんどの場合、VideoToolBoxを直接利用する必要はありません。MPEGの構造を理解し、VideoToolBoxを使って特殊再生を行うことで、AVPlayerがどれほど複雑な処理を行っているかを垣間見ることができます。このトークでは、カメラで撮影した映像ファイルをVideoToolBoxで特殊再生する方法を解説します。同期処理の基礎:PTSの役割と、時間同期ついて説明します。基礎:Iフレーム、Pフレーム、Bフレームの圧縮方式とその制約について説明します。特殊再生の実現方法:スキップ、シーク、倍速再生などの特殊再生を行うために、どのようにVideoToolBoxをどう利用すれば良いのかを具体的なコードを交えて説明します。このトークを通じて、参加者はMPEGフォーマットの重要な仕組みを理解し、VideoToolBoxを用いた特殊再生の実装方法について学ぶことができます。Bレギュラートーク(40分)SMBファイル共有をSwiftで実装する岸川克己Appleプラットフォームのファイル共有にはSMBプロトコルが利用されています。ファイルが非常に多いフォルダを開く際に接続が不安定になるなどの問題があります。OSに含まれるライブラリの不具合なので対処は難しいですが、SMBファイル共有を自分で実装すれば問題を根本的に解決でき、快適なファイルブラウジングが実現できます。SMBファイル共有を実装すると一口に言っても何から始めたらいいかわからない方も多いでしょう。SMBプロトコルはHTTP通信ではなく、URLSessionは使えません。データ構造もJSONなどのなじみのある形式ではありません。難しそうですが、実は道具が違うだけで通信はHTTPではなくTCPソケットを、データ構造はJSONのデコード/エンコードのかわりにバイナリのシリアライズ/デシリアライズを用いるだけです。TCPソケット通信を理解すると、Bitcoinやメールなど、他の通信プロトコルの実装にも簡単に応用できます。この講演ではSwiftでTCPソケット通信を行う場合の複数の選択肢の比較、プロトコルに従ったバイナリのシリアライズ/デシリアライズの方法など、SMBクライアントを実装する手順について解説します。最終的にiOSとmacOSの両方で動作し、音楽や動画ファイルをストリーミング再生できる、速くて使いやすいネットワークファイルブラウザを作成します。15から導入されたStoreKit2はアプリ内課金の実装を大幅に簡略化できます。オファー機能や複数のプラン提供を行いやすくするために導入・移行を検討している方は多いのではないでしょうか。課金機能がアプリで完結しない場合、StoreKit2と様々な基盤を連携する必要があります。有料機能の認証・認可API、課金ユーザー分析、iOSアプリ内課金以外の決済手段が挙げられます。NotificationsというApple提供の仕組みが使えます。近年バージョン2といえる抜本的な改善がなされ、アプリ内課金の状態を自社サービスから詳細に分析できるようになりました。本セッションでは、日本経済新聞社の電子版アプリで提供するサブスクリプションをStoreKit2ベースでフルリプレースして得た知見を紹介します。各種ツールの仕様・アプリ内課金全体の仕組みを理解、クライアントからバックエンドまでどのような手順で安全にアップデートしていくか注意点を確認しつつ解説します。クライアントだけでは把握しづらかった課金状態をAPIで把握したTipsも紹介していきます。このトークを通して、参加者は自社のシステムにアプリ内課金を連携するための実践的な仕様を理解することができるでしょう。throwsの提案がついに承認されました。Proposal"というドキュメントに基づいています。Concurrencyが追加されました。これにより、それらの機能とエラーハンドリングを併せて考える必要が生じました。throwsが導入されます。それらの変化は、Swiftにおけるエラーハンドリングの基本的な考え方を変えるものではありません。Proposal"の理念は今も生き続けています。Proposal"の内容を復習します。6でどのようにエラーハンドリングを行うべきか、その全体像を示します。Proには、2D動画を再生するとその場面に応じて現実空間に対して演出効果が表示されるという、とても面白い機能を持つアプリがあります。飛行機が上空を通り過ぎたり、周辺がヨーロッパの街並みに変わったり、たくさんの風船が表示されたり。グラス型端末の没入感と相まって、これまでとは一線を画した斬新な体験です。この面白い機能はどうやって実装するのでしょう。何がきっかけで演出が始まるのでしょうか?演出はどう作るのでしょうか?動画のスキップ、一時停止には対応しているのでしょうか?これらの疑問に答えるため、このセッションでは、Swiftネイティブの環境でその機能をいくつか実装していきます。作業手順を説明しソースコードを解説し、ライブデモを行います。周辺を変える演出、戻る演出Particleによる演出このセッションを通じて、参加者は実際にvisionOSでの空間演出を実装するための具体的な手法を学び、自分で独自の体験を作り上げるスキルを身につけることができます。visionOSの可能性を知り、今後も体験が進化していくワクワクを届けたいと思います。Silicon使っていますか?ビルド時間の短縮によってその強力な性能を開発現場で実感している方も多いと思います。Engineが挙げられます。Acceleratorなど一部の処理を高速化するハードウェアが搭載されています。Siliconが搭載されています。ProでもiPhoneと同じアプローチで高速化することが可能になりました。Siliconに搭載されている特殊エンジンの概要と、それらを効果的に利用するためのテクニックについて解説します。yujioka_yuujiいきなりですが「自宅の鍵が公共交通機関の改札のようにiPhoneで開閉できたらなー」と思ったことはありませんか?NFC(近距離無線通信)はセキュアでレスポンスが早く、環境に影響されにくいので、デジタル認証を行う上で非常に適した通信技術です。NFCというフレームワークがありますが、現状ではNFCタグやNFCカードの読み書き機能しかサポートしていません。そのため、物理カードのように振る舞うカードエミュレーションや、双方向通信を行うP2Pモードは実装できません。カードエミュレーションとして機能するNFC付きのPassの生成も現状では限りなく不可能に近い状態です。これらの制限により、現状では個人でiOSとNFCを組み合わせてスマートキーを開発することは難しい状況です。してもNFCを利用して公共交通機関の改札レベルの体験を自宅でも味わいたい...と思い、NFC付きのPassを利用して開閉するスマートキーを作成しました。NFCでできることを簡潔に解説した上で、NFC付きPassを利用して開閉するスマートキーの作り方をデモを交えて紹介します。Delegate、オブザーバーなどが用いられてきました。いった外部のフレームワークも使用されてきました。使用する方法へと移行できます。持つアクター分離などのさまざまなメリットを享受できます。一方で、非同期なシーケンスならではのメモリリークにも注意が必要です。用いたアプリの例を使いながら詳しく紹介します。Delegate、今までありがとう。15から導入された新しいアプリ内課金フレームワークで、より安全で効率的な課金実装が可能になります。2024年2月より、ABEMAではこれまでの「ABEMAプレミアム」に加えて、新たな課金商品の提供を開始し、同時にStoreKit2を用いた課金システムの全面的なリニューアルを実施しました。このセッションでは、新たな商品の検討からリニューアルの設計、実装、テストに至る全フローを詳細に解説します。課金システムへの変更点とアプリパフォーマンスへの影響リニューアル後のリリースフローと新商品の詳細アプリ内課金はユーザー体験とビジネスに非常に重要ですが、その実装は複雑でエラー対策も多岐にわたります。このセッションでは、StoreKit2を用いて効率的にこれらの課題を解決する具体的な方法を示します。皆様のアプリ開発に役立つ情報提供を目指します。Dレギュラートーク(40分)めざせ!WKWebViewマスター!marcy731marcy731「ここはWebViewでいきましょう」iOSエンジニアであれば、ネイティブで実装したい気持ちとビジネス要件との間で葛藤し、最終的にWebViewでの実装を選択した経験がある方も多いと思います。このトークでは、iOSアプリ開発における強力なWeb表示コンポーネントであるWKWebViewのAPIについて徹底解説します。WKWebViewには多くのAPIが存在し、その中にはあまり知られていないものもあります。主要なAPIだけでなく、できるだけ普段あまり使われないAPIも含めて説明することで、参加者がWKWebViewで実現可能な機能を幅広く理解できるようになります。具体的には、私が日々のWKWebViewを用いた開発の中で得られたノウハウを交えながら、各APIの役割や使用例、効果的な活用方法について解説します。初心者から中級者まで、幅広いレベルの開発者にとって役立つ内容を提供しますので、ぜひご参加ください。基本的なウェブページの表示HTTPリクエストのカスタマイズCookie/キャッシュの管理JavaScriptからネイティブコードへのコールバックナビゲーションの管理etc...60ビデオスライドログインが必要ですforteeにログインするとセッションをお気に入りに設定できます。お気に入りに入れたセッションはタイムテーブル上で色が付いて表示されます。@tomzohfortee利用規約プライバシーポリシ。