Я пытаюсь сделать простое приложение (, используя theos на моем устройстве, поэтому нет xcode/mac, просто ifile), который отображает HTML-файл и имеет кнопку на панели навигации, которая обновляет локальный файл HTML, загружая новый версию с сервера и перезапись существующей. Моя проблема в том, что более новая версия HTML-файла не загружается, а существующая остается неизменной.Использование theos, как загрузить файл HTML и перезаписать существующий (цель-c)?
При нажатии кнопки, это код, который я должен попытаться обновить локальный файл HTML:
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"blank" ofType:@"html"]isDirectory:NO]]];
NSData *theData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://mydomain.com/index.html"]];
[theData writeToFile:[NSBundle pathForResource:@"index" ofType:@"html" inDirectory:[[NSBundle mainBundle] bundlePath]] atomically:NO];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];
blank.html является пустой HTML-файл. Я положил его туда, чтобы я мог сортировать обновление index.html, а также иметь index.html, не использующий белый, он перезаписывается новой версией. Я не уверен, что это то, что происходит или даже необходимо, но оно не работало раньше, и я подумал, что это может исправить, но это не так.
Некоторые подробнее:
<*RootViewController.h*>
@interface RootViewController: UIViewController {
UINavigationBar*navBar;
UIWebView*webView;
}
@property (nonatomic, retain) UIWebView*webView;
@end
и
<*RootViewController.mm*>
#import "RootViewController.h";
@implementation RootViewController
- (void)loadView {
//this is where I set up the webview, navigation bar, and button
}
@synthesize webView;
- (void)theButtonPressed {
//this is where I try to update the index.html file
}
Пожалуйста, дайте мне знать, что я делаю не так и как это исправить, или если вам нужна дополнительная информация. Благодаря!
Итак, если я поместил его в каталог документов, он будет работать? У меня есть это в папке «Ресурсы» прямо сейчас, так что это только чтение? – mobabur94
Должен работать, дайте ему попробовать. Если вы не хотите, чтобы пользователи видели/изменяли файлы (через iTunes), используйте каталог поддержки приложений, вы можете получить ссылку на него (или подобное) с помощью NSFileManager: URLForDirectory: NSApplicationSupportDirectory ::: – Gruntcakes
Итак, я попробовал используя каталог документов следующим образом: [theData writeToFile: [[NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent: @ "index.html"] atomically: NO]; Но теперь приложение падает, когда я нажимаю кнопку обновления. Я попытался использовать NSError, но theos не скомпилировал его. – mobabur94