尝试在iOS上运行react-native时出错

时间:2019-07-12 12:17:57

标签: react-native react-native-ios

所以我用react-native开发了一个应用程序,已经在Android上运行并经过测试,但是现在是ios部分。 我正在MacOS上使用React作为软件包管理器使用React Native版本0.60.3。

我正在运行“ react-native start --reset cache”。 然后在另一个控制台上运行“ react-native run-ios:”, 并得到这个错误: ” 错误无法构建iOS项目。我们运行了“ xcodebuild”命令,但它退出并显示错误代码65。要进一步调试构建日志,请考虑通过打开app.xcworkspace使用Xcode.app构建您的应用程序。 .... 错误:无法解析构建文件:XCBCore.BuildFile(missingTargetProductReference(...)) “

因此,然后我尝试使用Xcode运行,并且在“ react-native start --reset-cache”控制台上收到此错误: ” 错误:无法从./index解析模块/Users/nono/work/myapp/.:从./index找不到模块/Users/nono/work/myapp/.。实际上,这些文件都不存在:   * /Users/nono/work/app/index(.native||.ios.js|.native.js|.js|.ios.json|.native.json|.json|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx) ” 和iphone模拟器上的this错误:

我很拼命...请帮助!
更新: 现在不会发生第一个错误。 我只收到“无法解析'./index'...” 错误

3 个答案:

答案 0 :(得分:1)

尝试在终端上运行以下命令:

public List < Dictionary < string,object >> DataTableToDictionaryList(DataTable table) {
    List < Dictionary < string,
    object >> parentRow = new List < Dictionary < string,
    object >> ();
    Dictionary < string,
    object > childRow;
    foreach(DataRow row in table.Rows) {
        childRow = new Dictionary < string,
        object > ();
        foreach(DataColumn col in table.Columns) {
            childRow.Add(col.ColumnName, row[col]);
        }
        parentRow.Add(childRow);
    }
    return (parentRow);
}

List < Dictionary < string,object >> RunDynamicQuery(string sql, Dictionary < string, Object > parameters = null, int resultSet = 0, CommandType commandType = CommandType.Text) {
    // creates resulting dataset
    var resultDataSet = new DataSet();

    // creates a data access context (DbContext descendant)
    using(var context = new DataDbContext()) {
        // creates a Command 
        var conn = context.Database.Connection;
        var cmd = conn.CreateCommand();
        cmd.CommandType = commandType;
        cmd.CommandText = sql;

        if (parameters != null) {
            // adds all parameters
            foreach(var pr in parameters) {
                var p = cmd.CreateParameter();
                p.ParameterName = pr.Key;
                p.Value = pr.Value;
                cmd.Parameters.Add(p);
            }
        }

        try {
            // executes
            if (conn.State != ConnectionState.Open) {
                conn.Open();
            }

            var reader = cmd.ExecuteReader();

            // loop through all resultsets (considering that it's possible to have more than one)
            int currentResultSet = -1;
            do {
                currentResultSet++;
                //skip lower resultsets
                if (resultSet > currentResultSet) {
                    continue;
                }

                // loads the DataTable (schema will be fetch automatically)
                var tb = new DataTable();
                tb.Load(reader);
                resultDataSet.Tables.Add(tb);
                //make sure to get only one result set
                break;
            } while (! reader . IsClosed );

        }
        finally {
            // closes the connection
            context.Database.Connection.Close();
        }
    }

    return DataTableToDictionaryList(resultDataSet.Tables[0]);
}

答案 1 :(得分:0)

尝试一下:

停止MetroBundler / launchPackager

Delete node_modules rm -rf node_modules

更改package.json上的版本 来自

"react-native": "0.59.1","react-native": "0.58.6",

然后清洁看守人

watchman watch-del-all

再次运行npm install: npm install

在我的情况下,请尝试运行您的项目: react-native run-ios

答案 2 :(得分:0)

我的坏。我不小心删除了index.js ..