2011-02-05 13 views
6

आपके लिए एक और एडोब एयर सवाल है लेकिन पहले यहां परियोजना में कुछ पृष्ठभूमि है जिसका मैंने काम किया है। यह एक एआईआर ऐप है जो यूएसबी कुंजी से संपत्तियां पढ़ेगा और उन्हें विन और मैकोज दोनों पर काम करना होगा। समस्या यह है कि मैकोज़ पर ऐप में संपत्ति कैसे लोड करूं! काफी सरल लगता है और विंडोज पर निर्बाध रूप से काम करता है।एडोब एयर और विभिन्न ओएस फाइल सिस्टम

यहाँ मुझे क्या करना कोशिश कर रहा हूँ की एक कोड का टुकड़ा है:

  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)); 

... चर ओएस और keyVolume सफलतापूर्वक पहले कोड में सेट किया जा रहा है। साथ ही, मेरे पास ईवेंट श्रोता कॉलबैक भी ठीक है() और ioErro() के लिए परिभाषित किया गया है।

जब ऐसा चलाया जाता है यह खिड़कियों पर बाहर प्रिंट: जी:

लोड करने के लिए प्रयास कर रहा है \ 0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg
यह मौजूद है: सच

... और फिर संपत्ति को सफलतापूर्वक लोड करता है।

MacOS पर, इसे बाहर प्रिंट:

लोड करने के लिए प्रयास कर रहा है: /Volumes/AC/0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg
यह मौजूद है: सच

... और फिर हर बार IOError के साथ विफल रहता है।

क्या कोई ऐसा कुछ देख सकता है जिसे मैं यहां याद कर रहा हूं? क्या मेरे पास कुछ प्रकार की अनुमति त्रुटि या कुछ है (फ़ाइल में "पढ़ना/लिखना" पहुंच है)। यूएसबी कुंजी को एमएस-डॉस एफएटी 32 में स्वरूपित किया गया है, क्या यह एक समस्या हो सकती है?

संपादित

मैं FAT16 के लिए MacOS में एक नया यूएसबी कुंजी प्रारूपित और कोई सफलता के साथ यह पर फ़ाइलें डाल दिया। समस्याएं बनी रहती हैं

संपादित

मैं अब सिर्फ एक ही त्रुटि मिल रही है/उपयोगकर्ताओं/-USERNAME-/डेस्कटॉप से ​​एक परिसंपत्ति लोड करने के लिए कोशिश कर रहा हूँ और अभी भी है, तो ऐसा लगता है कि यह सिर्फ एक अनुमतियाँ मुद्दा नहीं है यूएसबी स्टिक, यह उससे कहीं अधिक व्यापक है।

संपादित

समस्या हल हो! आखिर में मैंने अपनी 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)); 

मैं भी तार्किक ओएस का पता लगाने से जुड़े एक सा रूप में अच्छी तरह बयान परिष्कृत है

इन परिवर्तनों समस्या ठीक हो जाएगी।

मुझे आशा है कि किसी को यह उपयोगी लगेगा!

+0

FAT32 पूरी तरह से ठीक होना चाहिए। क्या आपके पास IOError पर अधिक जानकारी है? – Ben

+0

पथों में "एसी" अंतर क्या है? – Ben

+0

मैकोज़ में "एसी" ड्राइव का नाम है। यह विंडोज पथ में कारक नहीं है क्योंकि यह ड्राइव अक्षरों का उपयोग करता है। – nokturnal

उत्तर

1

समस्या हल हो गई! आखिर में मैंने अपनी 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)); 

मैं भी तार्किक ओएस का पता लगाने से जुड़े एक सा रूप में अच्छी तरह बयान परिष्कृत है

इन परिवर्तनों समस्या ठीक हो जाएगी।

मुझे आशा है कि किसी को यह उपयोगी लगेगा!

संबंधित मुद्दे