如何从应用程序中的文件夹获取文件路径[iOS]

时间:2015-03-13 09:06:56

标签: ios objective-c filepath

我的应用中有一个.html文件。我想通过编码读取该文件路径。我在支持文件下创建一个文件夹。在该文件中,我有一个.html文件。我需要解析该文件。我的问题是如何获取该文件路径?

我需要Project_Management_Module文件夹中的 index_SCORM.html 文件。

请帮帮我。

enter image description here

我从html文件得到了这个回复。但它没有加载到Webview

     htmlFile == <!DOCTYPE html>

    <html lang="en">
      <head>
       <meta name='viewport' content='initial-scale = 1, minimum-scale = 1, maximum-scale = 1'/>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
       <meta http-equiv="x-ua-compatible" content="IE=10">
       <title></title>
       <style type="text/css">#initialLoading{background:url(assets/htmlimages/loader.gif) no-repeat center center;background-color:#ffffff;position:absolute;margin:auto;top:0;left:0;right:0;bottom:0;z-index:10010;}</style>

        <script>
        var deviceReady = false;
        var initCalled = false ;

        function onBodyLoad()
        {
           if(typeof window.device === 'undefined')
          {
             document.addEventListener("deviceready", onDeviceReady, false);
          }
          else
          {
              onDeviceReady();
          }
       }

      function onDeviceReady()
      {
          deviceReady = true ;
          if(initCalled === true)
           initializeCP();
       }

        function initializeCP()
        {
            initCalled = true ;
            if(cp.pg && deviceReady === false)
            return;

            function cpInit()
             {
                                             document.body.innerHTML = " <div class='cpMainContainer'  id='cpDocument' style='left: 0px; top:0px;' >    <div id='main_container' style='top:0px;position:absolute;width:100%;height:100%;'> <div id='projectBorder' style='top:0px;left:0px;width:100%;height:100%;position:absolute;display:block'></div>  <div class='shadow' id='project_container' style='left: 0px; top:0px;width:100%;height:100%;position:absolute;overflow:hidden;' >   <div id='project' class='cp-movie' style='width:100% ;height:100%;overflow:hidden;'>        <div id='project_main' class='cp-timeline cp-main'>         <div id='div_Slide' onclick='cp.handleClick(event)' style='top:0px; width:100% ;height:100% ;position:absolute;-webkit-tap-highlight-color: rgba(0,0,0,0);'></div>      </div>      <div id='autoplayDiv' style='display:block;text-align:center;position:absolute;left:0px;top:0px;'>          <img id='autoplayImage' src='' style='position:absolute;display:block;vertical-align:middle;'/>                                                    <div id='playImage' tabindex='9999' role='button' aria-label='play' onkeydown='cp.CPPlayButtonHandle(event)' onClick='cp.movie.play()' style='position:absolute;display:block;vertical-align:middle;'></div>     </div>  </div>  <div id='toc' style='left:0px;position:absolute;-webkit-tap-highlight-color: rgba(0,0,0,0);'>   </div>  <div id='playbar' style='bottom:0px; position:fixed'>   </div>  <div id='cc' style='left:0px; position:fixed;visibility:hidden;pointer-events:none;' onclick='cp.handleCCClick(event)'>     <div id='ccText' style='left:0px;float:left;position:absolute;width:100%;height:100%;'>     <p style='margin-left:8px;margin-right:8px;margin-top:2px;'>        </p>        </div>      <div id='ccClose' style='background-image:url(./assets/htmlimages/ccClose.png);right:10px; position:absolute;cursor:pointer;width:13px;height:11px;' onclick='cp.showHideCC()'>     </div>  </div>  <div id='gestureIcon' class='gestureIcon'>  </div>  <div id='gestureHint' class='gestureHintDiv'>       <div id='gImage' class='gesturesHint'></div>    </div>  <div id='pwdv' style='display:block;text-align:center;position:absolute;width:100%;height:100%;left:0px;top:0px'></div> <div id='exdv' style='display:block;text-align:center;position:absolute;width:100%;height:100%;left:0px;top:0px'></div> </div>  </div></div><div id='blockUserInteraction' class='blocker' style='width:100%;height:100%;'> <table style='width:100%;height:100%;text-align:center;vertical-align:middle' id='loading' class='loadingBackground'>       <tr style='width:100%;height:100%;text-align:center;vertical-align:middle'>         <td style='width:100%;height:100%;text-align:center;vertical-align:middle'>             <image id='preloaderImage'></image>             <div id='loadingString' class='loadingString'>Loading...</div>          </td>       </tr>   </table></div> <div id='initialLoading'></div>";

             cp.DoCPInit();
            var lCpExit = window["DoCPExit"];
            window["DoCPExit"] = function()
            {
            if(cp.UnloadActivties)
                cp.UnloadActivties();
            lCpExit();
        };
    }

      cpInit();
      }
  </script>
  </head>
    <body onload="onBodyLoad()">
        <div id='initialLoading'></div>

         <script>
            (function()
             {
            if(document.documentMode < 9)
            {
                document.body.innerHTML = "";

                document.write("The content you are trying to view is not supported in the current Document Mode of Internet Explorer. Change the Document Mode to Internet Explorer 9 Standards and try to view the content again.<br>To change the Document Mode, press F12, click Document Mode: <current mode>, and then select Internet Explorer 9 Standards.");

                return;
            }

            window.addEventListener("load",function() 
            {
                setTimeout(function() 
                {                   
                    var script = document.createElement('script');
                    script.type = 'text/javascript';
                    script.src = 'assets/js/CPXHRLoader.js';
                    script.defer = 'defer';
                    script.onload = function()
                    {
                        var lCSSLoaded = false;
                        var lJSLoaded = false;

                        function constructDIVs()
                        {
                            if(lCSSLoaded && lJSLoaded)
                            {
                                initializeCP();
                            }
                        }

    cpXHRJSLoader.css('assets/css/CPLibraryAll.css',function() {
                            lCSSLoaded = true;
                            constructDIVs();
                        });

                        var lJSFiles = [  'assets/js/jquery-1.6.1.min.js','scormdriver.js','assets/js/CPM.js' ];

                        cpXHRJSLoader.js(lJSFiles,function()
                        {
                            //console.log("js loaded");
                            lJSLoaded = true;
                            constructDIVs();
                        });
                    }

                    document.getElementsByTagName('head')[0].appendChild(script);

                },1);

            },false);

        })();

      </script>

    <noscript style="text-align:center;font-size:24px;">Enable Javascript support in the browser.</noscript>

    </body>

  </html>

3 个答案:

答案 0 :(得分:0)

这应该有效:

NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"index_SCORM" ofType:@"html"];
NSString* htmlString = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF8StringEncoding error:nil];
[yourWebView loadHTMLString:htmlString baseURL:nil];

同时检查pathForResource:ofType:inDirectory电话是否找到了资源。

答案 1 :(得分:0)

这是获取文件路径的方法:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"index_SCORM" ofType:@"html"];

答案 2 :(得分:0)

NSString *path = [[NSBundle mainBundle] pathForResource:@"index_SCORM" ofType:@"html"];

确保在将文件添加到项目时检查复制文件(如果需要)

enter image description here