TL;DR
- AWS SDKに含まれる以下のメソッドが便利
NSData#awsgzip_gzippedDataWithCompressionLevel(level: Float)
NSData#awsgzip_gzippedData()
NSData#awsgzip_gunzippedData
目的
NSData
オブジェクトをgzip形式で圧縮/展開したい。
調査
「Swift gzip」などで検索すると、いくつかライブラリが見つかりますが、テストコードがなかったり、メンテナンスされていなかったりで微妙。
解決
そんな時、別の用途で使っているAWS SDKにAWSGZIP.mというファイルが含まれているのを偶然発見。
問題なく圧縮/展開できました。AWS SDKに含まれるくらいなので、信頼性もある程度あると思われる。
もちろん、これらを使えるのはAWS SDKを使っている場合限定ですが。
AWSGZIP.m
ファイル内のコメントによると、オリジナルはnicklockwood/GZIPとのこと。もちろんこちらでもOK。