美文网首页
Tips:iOS14下 Weex 0.28.0 无法显示图片

Tips:iOS14下 Weex 0.28.0 无法显示图片

作者: 薛定喵的鹅 | 来源:发表于2021-03-23 14:53 被阅读0次

    使用Pod更新项目中的第三方库,更新完发现Weex 0.28.0仍然无法在iOS14下显示图片,记得之前直接在Weex的源码基础上修改的,但是这样修改会在使用pod过程中将修改冲掉。

    在WXLayer.m中修改:

    #import "WXLayer.h"
    #import "WXDefine.h"
    #import "WXComponent.h"
    #import "WXComponent_internal.h"
    
    @implementation WXLayer
    
    - (void)display
    {
        if(@available(iOS 14.0, *)) {
            [super display];
        }
        [self.wx_component _willDisplayLayer:self];
    }
    
    @end
    

    为了防止下次使用pod,修改代码被冲掉,造成图片无法显示,决定在项目中写个WXLayer的Category,但是发现WXLayer.h和WXComponent_internal.h都属于内部头文件,没有被导出。
    我们把pod weex源码头文件设置为Header Search Paths,就可以找到头文件了。
    在主项目的target的Build Setting-->ALL--->搜索Header Search Paths,在Header Search Paths的Debug和Release下分别添加"$(SRCROOT)/Pods/WeexSDK/ios/sdk/WeexSDK/Sources",并更改选项为recursive。(当然直接找到WXLayer.h拖到窗口中也可以)

    在项目中添加WXLayer的Category代码就可以了。

    // WXLayer+Display.h 
    #import "WXLayer.h"
    
    NS_ASSUME_NONNULL_BEGIN
    
    @interface WXLayer (Display)
    
    @end
    
    NS_ASSUME_NONNULL_END
    
    // WXLayer+Display.m
    #import "WXLayer+Display.h"
    #import <WeexSDK/WeexSDK.h>
    #import "WXComponent_internal.h"
    
    @implementation WXLayer (Display)
    
    - (void)display{
        if(@available(iOS 14.0, *)) {
            [super display];
        }
        
        [self.wx_component _willDisplayLayer:self];
    }
    
    @end
    

    相关文章

      网友评论

          本文标题:Tips:iOS14下 Weex 0.28.0 无法显示图片

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