2012-05-02 3 views
0

Я пытаюсь сделать простое приложение (, используя 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 
} 

Пожалуйста, дайте мне знать, что я делаю не так и как это исправить, или если вам нужна дополнительная информация. Благодаря!

ответ

0

Разве это не только пучок, и вы пытаетесь написать ему.

+0

Итак, если я поместил его в каталог документов, он будет работать? У меня есть это в папке «Ресурсы» прямо сейчас, так что это только чтение? – mobabur94

+0

Должен работать, дайте ему попробовать. Если вы не хотите, чтобы пользователи видели/изменяли файлы (через iTunes), используйте каталог поддержки приложений, вы можете получить ссылку на него (или подобное) с помощью NSFileManager: URLForDirectory: NSApplicationSupportDirectory ::: – Gruntcakes

+0

Итак, я попробовал используя каталог документов следующим образом: [theData writeToFile: [[NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent: @ "index.html"] atomically: NO]; Но теперь приложение падает, когда я нажимаю кнопку обновления. Я попытался использовать NSError, но theos не скомпилировал его. – mobabur94