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調試