Tips:iOS14下 Weex 0.28.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 
#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 无法显示图片)