Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by marcelino · Feb 28, 2013 at 09:57 AM · ioswwwxmlfile-iowww.error

How to read local XML file on iOS?

I wanted to read a locally stored XML file.

This is the snippet of my simple code, just to test the functionality:

 public class testLoadXML : MonoBehaviour 
 {
     string debugText;
     
     void Start () 
     {
         debugText = "path = ";
         
         StartCoroutine(parseXML());
     }
     
     void OnGUI()
     {
         GUI.Label(new Rect(0, 30, Screen.width, Screen.height), debugText);
     }
     
     IEnumerator parseXML()
     {
         string path;
         
         if(Application.isEditor)
             path = "file://" + Application.dataPath + "/../../testXML/interface/test.xml";
         else
             path = "file://" + Application.dataPath + "/../test.xml";
         
         debugText += path;
         
         if(System.IO.File.Exists(Application.dataPath + "/../test.xml"))
             debugText += "; file exists = yes";
         else
             debugText += "; file exists = no";
         
         debugText += "; result = ";
         
         var wwwDownload = new WWW(path);
         while(!wwwDownload.isDone)
             yield return null;
         
         if(!string.IsNullOrEmpty(wwwDownload.error))
             debugText += wwwDownload.error;
         else
             debugText += wwwDownload.text;
             
     }
 }

The process of the build is:
1. I build the xcode project in unity with Simulator SDK on the player setting.
2. On xcode on the target build phases I add the XML file on the Copy Files phase, with destination : Resources.
3. Then I build and run the project on the iPad simulator.

Now the problem is:
When I run the project on the Unity editor, everything runs fine and the debugText would contains the text from the XML file.
But when I run it on the iPad simulator, eventhough the File.Exists would return true, the wwwDownload.error will always return BAD URL.
Does anybody know why it returned BAD URL while File.Exists is true?

Thanks!

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by steakpinball · Feb 28, 2013 at 10:09 AM

WWW is not needed on iOS platforms to read a local file. FileStream can be used to read and write local files.

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image marcelino · Feb 28, 2013 at 12:29 PM 0
Share

Thank you very very much! It worked like a charm! Is this documented anywhere on the unity3d docs that we don't need WWW to read local file on iOS platform?

avatar image steakpinball · Feb 28, 2013 at 01:04 PM 0
Share

I don't believe it is specifically. The closest it comes is the list of .NET classes available with selected build platforms/optimization levels.

http://docs.unity3d.com/Documentation/ScriptReference/$$anonymous$$onoCompatibility.html

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

10 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

iOS ignores html error headers? 0 Answers

Loading a large xml file (~200 multi-level nodes) into Unity 1 Answer

Handle HTML response 0 Answers

How can I store Asset Bundles on a iOS device with the initial download? 3 Answers

Webplayer throwing FTP errors as popups 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges