【问题标题】:Missing realm constructor react native ios but realm is linked缺少领域构造函数反应本机 ios 但领域已链接
【发布时间】:2017-12-30 20:20:59
【问题描述】:

不断收到 Missing Realm Constructor 错误,并尝试了从 Realm documentation on this common issue 到重新链接 rnpm link realm 的所有方法,这告诉我它们已经链接。我也尝试通过手动添加libRealmReact.a 文件在 Xcode 中进行链接,但都无济于事。

【问题讨论】:

    标签: javascript ios react-native realm


    【解决方案1】:

    经过几个小时的调试和浏览 GitHub 问题文章(并发布了我自己的一篇)后,我发现 this article 解决方案是将 Realm 变量设置为 null 以进行加载,但要在构造函数如下:

    const Realm = null;
    constructor() {
        if (Realm === null) { Realm = require('realm'); };
    }
    

    问题是存在某种时间问题,即在视图本身实例化之前 Realm 没有加载。

    【讨论】:

    • 将变量赋值给 null 并检查是否为 null。我认为这不会有任何区别。
    • 阅读最后一行。如果导入 Realm,则会引发错误,因为无论出于何种原因,Realm 在视图实例化之前都不会加载。检查 null 是为了防止每次加载类时 Realm 指针的内存泄漏
    【解决方案2】:

    对我来说,以下步骤有效,这里的领域 npm 版本起了主要作用 -

    第一步

    npm install --save realm@v3.3.0
    
    react-native link realm
    

    第 2 步:运行(构建)名为“RealmReact”的 XCode 项目目标

    第 3 步:将二进制文件与项目的库链接,添加名为“libRealmReact.a”的框架

    如果以上步骤都不起作用,那就尝试删除RealmReact.xcodeproj的测试目标

     your xcode project->Libraries->RealmReact.xcproject->Test target for this linked project
    

    【讨论】:

      【解决方案3】:

      现在,您可以在 Pod 文件中添加这一行:-

      pod 'RealmJS', :path => '../node_modules/realm' pod 'GCDWebServer'

      【讨论】:

      • 我试过了,但这似乎不起作用
      猜你喜欢
      • 2016-03-29
      • 2017-04-26
      • 1970-01-01
      • 2017-03-23
      • 2022-07-16
      • 1970-01-01
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多