私はHTMLファイルを表示し、新しいをダウンロードすることにより、ローカルのHTMLファイルを更新し、ナビゲーションバーのボタンがあります(ただIFILE私のデバイス上のTHEOSを使用してありませんのでXcodeの/ MAC、)簡単なアプリケーションを作成しようとしていますバージョンを上書きして上書きします。 私の問題は、新しいバージョンのHTMLファイルがダウンロードされず、既存のものがそのまま残っていることです。theosを使って、HTMLファイルをダウンロードして既存のものを上書きするにはどうすればいいですか(objective-c)?
[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ファイルです:
ボタンが押されが、これは私が試してみて、ローカルの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
}
私は間違っているとどのようにあなたが任意のより多くの情報が必要な場合は、それを修正したりするのです何を教えてください。ありがとう!
ドキュメントディレクトリに入れても動作しますか?私は今すぐResourcesフォルダにあるので、それは読み取り専用ですか? – mobabur94
うまくいけば、試してみてください。あなたがユーザーに表示したくない場合は/(iTunes経由)ファイルを変更するアプリケーション・サポート・ディレクトリを使用し、あなたはそれ(または類似)へのURLリンクを取得することができますNSFileManagerを使用して:URLForDirectory:NSApplicationSupportDirectory ::: – Gruntcakes
[OK]をので、私が試しました次のようなドキュメントディレクトリを使用します。 [theData writeToFile:[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory、NSUserDomainMask、YES)lastObject] stringByAppendingPathComponent:@ "index.html"] atomically:NO]; しかし、今、私は、更新ボタンを押すと、アプリがクラッシュ..私はNSErrorを使用してみましたが、THEOSはそれをコンパイルしません。 – mobabur94