0

database.sqlite3 を開きたいです。まず、パスを取得する必要があります。しかし、私はこのパスを取得する方法がわかりません。

相対パスが必要です。

ここに画像の説明を入力

編集: NSBundle を使用したくありません。とても長い道のりになります。

/Users/Voloda2/Projects/facebook/database.sqlite3 を使用したい 相対パスを取得することはできますか?

EDIT2:データベースを頻繁に変更します。この操作には Navicat を使用します。NSBundle を使用すると、問題が 1 つあります。プロジェクトフォルダーにないため、gitはデータベースにインデックスを付けませんでした。したがって、データベースをプロジェクト フォルダーに配置する必要があります。

ストレート パスは /Users/Voloda2/Projects/facebook/database.sqlite3 です。

このような相対パス../database.sqlite3

相対パスは、プロジェクト フォルダーからの相対パスです。相対パスを取得することは可能ですか? できなかったのかもしれません。

4

1 に答える 1

3

通常の OS X/Cocoa アプリを作成していると仮定すると、Xcode はデータベース ファイルをアプリ バンドルにコピーします。したがって、NSBundleクラスを使用してそのパスを簡単に取得できます。

NSString *databasePath = [[NSBundle mainBundle] pathForResource:@"database" ofType:@"sqlite3"];
于 2012-10-21T11:47:50.843 に答える