React Native Xcode 8.0 打包报错解决方法

  昨天又到了版本移交的日子,源码发给客户方后,打包人员说打包失败,顿时惊起一身冷汗,难道代码有错?不应该啊,我这里打包是正常的,随让对方发来报错信息,报错信息提示RCTSRWebSocket.m报错,Ignoring return value of function declared with warn_unused_result attribute  什么鬼。自己又默默看了下自己的Xcode 版本号,7.1.1 问了客户方 Xcode 的版本 ,得知他们上周刚升级到 Xcode 8.0 ,好吧,对于React native 在 Xcode 8.0 下报错一点也不奇怪。 废话不多说,处理的方法有两种。

1,Xcode 做降级处理,当然好不容易升级到Xcode8.0 ,在降级,有点说不过去。那就放大招吧。

2.RCTSRWebSocket.m报错,需要在报错的错误处SecRandomCopyBytes(kSecRandomDefault, sizeof(uint32_t), (uint8_t*)mask_key)做处理,只需在该处加上(void)即可。如下:(void)SecRandomCopyBytes(kSecRandomDefault, sizeof(uint32_t), (uint8_t *)mask_key);

RCTSRWebSocket.m 共有两处涉及,请确保都要修改。

只处理 RCTSRWebSocket.m还是不行。还需要在RCTScrollView.m 做出修改

@implementation RCTCustomScrollView

{

__weak UIView *_dockedHeaderView;

RCTRefreshControl *_refreshControl; //加入此行

}

不然会报 Use of undeclared identifier '_refreshControl'; did you mean 'refreshControl'?错误,RCTScrollView.m 位于Xcode项目中libraries下React.xcodeproj / React / View 中 

当然如果你的react-ntive 版本在0.32.0以上,这些都不用处理。react-native 0.32.0以下版本可按此方法处理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容