美文网首页Weex学习iOS视角
WeexSDK及项目里Weex模块做成私有库

WeexSDK及项目里Weex模块做成私有库

作者: 十一岁的加重 | 来源:发表于2017-10-20 09:03 被阅读22次

    更新2018-6-7:
    今天准备从之前的0.13.0版本升级到0.18.0版本。操作流程如下:
    下载源码

    image.png
    源码整个替换,删除之前的,放入新的
    image.png
    更新
    image.png
    迁移源码变更的类
    WXEditComponentWXNavigationDefaultImplWXTextInputComponentWXGlobalEventModule里的
    /// 不太清楚为啥要注释掉之前的一些判断
    - (void)fireGlobalEvent:(NSNotification *)notification
    {
        NSDictionary * userInfo = notification.userInfo;
    
            for (WXModuleKeepAliveCallback callback in _eventCallback[notification.name]) {
                callback(userInfo[@"param"], true);
            }
    
    }
    
    

    然后spec文件里版本同步就行了。
    那么问题来了
    WXJSASTParser这个文件中的
    #include <string>在执行lint时居然报错,找不到string.h文件。
    处理中...
    加入--use-libraries即可解决

    场景:我们用的是WeexSDK版本0.13.0,当时是公司一大神集成到项目里的,方式是本地pod,可以看到文件结构是这样的

    image.png image.png
    场景来了,公司有七八个项目,我们都会采用这样的复制文件夹,本地pod的方式来安装WeexSDK,由于需要根据项目需求修改源码,所以我们会有七八个项目同时进行修改不同或者相同地方源码,这个时候问题来了,这修改如何同步怎么同步,这时,就需要我们引用同一处地方的WeexSDK了,考虑了一下有两种方式解决:
    第一种,把WeexSDK放在公司的gitlab上做成私有pod
    第二种,把WeexSDK放在公司的gitlab上做成git submodule
    由于功力不够暂只能使用第一种,初步判定第二种方式实现起来比第一种方式复杂。
    所以我们就得处理好podspec文件,那么问题来了,就算去官网0.16.0的版本用pod lib lint命令还是不行的,也许是pod的机制不一样吧,官网就是一个framework的,而我们的场景是需要源码开放修改,所以只能自己重新弄个lib来加入源码及资源文件了。 image.png image.png
    这里在验证时老是说什么license找不到,于是我就从随便弄了个放进去 image.png

    然后podspec文件里也没做什么大改动,主要是修改了一下源码 及资源文件的路径
    当然还是建议把源码里的警告那么都修改好。

    接着在做weex模块时遇到 了,non-modular header inside framework module,解决方案s.user_target_xcconfig = { 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES'} 由于项目使用到了libbz2.tbd,所以这个大坑浪费了很多时间,网上的写法是s.library = 'z' ,找了很久没有相关的,可能是自己理解不够深入吧,后面终于想明白了,应该写成s.library = 'bz2',然后还需要注意的是,我们依赖了自己的私有的WeexSDK,得有个依赖 s.dependency 'YourWeexSDK',在验证spec时用的命令是pod spec lint CKKWeekModule.podspec --sources='私有Specs地址类似CocoaPods的 ,https://github.com/CocoaPods/Specs.git' --allow-warnings,接下来就是如何解耦、中间件、往组件化方向发展了

    相关文章

      网友评论

        本文标题:WeexSDK及项目里Weex模块做成私有库

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