显然,this is a well known issue在升级到Xcode 8时反应原生。我按照this指南修复了我遇到的错误,但是当我的应用尝试加载时,我仍然收到以下错误<ScrollView/>
组件。React Native升级到Xcode8后RCTCustomScrollView坏了
[RCTCustomScrollView refreshControl]: unrecognized selector sent to instance 0x16099e00
,每个人都似乎认为我RCTScrollView.m
代码导致问题如下所示:
- (void)setRefreshControl:(RCTRefreshControl *)refreshControl
{
if (refreshControl) {
[refreshControl removeFromSuperview];
}
refreshControl = refreshControl;
[self addSubview:refreshControl];
}
- (void)removeReactSubview:(UIView *)subview
{
if ([subview isKindOfClass:[RCTRefreshControl class]]) {
_scrollView.refreshControl = nil;
} else {
RCTAssert(_contentView == subview, @"Attempted to remove non-existent subview");
_contentView = nil;
[subview removeFromSuperview];
}
}
一切似乎很好地工作,当我运行iOS 9.1.1的设备上运行此,但是当我尝试运行9.3的设备时,它在尝试加载<ScrollView/>
时崩溃。
重要提示 - 我运行原生的反应和0.28是在紧张的情况下,我现在不能升级,因此我必须手动进行修复。