使用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
网友评论