Weex项目初始化weex-iOS集成

简介: 项目初始化1、没有现成的工程的话新建iOS项目命令行cd到项目根目录 执行 pod init,会创建一个pod配置文件用编辑器打开,加上 pod 'WeexSDK', :path=>'.

项目初始化

1、没有现成的工程的话新建iOS项目


命令行cd到项目根目录 执行 pod init,会创建一个pod配置文件


用编辑器打开,加上 pod 'WeexSDK', :path=>'./sdk/'


下载最新的weexSDK https://github.com/alibaba/weex


在ios目录下有个sdk文件夹,把它复制到ios项目根目录,和podFile里配置的路径一致


关掉xcode,在当前目录,命令行执行pod install,


现在项目目录变成了这样,以后点击xcworkspace文件打开项目


创建一个新目录weex,命令行cd到weex目录,执行weex init,会提示你输入项目名称


自动创建的文件:


在当前目录命令行执行npm install,安装依赖库

创建一个文件夹js,命令行执行weex src -o js生成最终需要的js文件

也可以weex src/main.we在浏览器预览

或者weex src/main.we --qr 生成二维码,用playground App 扫描预览

加载weex页面

xcode打开workspace项目文件


打开AppDelegate.m添加一下内容


将之前创建的js文件夹拖到xcode工程的文件列表


效果是这样的


weex视图控制器的初始化

ViewController.h:

  1. //  
  2. //  ViewController.h  
  3. //  weexDemo3  
  4. //  
  5. //  Created by admin on 16/8/3.  
  6. //  Copyright © 2016年 admin. All rights reserved.  
  7. //  
  8.   
  9. #import <UIKit/UIKit.h>  
  10.   
  11. @interface ViewController : UIViewController  
  12. - (instancetype)initWithJs:(NSString *)filePath;  
  13. @end

 ViewController.m  


#import "ViewController.h"

#import <WeexSDK/WeexSDK.h>



@interface ViewController()

@property(nonatomic,strong)WXSDKInstance *instance;

@property(nonatomic,strong)UIView *weexView;

@end





@implementation ViewController


NSURL *jsUrl;




-(instancetype)initWithJS:(NSString *)filePath {


    self = [superinit];

    if (self) {

        NSString *mai = [[NSBundlemainBundle]bundlePath];


        //        NSString *path=[NSString stringWithFormat:@"http://192.168.232.13:8080/examples/js/%@",filePath];  

        

         NSString *path=[NSStringstringWithFormat:@"file://%@/js/%@",[NSBundlemainBundle].bundlePath,filePath];

        NSLog(@"-----path:%@",path);

        jsUrl=[NSURLURLWithString:path];

    }

    returnself;

    




}


- (void)viewDidLoad {

    [superviewDidLoad];

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


    _instance = [[WXSDKInstancealloc]init];

    _instance.viewController =self;

    _instance.frame=self.view.frame;

    __weaktypeof(self) weakSelf =self;

    _instance.onCreate = ^(UIView *view) {

        [weakSelf.weexViewremoveFromSuperview];

        weakSelf.weexView = view;

        [weakSelf.viewaddSubview:weakSelf.weexView];

    };

    _instance.onFailed = ^(NSError *error) {

        NSLog(@"加载错误%@",error);

    };

    

    _instance.renderFinish = ^ (UIView *view) {

        NSLog(@"加载完成");

    };

    if (!jsUrl) {

        return;

    }

    [_instancerenderWithURL:jsUrl];

    

    

    self.view.backgroundColor=[UIColorwhiteColor];

}


- (void)dealloc

{

    [_instancedestroyInstance];

}



- (void)didReceiveMemoryWarning {

    [superdidReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}



@end



再打开AppDelegate.m创建导航控制器

引入头文件

#import "ViewController.h"

创建导航视图:

#import "AppDelegate.h"

#import <WeexSDK/WeexSDK.h>

#import "ViewController.h"



@interface AppDelegate ()


@end


@implementation AppDelegate



- (void)initWeex {

    [WXAppConfigurationsetAppGroup:@"ailinggong"];

    [WXAppConfigurationsetAppName:@"weexDemo"];

    [WXAppConfigurationsetAppName:@"1.0.0"];

    [WXSDKEngineinitSDKEnviroment];


}




- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    // Override point for customization after application launch.

    [selfinitWeex];

    

    ViewController *vc=[[ViewControlleralloc]initWithJS:@"about-me.js"];

    UINavigationController *nav=[[UINavigationControlleralloc]initWithRootViewController:vc];

    self.window.rootViewController=nav;

    

    returnYES;

}




运行


目录
相关文章
|
4月前
|
jenkins Java 持续交付
【项目集成工具】Jenkins
【项目集成工具】Jenkins
|
4月前
|
Java
SpringBoot项目集成Lombok
SpringBoot项目集成Lombok
33 1
|
4月前
|
负载均衡 应用服务中间件 Linux
JavaWeb项目自动部署,持续集成
JavaWeb项目自动部署,持续集成
36 0
|
1月前
|
XML Java 数据格式
springboot 微服务项目如何集成 html 页面
springboot 微服务项目如何集成 html 页面
29 0
|
2月前
|
Web App开发 小程序 Android开发
mPaaS小程序问题之接入iOS后阿里百川初始化报错如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。
46 1
|
2月前
|
安全 Java 网络安全
【Shiro】第四章 Web项目集成Shiro
【Shiro】第四章 Web项目集成Shiro
65 1
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
27 0
|
3月前
|
存储 NoSQL Java
基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖集成Redis(九)
基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖集成Redis(九)
|
3月前
|
iOS开发
iOS App Store 上传项目报错 缺少隐私政策网址 (URL) 解决方法
iOS App Store 上传项目报错 缺少隐私政策网址 (URL) 解决方法
iOS App Store 上传项目报错 缺少隐私政策网址 (URL) 解决方法
|
3月前
|
监控 Java BI
springboot集成积木报表项目springboot启动报错 Unable to load cache item
springboot集成积木报表项目springboot启动报错 Unable to load cache item

热门文章

最新文章