mercredi 22 avril 2015

absoluteString "handleOpenURL " to match email attachment name?

I have a working code, but now find the need to import & save two different Sqlite files via email "Open in" option, I tried using UIAlertView to create to different save file paths but it only seems to work with one way

- (void)handleOpenURL:(NSURL *)urlx {
NSData *dbimport = [[NSData alloc] initWithContentsOfURL:urlx];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:dbimport forKey:@"import"];
[defaults synchronize];
NSLog(@"import saved");
databaseName = @"svrStoreData2.sql";
NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
NSError *writeError = nil;
NSString *filePathx = [documentsPath stringByAppendingPathComponent:databaseName]; [dbimport writeToFile:filePathx atomically:YES];
if (writeError)
{
    NSLog(@"Error writing file: %@", writeError);
}
}

Both file have specific file names so was wonder if I could use "if equal to string" & use an if statement after I have synchronised NSUserDefaults to give two file path save options

Thanks for any help in advance

This was my UIALertView try

UIAlertView *alertdata = [[UIAlertView alloc]
                    initWithTitle:@"What type of data do you want to import?"
                      message:@"Choose data type"
                    delegate:self
                     cancelButtonTitle:@"Import RM Name Data"
                     otherButtonTitles:@"Import Store Visit Data", nil];

NSInteger *buttonIndex = NULL;
NSLog(@"Button Index =%ld",(long)buttonIndex);
if (buttonIndex == 0)
{
}
else if (buttonIndex == 1)
{
    databaseExportName = @"export.sql";
       NSArray *pathssqlite3 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *pathssqliteDir2 = [pathssqlite3 objectAtIndex:0];
        filePathsqlite3 = [pathssqliteDir2 stringByAppendingPathComponent:databaseExportName];
       NSData *dbimport = [[NSData alloc] initWithContentsOfURL:urlx];
      NSMutableData *dbimport = [[NSMutableData alloc] initWithContentsOfURL:urlx];
        NSError *writeError = nil;
        [dbimport writeToFile:filePathsqlite3 atomically:YES];
       if (writeError)
      {
           NSLog(@"Error writing file: %@", writeError);
       } } [alertdata show];

Still trying to resolve, was hoping this would work, but still cannot crack it

 `- (void)handleOpenURL:(NSURL *)urlx {
NSData *dbimport = [[NSData alloc] initWithContentsOfURL:urlx];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:dbimport forKey:@"import"];
[defaults synchronize];
NSLog(@"import saved");
if([[urlx absoluteString] isEqualToString:@"svrStoreData2.sql"])
{
     NSLog(@"If statement called");
    //
    databaseName = @"svrStoreData2.sql";
    NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
    NSError *writeError = nil;
    NSString *filePathx = [documentsPath stringByAppendingPathComponent:databaseName];
    [dbimport writeToFile:filePathx atomically:YES];
    if (writeError)
    {
        NSLog(@"Error writing file: %@", writeError);
    }
    //
    else {

        databaseExportName = @"export.sql";
        NSString *documentsPathy = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
         NSError *writeError = nil;
        NSString *filePathy = [documentsPathy stringByAppendingPathComponent:databaseExportName];
        [dbimport writeToFile:filePathy atomically:YES];

           if (writeError)
           {
               NSLog(@"Error writing file: %@", writeError);
           }
        NSLog(@"If statement Not called");
    }
}

}

`

Aucun commentaire:

Enregistrer un commentaire