react native 升级xcode 10踩坑

error: Build input file cannot be found: '/xxxt/libfishhook.a'

用Xcode 10 编译老旧项目遇到的两个问题如下:

一、WebSocket / libfishhook.a 链接文件未找到

error:Build input file cannot be found:‘/Users/.../Libraries/WebSocket/libfishhook.a’

libfishhook.a 文件未找到

通常编译报 Build input file cannot be found错误,说明该文件存放位置有问题,只需要移除之后,重新添加一下文件就可以编译通过。如下:

libfishhook.a 文件位置

二、library not found for -lstdc++.6.0.9 库未找到

ld:  library not found for -lstdc++.6.0.9

clang: error :linker command failed with exit code 1 (use -v to see invocation)

1、Xcode 10 中移除了 “-libstdc++.6.0.9” 库,需要在旧版Xcode 9 中查找到“-lstdc++.6.0.9”库之后,复制一份放入Xcode 10 lib库中。

苹果官方文档

可以在我的GitHub下载缺失的库文件,也可以在旧版Xcode 9 中查找,路径如下:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib

      使用快捷键打开:command + shift + G 前往文件夹

前往文件夹

shift+command+G

2、找到这两个文件,复制到Xcode 10 lib库文件相同的位置,

lib库中的两个文件

3、如果用真机和者模拟器编译运行,请在iPhoneOS.platform(真机)和iPhoneSimulator.platform(模拟器)两个文件下的lib文件夹分别添加libstdc++6.0.9tbd和libstdc++.6.tbd两个文件。

添加libstdc++ 文件

4、清除一下(shift+command+K)缓存,重新编译(command + B)一下即可。

作者:HowieDev

链接:https://www.jianshu.com/p/3e29e9d897c8

來源:

著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。



react Native在release的过程中,总是会遇到一些奇怪的问题

xcode 9.3进行release的过程中,经常会出现这个问题

Build fails./Users/*****/node_modules/react-native/Libraries/Text/RCTTextField.m:131:108: Valuesoftype'NSInteger'should not be usedasformatarguments; add an explicit cast to'long'insteadRCTLogWarn(@"Native TextInput(%@) is %zd events ahead of JS - try to make your JS faster.", self.text, eventLag);Enum valueswithunderlying type'NSInteger'should not be usedasformatarguments; add an explicit cast to'long'instead

同时在RCTImage和RCTImageCache中都会出现相同的问题。

解决这个问题有两种途径,一个是把xcode降级到9.2,另一种则是把%zd改成lld并在eventLag的前面加上 (long long )。

最近手贱将xcode升级到10,然后在一开始builddebug版本时并没有太多问题,但是在release的时候碰到了一下问题

▸ Compiling vlog_is_on.cc❌  /Users/guillaumehain/Developments/companion/node_modules/react-native/third-party/glog-0.3.4/src/base/mutex.h:105:10:'config.h'filenotfound#include "config.h"          // to figure out pthreads support^

为了解决这个问题,在查阅了github后进行了如下操作

$cdnode_modules/react-native/third-party/glog-0.3.4/ && ./configure

然后又出现了下面这个问题

[10:41:27]: ▸ Compiling signalhandler.cc[10:41:27]: ▸ ❌  /Users/guillaumehain/Developments/companion/node_modules/react-native/third-party/glog-0.3.4/src/signalhandler.cc:78:28: no member named'__rip'in'__darwin_arm_thread_state'[10:41:27]: ▸return(void*)context->PC_FROM_UCONTEXT;[10:41:27]: ▸

大晚上的差点气的摔了电脑,想想算了,毕竟自己手贱升级的,

又查阅了github之后,发现可以把(void*)context->PC_FROM_UCONTEXT改成NULL

即改成下面这个样子

return(void*)context->PC_FROM_UCONTEXT;== >returnNULL;

这样就可以进行release版本了,暂时为什么会出现这些问题,以及这样做有什么问题并不清楚,等之后有时间了再深究一下。

作者:niklause_sun

链接:https://www.jianshu.com/p/2eddaa458eb1

來源:

著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(react native 升级xcode 10踩坑)