【iOSDC Japan 2024 レポート】DAY 1「iOSの隠されたAPIを解明し、開発効率を向上させる方法」を聞いてきた。
はじめに
年に一度のiOSエンジニアの為のお祭りiOSDC Japan 2024に参加しています。
せっかくなので、参加したセッションのレポートを書きたいと思います。
iOSの隠されたAPIを解明し、開発効率を向上させる方法
登壇者
- noppeさん
概要
iOSは、SwiftUIやUIKitなど複数のフレームワークで構成される強力なプラットフォームです。私たちのアプリは、これらのフレームワークが公開しているAPIを利用して構築しますが、実際にはまだ見ぬ多くの機能がフレームワークに隠されています。
このトークでは、iOSの隠されたAPIを解き明かし、その活用方法について詳しく説明します。具体的には、以下のポイントに焦点を当てます。
- 隠されたAPIの発見方法: なぜこれらのAPIが隠されているのか、その背景とともに、どのようにしてこれらのAPIを見つけるかを解説します。
- API設計の謎: 隠されたAPIを知ることで、フレームワークの設計を考察します。
- 複雑なテストの実現: 隠されたAPIを活用することで、どのようにしてテストの効率を上げ、カバレッジを拡大できるかを紹介します。
- 迅速なモックアップの開発: 隠されたAPIを利用して、プロトタイプやモックアップを迅速に作成する方法について実例を交えて解説します。
- リスクと対策: 隠されたAPIを利用する際のリスクと、それに対する対策についても触れます。
このトークを通じて、参加者はiOSの隠されたAPIの魅力とその活用方法を理解し、開発力を一段と高めることができるでしょう。
引用: fortee
資料
見つけ次第、添付します。
感想
まず、最初に発表スタイルが面白かったです。資料は英語で発表は日本語という新しい形でしたが、資料を英語にすることで発表後に海外の方に見ていただける機会が増えるとのことでした。
今回は、非公開APIについて下記のアジェンダで話をしていただけました。
- 実行方法
- 利用用途
- 見つけ方
非公開APIは公式には公開されておらず、OSやフレームワークのアップデートで動作が変わる可能性が高く、非公開APIを使うことによる副作用や、Appleのガイドラインに違反する可能性があることを理解した上で使用する必要がありそうです。
使用する場合は、定期的にテストを行い、セレクターの存在を確認することが推奨されていました。
非公開APIはコンセプト開発やハッカソン、UIデザインの迅速なプロトタイピングに役立ちますという話の中で紹介されたAPIで、UITextView
にプレースホルダーを設定する方法や、UINavigationItem
に小さいタイトルを設定する方法がありました。
特にUITextView
にプレースホルダーを設定できるAPIは公開しても良いような機能なのになぜ非公開なのだろうか、、今後に期待ですね。
テストでの使用例の話も面白かったです。UIDebuggingInformationOverlay
を使うことでアプリ上のView Hierarchyがオンデバイスで見ることができるようになるので実際の開発でも役立ちそうだなと感じました。
テストで活用できるAPIもこのようにありますが、サードパーティのテストライブラリはこのような非公開APIを使用されている可能性もあり、前述したようにOSやフレームワークのアップデートにより、急に使えなくなってしまう可能性が大いにあります。なので、仕組みを理解した上で使う必要があるとのこと。
最後に、Appleにフィードバックを送ることで非公開APIが公開される可能性があることについても触れられていたので便利なAPIについてはどんどんフィードバックを出せればと思います。
実践的な内容が多く、とても勉強になりました。
おわりに
非公開API探しは宝探し。とても良いお言葉いただきました。