iOS 14およびmacOS Big Sur以降ではApple製のファイル圧縮・展開のフレームワークであるApple Archive Frameworkが利用できます。データのエクスポート機能やシェア機能などで、複数のファイルを一つにまとめて送信したいときに便利です。サードパーティ製のアーカイブフレームワークなどを導入しなくても、一通りの機能が揃っています。ただApple Archive Frameworkはドキュメントが最低限しか書かれておらず、ドキュメントに掲載のサンプルコードをそのまま写せば使えるのですが、パラメータの意味などを理解せずに使うことはよくありません。本稿ではApple Archive Frameworkの使い方とドキュメントに載っていないパラメータの意味などを実際のコードを用いて解説します。
アプリ開発の過程で、仕様のミスリード・不十分な仕様把握・説明の解釈ミス等で、本来の意図との実際の成果物で齟齬が生まれる事は、常に起こる可能性はありますが、ユニットテストによって事前にそのリスクを防止する取り組みは、仕様把握や機能担保の面で有効な手段になります。
本稿ではその「ありがたみ」と感じられる簡単な例を、RxSwift / Quick / Nimble / SwiftyMockyを利用を想定したコードを通して解説する予定です。
その中でも特に、
等の簡単な実装コードやテストコードの事例を交えながら解説できればと思います。
Swift-DocCは、Swiftフレームワークやパッケージのためのドキュメント作成ツールです。Xcode 13に同梱される形でリリースされ、その後オープンソースソフトウェアになりました。
Swift-DocCの面白い特徴に、チュートリアルを作成できるという点があります。AppleはSwiftUIのチュートリアルを公開していますが、このチュートリアルと同様のものがSwift-DocCを使えば作成できるのです。
この記事では、Swift-DocCを使ったチュートリアルの書き方を、具体的なコードを挙げて解説します。以前Swift-DocCの技術同人誌を執筆しましたが、今回の記事ではチュートリアルに焦点を当てて、より詳細に解説します。
参考:Swift-DocCでドキュメントをつくる (https://type-d4-lab.booth.pm/items/3622327)
Swift 5.6でSwift Package Manager(SwiftPM)にプラグイン機能が追加されました。ビルドツールプラグインはSwiftPMのビルド時に外部ツールを実行します。また、コマンドプラグインはSwiftPMのコマンドを拡張して外部ツールを実行できるようにします。
しかし、SwiftPMプラグインの情報はSwiftのプロポーザル以外にはあまりありません。そのため、実際にどのように実装すれば良いのかわからないと感じる人もいるのではないでしょうか。この記事では、プラグインの実装方法を具体的な実装コードを挙げながら解説します。また、プラグインの活用のしかたも紹介します。
参考記事:Swift Package Managerのプラグイン機能 (https://qiita.com/usamik26/items/1c2cec0903fea2e03344)
・手元で再現できない
・心当たりのないクラッシュ
・何ヶ月も触ってない行でクラッシュ
このように嫌な予感がする現象に皆さん一度は遭遇したことがあるのではないでしょうか。
そして、調査手順次第ではもっと早く原因特定できたのに…と悔しい思いをしたこともあるかもしれません。
そこで、本稿では効率的な原因探索方法を図を用いて解説いたします。
・直近でアプリのリリースがなければサーバ側の調査(GCP を例にご紹介)
・スタックトレースと合わせてクラッシュ直前のログも確認
・外部要因が疑われる場合は Twitter を活用
などなど
このような調査手順に絶対的正解は存在しないため、チームでも属人化しがちな箇所ではないでしょうか。
そこで、本稿を元にチームでアレンジを加え、秘伝のタレとして育ててみてはいかがでしょうか?ドメイン知識の薄い新メンバーも爆速で難問解読のプロになること間違いなしです!