ファイルをメモリに保持し、URLで機能するlibにフィードしたいと思います(NSURLを考えてください)。iOSがfile://などを使用してアクセスできるメモリマップトファイルを作成できれば便利です。
私のフォールバック方法は、メモリからファイルを提供するローカルサーバーソケットを作成することですが、可能であれば、より適切な方法を見つけたいと思います。
ファイルをメモリに保持し、URLで機能するlibにフィードしたいと思います(NSURLを考えてください)。iOSがfile://などを使用してアクセスできるメモリマップトファイルを作成できれば便利です。
私のフォールバック方法は、メモリからファイルを提供するローカルサーバーソケットを作成することですが、可能であれば、より適切な方法を見つけたいと思います。
これを使用して、Webからファイルを読み取り、メモリにキャッシュします。
- (NSCachedURLResponse *)connection:(NSURLConnection *)connection
willCacheResponse:(NSCachedURLResponse *)cachedResponse
{
NSCachedURLResponse *memOnlyCachedResponse =
[[NSCachedURLResponse alloc] initWithResponse:cachedResponse.response
data:cachedResponse.data
userInfo:cachedResponse.userInfo
storagePolicy:NSURLCacheStorageAllowedInMemoryOnly];
return [memOnlyCachedResponse autorelease];
}
これは、NSURLConnectionのconnection:willCacheResponse:メソッドです。私のNSURLはWebを指しますが、バンドル内のファイルを指す場合は機能するはずです。https://github.com/rs/SDURLCacheからそのコードを取得しました
最終的にNSURLProtocolを使用して、メモリからファイルを提供する新しいURLスキームを作成しました。