美文网首页iOS精品文章第三方工具类iOS开发笔记
iOS 利用CocoaHttpServer搭建手机本地服务器

iOS 利用CocoaHttpServer搭建手机本地服务器

作者: c608 | 来源:发表于2017-07-25 13:54 被阅读1693次

1、首先导入第三方
目录结构


屏幕快照 2017-07-25 下午1.39.53.png

然后导入你需要加载的html资源

17656F3B-8000-42A3-BA37-182924DAA1CF.png
屏幕快照 2017-07-25 下午1.50.46.png

2、在appdelegate中开启服务,获取端口号

屏幕快照 2017-07-25 下午1.54.56.png 屏幕快照 2017-07-25 下午1.55.04.png

pragma mark - 搭建本地服务器 并且启动

- (void)setupLocalHttpServer{
    _localHttpServer = [[HTTPServer alloc] init];
    [_localHttpServer setType:@"_http.tcp"];
    
    NSFileManager *fileManager = [[NSFileManager alloc] init];
    NSLog(@"%@",webPath);
    
    
    if (![fileManager fileExistsAtPath:webPath]){
        
        NSLog(@"File path error!");
    }else{
        NSString *webLocalPath = webPath;
        [_localHttpServer setDocumentRoot:webLocalPath];
        NSLog(@"webLocalPath:%@",webLocalPath);
        [self startServer];
    }
}
- (void)startServer
{
    
    NSError *error;
    if([_localHttpServer start:&error]){
        NSLog(@"Started HTTP Server on port %hu", [_localHttpServer listeningPort]);
        self.port = [NSString stringWithFormat:@"%d",[_localHttpServer listeningPort]];
        //保存端口号,在调用的时候使用
            NSUserDefaults *accountDefaults = [NSUserDefaults standardUserDefaults];
                 [accountDefaults setObject:self.port forKey:@"webPort"];
                [accountDefaults synchronize];
    }
    else{
        NSLog(@"Error starting HTTP Server: %@", error);
    }
}

3、在UIViewController中加载webView
注意:链接必须是http://locoahost:端口号

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIWebView *webView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //获取端口号,加载本地服务器html
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://localhost:%@", [userDefaults objectForKey:@"webPort"]]];
    NSLog(@"%@",[NSString stringWithFormat:@"http://localhost:%@", [userDefaults objectForKey:@"webPort"]]);
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [self.webView loadRequest:request];

    // Do any additional setup after loading the view, typically from a nib.
}

因demo换本给丢了,给大家一个我当时写的时候参考链接参考链接

相关文章

网友评论

  • Dreamhai:楼主,出现本地资源一直在加载的情况是怎么回事呢,端口也打开了,本地服务器也已正常启动,就是加载资源的时候,webview走不到finish方法
  • 4002796ae144:你好我也想要一个demo,邮箱714539806@qq.com,谢谢!
  • 615bf5197ab6:楼主,第三部分为啥要webview,不太能理解,这个是手机端现实的,影响电脑端打开网页吗。
    c608:不影响电脑端打开,调通以后其实就是加载一个url,
  • miwer:你好能不能把demo发给我一份呢 971513280@qq.com
    miwer:@c608 好的 非常感谢
    c608:你看一下这个链接,换电脑没拷贝,https://github.com/OPTJoker/CocoaHttpServer
  • 南方旅行:楼主方便发一下Dome吗?
    逗比李大锤:您好,大神,可否给我发份Demo
    南方旅行:@c608 912885575@qq.com 谢谢了
    c608:发一个邮箱给你发过去

本文标题:iOS 利用CocoaHttpServer搭建手机本地服务器

本文链接:https://www.haomeiwen.com/subject/njdwkxtx.html