簡體   English   中英

如何在Macbook的iPhone 6s Simulator上找到SQLite數據庫?

[英]How to find SQLite db on iPhone 6s Simulator in Macbook?

我正在模擬器中搜索我的SQLLite數據庫。

基於ActivityMonitor,我可以獲取我的應用程序的文件夾路徑。

/用戶/ MyMacBook / Library / Developer / CoreSimulator / Devices / A4170C16-A10B-4B48-9C7B-2A310F68B35F / data / Containers / Bundle / Application / F6C6772C-021A-4B27-874D-071B402DDBCC /

雖然我找不到SQLite數據庫。 我從事VS 2015 Xamarin項目。

我應該如何在模擬器上找到SQLite數據庫?

通過使用您的appDelegate中的代碼在`didFinishLaunchingWithOptions'中找到sqlite文件的位置

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    print(FileManager.default.urls(for: .documentDirectory, in: .userDomainMask))
}

每次運行該應用程序時,您都可以在Xcode控制台中找到打印的位置。

我正在使用應用程序simMagnifier查看SQLite文件

默認情況下 ,大多數SQLite庫/框架會將Sqlite文件放在.app的根目錄中。

如果要為SQLite文件提供路徑和文件名,則在建立SQLite連接時,請遵循該路徑。

使用sqlite-net示例:

var db = new SQLiteConnection("StackOverflow.sqlite");

位置:

cd Library/Developer/CoreSimulator/Devices
find $PWD -name "StackOverflow.sqlite" -print

/Users/sushi/Library/Developer/CoreSimulator/Devices/1EB2B821-E86B-4E9A-9814-1BBEF8FF1AA1/data/Containers/Bundle/Application/11BE399A-F802-4410-8163-32F5A90EB2FF/SQLiteLocation.app/StackOverflow.sqlite

使用Path.GetTempPath示例:

var db = new SQLiteConnection(Path.Combine(Path.GetTempPath(), "StackOverflow.sqlite"));

位置:

cd Library/Developer/CoreSimulator/Devices
find $PWD -name "StackOverflow.sqlite" -print

/Users/sushi/Library/Developer/CoreSimulator/Devices/1EB2B821-E86B-4E9A-9814-1BBEF8FF1AA1/data/Containers/Data/Application/EED6E9CE-7437-48DD-904D-5F9D5E8AC78F/tmp/StackOverflow.sqlite

我過去常常使用SimPholders(但已付費)。 我找到了這個名為Open Sim的免費開源替代方案。 它可以讓您瀏覽模擬器上應用程序的目錄。 這使得在Xamarin應用程序中查找sql​​ite db非常容易,然后您只需要一個sqlite查看器即可打開實際數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM