Windows でも Mac でも使いたいなら、native なんて付いてるプロパティは使うなと

以前書いた、「AIRアプリでZIPファイルを解凍してみる」の続き。

FZip というフリーの zip ファイル操作用ライブラリを使って、AIR アプリで zip ファイルを解凍するという話で、実際、Windows 上では問題なく動いてたんだけど・・・

その AIR アプリを、Mac OS X 10.5 のマシンにインストールして使うと、全然 zip ファイルが解凍されない。

Flex Builder 上でデバッグしてみると、どうも、IOErrorEvent が発生してる。
エラーメッセージを出力してみると(trace("ERROR=" + evt.text);で)、

Error #2032: Stream Error. URL:app:/Users/shinoda/Library/Preferences/hogehogeApp/Local%20Store/data/cont/ds.zip

だって。

う~む・・・
パスは合ってると思うがなあ・・・頭に app: とか付いてるのが問題なのか?でも、こりゃ Flex が勝手に付けてるだけだからなあ。どうしようもないし。

結局、zip ファイル名を URLRequest の url プロパティに渡すところで、

Fzip = new FZip();

var request:URLRequest = new URLRequest();
var file:File = File.applicationStorageDirectory.resolvePath(ZipFileName);
request.url = file.nativePath;
~以下略

この、file.nativePath file.url にしてやったら、IOErrorEvent は発生しないようになり、Mac OS X の上でも AIR アプリで zip 解凍をおこなうことが出来た。

ちなみに、file.url の場合、実際には "app-storage:/data/cont/ds.zip" という値が渡される。

まあ、Windows でも Mac でも同じように使いたいなら、出来るだけ native なんて付いてるプロパティは使うなってことですな(^^;

トラックバック(0)

このブログ記事を参照しているブログ一覧: Windows でも Mac でも使いたいなら、native なんて付いてるプロパティは使うなと

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/1451

コメントする

このブログ記事について

このページは、shinodaが2011年1月22日 18:09に書いたブログ記事です。

ひとつ前のブログ記事は「URLの後ろに改行なんていれてちゃ駄目だったのね」です。

次のブログ記事は「久しぶりに後輩とクダコで一杯やったのである」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら