美文网首页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