amar
amar

Reputation: 185

How to view Sqlite database ios

I am developing one iOS app in that I am using sqlite database.I have inserted records in database now I want to see that records.I searched in Library->Application Support->iPhone simulator, But in iPhone simulator folder nothing is present.So is there any another way to view sqlite database records. Please help me, Thank you. This is my code for file path

-(NSString *)filePath
    {
        NSString *documentDir=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
        return [documentDir stringByAppendingPathComponent:@"Test.sqlite"];
    }

Upvotes: 1

Views: 1540

Answers (2)

Myaaoonn
Myaaoonn

Reputation: 997

Now you can have your Simulator folder as "Core Simulator" not as "iPhone simulator"

Use the following Code.

// Get the Sqlite Data from the url in a NSData Object
    NSData *sqlData = [[NSData alloc] initWithContentsOfURL:[
                                                             NSURL URLWithString:[sqlUrlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];

// Store the Data locally as Sqlite File
        NSString *resourceDocPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

        NSString *filePath = [resourceDocPath
                              stringByAppendingPathComponent:@"Test.sqlite"];
        [sqlData writeToFile:filePath atomically:YES];

        NSLog(@"File Path: %@", filePath);

In Console as:

File Path: /Users/Library/Developer/CoreSimulator/Devices/3C0492CE-2C27-48D8-AB04-7B7EFDB77228/data/Containers/Data/Application/91AF3E65-D0C2-4CC9-A7F6-35DD32AB1FD0/Documents/Test.sqlite

Now You can easily go to your database file path and open it where ever you want.

Upvotes: 4

Muhammad Waqas Bhati
Muhammad Waqas Bhati

Reputation: 2805

You can achieve this by using a simple code and opening the Sqlite file in to a simple Sqlite Client like chrome extension(SqliteManager), Firefox Extension and Navicat Premium. Code:

-(NSString *)GetDocumentDirectory
{
   NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
   NSString *documentsDir = [paths objectAtIndex:0];
   return documentsDir;
}
-(NSString *)getDBPath
{
   NSString *documentsDir = [self GetDocumentDirectory];
   return [documentsDir stringByAppendingPathComponent:@"YourSqliteFileName.sqlite"];
}

Call it like this

NSString *dbPath = [self getDBPath];

NSLog(@"Database Path = %@",dbPath);

Note: Every time you will run your application on simulator, Every time a new path is created which will be different from your previous path so you have to just copy paste this path and open it in any Sqlite Client.

Upvotes: 1

Related Questions