Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode didFinishLaunchingWithOption方法中的Sqlite Select语句_Xcode_Security_Sqlite - Fatal编程技术网

Xcode didFinishLaunchingWithOption方法中的Sqlite Select语句

Xcode didFinishLaunchingWithOption方法中的Sqlite Select语句,xcode,security,sqlite,Xcode,Security,Sqlite,今天我有3个新问题(iPad iOS): 1) 我尝试在appdelegate的didFinishLaunchingWithOption方法中执行select方法。我想检查用户是否希望保持登录状态,并将其引导到正确的屏幕。我在构建时没有收到任何错误。 我的代码: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { sql

今天我有3个新问题(iPad iOS):

1) 我尝试在appdelegate的didFinishLaunchingWithOption方法中执行select方法。我想检查用户是否希望保持登录状态,并将其引导到正确的屏幕。我在构建时没有收到任何错误。 我的代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    sqlite3_stmt *statement;

    const char *dbpath = [databasePath UTF8String];

    if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK)

    {
        NSString *querySQL = [NSString stringWithFormat: @"SELECT LOGIN FROM CONTACTS WHERE LOGGED = '1'"]; 
        const char *query_stmt = [querySQL UTF8String];

        sqlite3_prepare_v2(contactDB, query_stmt, -1, &statement, NULL);

        if (sqlite3_step(statement) == SQLITE_DONE){
            NSLog(@"Success");
        }else{
            NSLog(@"No Success");
        }

        if (sqlite3_step(statement) == SQLITE_ROW) {

            NSString *loggedField = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 0)];
            Model_Logged *model = [Model_Logged sharedModel_Logged];
            model.parameter = loggedField;
            mainView = [[mainViewController alloc] initWithNibName:@"mainViewController" bundle:[NSBundle mainBundle]];
            [self.window addSubview:mainView.view];
            [loggedField release];

        }else{
            loginView = [[loginViewController alloc] initWithNibName:@"loginViewController" bundle:[NSBundle mainBundle]];
            [self.window addSubview:loginView.view];

        }
        sqlite3_finalize(statement);
    }

    sqlite3_close(contactDB);

// Override point for customization after app launch

[self.window makeKeyAndVisible];
return YES;    

[mainView release];
[loginView release];

}
不幸的是,NSLog显示“无成功”。“Contacts”表存在,我的所有其他SQLite查询都工作得很好。你知道为什么这个代码不能执行吗?这与didFinishLaunchingWithOption方法有关吗

2) 苹果是否有任何我们需要遵守的关于登录/密码的安全规则?是否有义务使用MD5哈希或其他安全工具

3) 有一点完全不同:是否可以将存储在SQLite数据库中的数据上传到iCloud?我读到你需要使用核心数据,但我需要在我的应用程序中创建很多关系表(将用户与多种类型的已组合数据组合在一起),我认为SQLite是最合适、最简单的解决方案。如果我想让这个应用程序也可用于iPhone,我认为这是一个必要的是,用户能够在他/她的设备之间共享数据…还是不


谢谢

这是三个问题,不是两个。如果你按三次“提问”,就可以发布三个问题。是的,我真的很抱歉。好的,第一个问题现在是最重要的,我会接受正确的答案。如果你想的话,我可以把另外两个分开发。