美文网首页
Taro_React Native iOS 错误记录

Taro_React Native iOS 错误记录

作者: 失心F | 来源:发表于2019-12-26 15:15 被阅读0次

    cd到taro项目根目录,运行yarn install

    npm run dev:rn

    cd 到 rn_temp目录运行,生成jsbundle,需要在rn_temp目录下新建bundle文件夹

    node ../node_modules/react-native/local-cli/cli.js bundle --entry-file ./rn_temp/index.js --bundle-output ./bundle/main.jsbundle --assets-dest ./bundle --dev false --platform ios

    问题记录:

    1.config.h' file not found

    cd node_modules/react-native/third-party/glog-0.3.4

    //  第一步。找到路径,进入glog-0.3.4文件里

    ../../scripts/ios-configure-glog.sh

    //  第2步。

    2.

    报错为

    Unknown argument type '__attribute__' in method -[RCTAppState getCurrentAppState:error:]. Extend RCTConvert to support this type.

    这个BUG是Xcode.11引起的, 可以查看这个问题的提交记录,链接为:https://github.com/facebook/react-native/issues/25138

    我们只需要找到RCTModuleMethod.mm这个文件,大约在93行左右

    修改

    static BOOL RCTParseUnused(const char **input)

    {

      return RCTReadString(input, "__unused") ||

             RCTReadString(input, "__attribute__((__unused__))") ||

             RCTReadString(input, "__attribute__((unused))");

    }

    这个函数插入    RCTReadString(input, "__attribute__((__unused__))") ||  这行代码重新运行就行了。

    3.项目运行无误,Archive出错

    Cocoapods下的第三方库libReact.a多个路径

    :-1: Multiple commands produce '/Users/***/Library/Developer/Xcode/DerivedData/sentryCpush-cvpqbragxhlzloeebvyoihyauasl/Build/Intermediates.noindex/ArchiveIntermediates/sentryCpush/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/libReact.a':

    1) Target 'React' has a command with output '/Users/***/Library/Developer/Xcode/DerivedData/sentryCpush-cvpqbragxhlzloeebvyoihyauasl/Build/Intermediates.noindex/ArchiveIntermediates/sentryCpush/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/libReact.a'

    2) Target 'React' has a command with output '/Users/***/Library/Developer/Xcode/DerivedData/sentryCpush-cvpqbragxhlzloeebvyoihyauasl/Build/Intermediates.noindex/ArchiveIntermediates/sentryCpush/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/libReact.a'

    解决方法:

    在Podfile中添加:

      post_installdo|installer|

        installer.pods_project.targets.eachdo|target|

          # The following is needed to ensure the "archive" step works in XCode.

          # It removes React & Yoga from the Pods project, as it is already included in the main project.

          # Without this, you'd see errors when you archive like:

          # "Multiple commands produce ... libReact.a"

          # "Multiple commands produce ... libyoga.a"

          targets_to_ignore = %w(React yoga)

          iftargets_to_ignore.include? target.name

            target.remove_from_project

          end

        end

      end

    然后 pod install 

    参考链接:

    https://www.jianshu.com/p/804dac985411

    4.react-native run-ios --simulator="iPhone 6",运行时指定启动版本

    5.'React/RCTBridgeModule.h' file not found

    先clean,然后Scheme 选择React 先编译,编译成功后选择项目再次编译

    相关文章

      网友评论

          本文标题:Taro_React Native iOS 错误记录

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