美文网首页ReactNative
react native 升级xcode 10踩坑

react native 升级xcode 10踩坑

作者: 冰天无幻 | 来源:发表于2018-10-12 11:49 被阅读1462次

    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踩坑

        本文链接:https://www.haomeiwen.com/subject/emgwaftx.html