私は最近iOSプロジェクトを開始しました。アップデートがあるとインターネットからダウンロードされるスタンドアロンデータベースで作業する必要があります。これは私の最初のiOSプロジェクトなので、ダウンロードの仕組みを設計する前に機能を稼働させようとしています。iOSで既存のSQLiteデータベースを使用するには?
私はSQLiteラッパーSWLite.swift
(https://github.com/stephencelis/SQLite.swift)を選択しました。私のクエリとテーブルビューをロールインできる状態にしました。しかし、私はDBに接続することはできません。私はまったく成功していないので、他のすべての質問/答えをここで試してみました。例えば
(Iはnil
戻ったよう - おそらくパスが配置されなかったために)、IはAssets.xcassets
にSQLiteデータベースを滴下しlet path = Bundle.main.path(forResource: "myDb", ofType: "db")!
を試み、アプリがクラッシュ。同様に私は、Macにフォルダを作成し、そのファイルをドロップし、.bundle
をフォルダ名に追加して、資産にドロップするなど、他の人が提案したことを試してみた。もう一度、nil
。
誰かにアドバイスできますか?私はApple Docsを見て、私が探していたものを実際に見つけることができませんでした。もう一度、これは初めてのことです。間違っているかもしれません。
はドキュメントフォルダの下に、あなたのSQLiteのファイルの文字列形式のパスです。 SQLiteライブラリを使用してそこからファイルを読み込むことができます。 –
'dbPath'はどのようなものになるのでしょうか?アプリケーションは、 '致命的なエラー:予期せぬことにnilが選択値をアンラッピングしている間に 'というtry文でクラッシュします。コードは、あなたが提案したものを組み合わせたものです: 'try fileManager.copyItem(atPath:path !, toPath:" myDb.sqlite ")' – The48Percent
@ The48Percent 2番目の例では 'dbPath'を使います。 –