iOS 9命令因信号失败:分段错误:11

时间:2015-09-30 07:55:17

标签: ios swift sqlite

我最近升级到了Xcode 7.而我在6.3和iOS 8.4上运行良好的代码现在无法使用分段错误进行编译。

我正在使用SQLite的Stephencelis库。这似乎导致了这个问题。

我会感激任何帮助,任何想法。 以下是错误消息的最后一部分:

  1. 在/Users/luben/Downloads/SQLite.swift-master/SQLite/Query.swift:740:22
  2. 中对columnNames进行类型检查getter
  3. 在/Users/luben/Downloads/SQLite.swift-master/SQLite/Query.swift:740:51
  4. 中进行类型检查声明0x7fbab3ee2d68
  5. 在[/Users/luben/Downloads/SQLite.swift-master/SQLite/Query.swift:740:51 - line:774:7]中的类型检查表达式RangeText =“{     var(columnNames,idx)=(String:Int,0)     column:对于self.query.columns中的每一个? [表达式(文字:“*”)] {         let pair = each.expression.SQL.characters.split {$ 0 ==“。” } .map {String($ 0)}         let(tableName,column)=(pair.count> 1?pair.first:nil,pair.last!)

        func expandGlob(namespace: Bool) -> Query -> Void {
            return { table in
                var query = Query(table.database, table.tableName.unaliased)
                if let columns = table.columns { query.columns = columns  }
                var names = query.selectStatement.columnNames.map { quote(identifier: $0) }
                if namespace { names = names.map { "\(table.tableName.SQL).\($0)" } }
                for name in names { columnNames[name] = idx++ }
            }
        }
    
        if column == "*" {
            let tables = [self.query.select(*)] + self.query.joins.map { $0.table }
            if let tableName = tableName {
                for table in tables {
                    if table.tableName.SQL == tableName {
                        expandGlob(true)(table)
                        continue column
                    }
                }
                assertionFailure("no such table: \(tableName)")
            }
            tables.map(expandGlob(self.query.joins.count > 0))
            continue
        }
    
        columnNames[each.expression.SQL] = idx++
    }
    return columnNames
    

    }()“

1 个答案:

答案 0 :(得分:-1)

GitHub上的SQLite.swift项目提供了Swift 2 branch。它可能解决了这个问题。