これで、xCode が自動的に GZip デクロンペションを実行することがわかりました。
NSData *data = [NSData dataWithContentsOfURL:URL];
また、サーバー上の Gzip ファイルを指定すると機能します。しかし、私のコンテンツは動的であるため、次のように gzip ファイルを作成するのではなく、PHP スクリプトを使用しています。
$zp = gzopen($file, "r");
$data = gzread($zp, $filesize);
gzclose($zp);
私は自分のデータを次のようにエンコードします:
echo gzencode($data, 9);
これで、次のヘッダーを追加します。
header("Content-Type: application/x-gzip");
header("Content-Encoding: gzip");
header("Accepts-Encoding: gzip");
URL を参照すると、ブラウザがファイルを自動的にダウンロードしようとするので、Mac でファイルを解凍してコンテンツを表示できます。ただし、xCode で読み込もうとすると、うまくいきません。
NSData *data = [NSData dataWithContentsOfURL:URL];
NSString *content = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog (content); //returns only data when pointed directly to a Gzip file
私は何かを忘れていますか?