WLXWebViewReloader 1.0.1

WLXWebViewReloader 1.0.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布时间最后发布2014年12月

Guido Marucci Blas维护。



  • Guido Marucci Blas

使用方法

要运行示例项目,首先是克隆仓库,然后从Example目录中运行pod install

要求

为了让这个Pod实际生效,您需要安装webview-reloader-server

brew install node
npm install -g webview-reloader-server

安装

使用方法

在您的视图控制器中导入WLWebViewReloader类别

#import <WLXWebViewReloader/WKWebView+WLXWebViewReloader.h>

以下是如何配置WebView的示例

#import "ViewController.h"
#import <WLXWebViewReloader/WKWebView+WLXWebViewReloader.h>

@import WebKit;

@interface ViewController ()<WKNavigationDelegate, WLXWebViewReloaderDelegate>

@property (nonatomic) WKWebView * webView;
@property (nonatomic) WLXWebViewReloader * webViewReloader;

@end

@implementation ViewController

- (void)loadView {
    [super loadView];
    self.webView = [[WKWebView alloc] init];
    self.view = self.webView;
}

- (void)viewDidLoad {
    [super viewDidLoad];

#ifdef DEBUG
    self.webView.reloaderIdentifier = @"MyWebView";
    self.webView.reloaderDelegate = self;
    [self.webView reloadOnFileChange];
#endif

    NSURL * URL = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"];
    NSURLRequest * request = [NSURLRequest requestWithURL:URL];
    self.webView.navigationDelegate = self;
    [self.webView loadLocalRequest:request];
}

- (void)viewWillAppear:(BOOL)animated {
    [self.webView startListeningToFileChanges];
}

- (void)viewWillDisappear:(BOOL)animated {
    [self.webView stopListeningToFileChanges];
}

#pragma mark - WLXWebViewReloaderDelegate methods

- (void)webViewReloader:(WLXWebViewReloader *)reloader didFailToConnect:(NSError *)error {
    NSLog(@"Error connecting reloader: %@", error);
}

- (void)webViewReloaderDidConnect:(WLXWebViewReloader *)reloader {
    NSLog(@"Reloader connected!");
}

- (void)webViewReloader:(WLXWebViewReloader *)reloader willReloadWebView:(WKWebView *)webView {
    NSLog(@"Web view about to be reloaded");
}

- (void)webViewReloader:(WLXWebViewReloader *)reloader didReloadWebView:(WKWebView *)webView {
    NSLog(@"Web view reloaded!");
}

@end

WebView的reloaderIdentifier需要与在webview-reloader-server配置文件中配置的监听器名称匹配。

此外,您需要调用loadLocalRequest:而不是loadRequest,以便能够从Web服务器加载源代码。如果没有配置reloader,则loadLocalRequest将转发到loadRequest

作者

Guido Marucci Blas,[email protected]

许可证

WLXWebViewReloader在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。