Weex 從無到有開發一款上線應用 5

iOS調試Demo
WeexDemo
本篇詳細說明一下如何調試,打包Weex。
Weex 從無到有開發一款上線應用 1中說了一些調試方法。Weex官方的調試在這里不多說了。這里說一下如何使用iOS調試Demo。

從iOS調試Demo說起

從git拉下來文件后

pod install

這里我在pod file里有兩種引入WeexSDK的形式

#   畢竟Weex開源 拉一份代碼到本地就能保證實時用的最新SDK,還能方便看源碼
#   想使用SDK的用pod 'WeexSDK' 想用源碼的 pod 'WeexSDK', :path => '/Users/apple/Desktop/incubator-weex'
    pod 'WeexSDK'
#   這個地方是拉下來的Weex源代碼路徑
#    pod 'WeexSDK', :path => '/Users/apple/Desktop/incubator-weex'

這樣就能編譯通過Demo。


單頁面調試&&AppFrame調試

顧名思義 進行單個頁面的調試 類似于Weex的DevTool。
可以通過加載AppFrame.js來調試整個app
真機需要掃描二維碼來加載,模擬器需要設置renderURL

- (IBAction)單頁面調試:(UIButton *)sender {
#if TARGET_IPHONE_SIMULATOR//模擬器
    NSString * url = @"";
    XMWXViewController * viewController = [[XMWXViewController alloc] init];
    XMWXViewController * __weak weakViewController = viewController;
    viewController.instance.onCreate = ^(UIView * view)
    {
        XMWXViewController * __strong vc = weakViewController;
        [vc.view addSubview:view];
    };
    viewController.instance.frame = viewController.view.bounds;
    viewController.instance.onLayoutChange = ^(UIView *view)
    {
        XMWXViewController * __strong vc = weakViewController;
        vc.instance.frame = vc.view.bounds;
    };
    
    if ([url hasPrefix:@"http"]) {
        viewController.renderURL = [NSURL URLWithString:url];
    }else
    {
        NSString * path = [[NSBundle mainBundle] pathForResource:url ofType:@""];
        if (path) {
            viewController.renderURL = [NSURL fileURLWithPath:path];
        }
    }
    [self showViewController:viewController sender:nil];

#elif TARGET_OS_IPHONE//真機
    
    [self showViewController:[[XMWXScanViewController alloc] init] sender:sender];
    
#endif

}
- (IBAction)AppFrame調試:(UIButton *)sender {
#if TARGET_IPHONE_SIMULATOR//模擬器
    NSString * url = @"";
    WXSDKInstance * instance = [(UIResponder *)[UIApplication sharedApplication].delegate valueForKey:@"instance"];
    [instance destroyInstance];
    [(UIResponder *)[UIApplication sharedApplication].delegate setValue:nil forKey:@"instance"];
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wundeclared-selector"
    [(UIResponder *)[UIApplication sharedApplication].delegate performSelector:@selector(instance:) withObject:url];
#elif TARGET_OS_IPHONE//真機
    
    [self showViewController:[[XMWXScanViewController alloc] init] sender:sender];
    
#endif
}
WeexDemo調試

首先還是拉下來代碼,將目錄中的build.zip解壓到目錄中。

weex_app目錄.png

webstorm打開app_weex

webstrom項目結構.png

打開WebStorm的Terminal(注意是打開WebStorm的Terminal)。
快捷鍵:fn + option + f12
或者:view->ToolWindows->Terminal
1.輸入

npm install

并執行


npm install.png
npm installing.png

2.之后輸入

weex compile src dist

命令并執行


weex compile src dist.png

3.之后輸入

npm run serve

npm run serve.png

這樣我們的服務就運行在你的本機IP + 8084(可以在package.js中設置)
這時隨便找一個二維碼生成網站,生成一下需要調試的JSBundle地址。
如用草料
http://yourip:8084/dist/Components/Frame/AppFrame.js生成二維碼,用iOS調試Demo掃描該二維碼就可以看到應用界面。
掃描結果如圖
單頁面調試

AppFrame調試

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容