Używanie pliku .html, .js zapisanego w piaskownicy (katalogu Dokumenty) aplikacji iOS, dzięki czemu mogę otworzyć plik html również w trybie offline

Muszę wyświetlić plik .html, który potrzebuje pliku highcharts.js, jquery.min.js, aby wyświetlić wykres. Planuję wyświetlić plik .html w UIWebView.

Widziałem, że gdy pliki (np. Html, highcharts.js, jquery.min) znajdują się w pakiecie aplikacji, mogę ich używać w ten sposób -

aPath = [[NSBundle mainBundle] pathForResource:@"htmlfile" ofType:@"html"]; [self.graphWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:aPath isDirectory:NO]]];

W tym miejscu „htmlFile” ma takie źródło -

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TITLE</title>

<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="highcharts.js"></script>
<script type="text/javascript" src="htmlfile.js"></script>
<script type="text/javascript" src="global.js"></script>
</head>
<body>
<div id="wrapper">

<div id="container"></div>    
</div>
</body>
</html>

Tak więc, aby wyświetlić zawartość w UIWebView, potrzebowałem tylko plików .html i .js jakoZasoby pakietu w zakładce Fazy budowania Xcode.

Problem:

Jak wyświetlić plik .html mający źródło, jak pokazano powyżej, gdy jest zapisany w piaskownicy aplikacji?

Wat Próbowałem:

1 Stworzyłem folder w aplikacji SandBox w ten sposób -

NSArray * paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);

NSStringaFolderPath = [(NSString) [paths objectAtIndex: 0] stringByAppendingFormat: @ "/% @", @ "folder"];

if(![[NSFileManager defaultManager] isWritableFileAtPath:aFolderPath]){

[[NSFileManager defaultManager] createDirectoryAtPath: aFolderPath withIntermediateDirectories: NO atrybuty: nil error: nil]; }

2. Następnie skopiowałem pliki html, js w aplikacji SandBox z pakietu aplikacji w ten sposób -

NSString * aJs = [[NSBundle mainBundle] pathForResource: @ "JSFile" ofType: @ "js"];

aJs = [NSString stringWithContentsOfFile:aGlobaljs encoding:NSUTF8StringEncoding error:nil];

NSString *aPath = [(NSString*)[paths objectAtIndex:0] stringByAppendingFormat:@"/folder/%@",@"JSFile.js"];

[aJs writeToFile:aPath atomically:YES encoding:NSUTF8StringEncoding error:nil];

Teraz wszystkie potrzebne pliki znajdują się w folderze SandBox o nazwie „folder”, więc próbowałem otworzyć zapisany plik html w UIWebView w ten sposób -

[self.webView loadRequest: [NSURLRequest requestWithURL: [NSURL URLWithString: pathToHtmlFileinDocumentsDic relativeToURL: [NSURL URLWithString: aFolderPath]]]];

To nie działa.

questionAnswers(2)

yourAnswerToTheQuestion