Adobe Airのもう1つの質問ですが、ここでは最初に私が担当しているプロジェクトの背景について説明します。 USBキーからアセットを読み込むAIRアプリケーションで、WINとMacOSの両方で動作する必要があります。問題はMacOS上でアプリにアセットを読み込む方法です。 Windowsではシンプルに聞こえ、シームレスに動作します。ここでAdobe AIRとさまざまなOSファイルシステム
は、私がやろうとしています何のコードスニペットです:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ok);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
var p:String;
if (os == "mac")
{
p = "/Volumes/" + keyVolume.rootDirectory.name + File.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
}
else
{
p = keyVolume.rootDirectory.name + File.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
}
var temp:File = new File(p);
Debugger.Display.text += "\nAttempting to load: " + p;
Debugger.Display.text += "\nDoes it exist? " + temp.exists;
loader.load(new URLRequest(p));
...変数OSとkeyVolumeが正常に以前のコードで設定されています。また、ok()とioErro()のイベントリスナーコールバックも定義しています。 G:
をロードしようと:これは、それがWindows上でプリントアウト実行され
\ 0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg
は、それが存在しない:真
...資産を正常にロードします。 MacOSで
、それはプリントアウト:ロードしようとし
:/Volumes/AC/0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg
は、それが存在する:真
を...とそのたびにIOErrorが失敗します。
誰かが私がここで紛失しているものを見ることができますか?何らかのパーミッションエラーがありますか(ファイルには「読み取り/書き込み」アクセス権があります)。 USBキーはMS-DOS FAT32でフォーマットされていますが、それは問題でしょうか?
EDIT
私はFAT16にMacOSの中に新しいUSBキーをフォーマットしていない成功を収めてその上にファイルを置きます。問題は残っている。
EDIT
それだけでアクセス許可の問題ではないように見えるので、私は、今だけのユーザー/ -USERNAME- /デスクトップ/から資産をロードしようとしていますし、まだ同じエラーが発生しますUSBスティック、それはそれより広く普及しています。
EDIT
【課題!私は最終的に私のGoogle検索を正しく言いました。それはrevealed the answerです。
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ok);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
var p:String = keyVolume.rootDirectory.nativePath + ((os == "mac") ? File.separator : "") + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
var temp:File = new File(p);
Debugger.Display.text += "\nAttempting to load: " + temp.url;
Debugger.Display.text += "\nDoes it exist? " + temp.exists;
loader.load(new URLRequest(temp.url));
は私も少しだけでなくOSの検出を含む論理的な文を洗練している:
これらの変更は、問題を解決します。
誰かがこの点を知りたがりますように!
FAT32は完全に問題ありません。 IOErrorに関する詳細はありますか? – Ben
パスの "AC"の違いは何ですか? – Ben
MacOSの "AC"はドライブ名です。それは、ドライブ文字を使用するので、Windowsのパスを考慮しません。 – nokturnal