Сегодня у меня есть 3 новых вопроса (iPad iOS):
1) Я пытаюсь выполнить метод select в методе didFinishLaunchingWithOption приложения appdelegate.Я хочу проверить, хочет ли пользователь оставаться в системе, и направить его на правильный экран.Я не получаю никаких ошибок при строительстве.Мой код:
- (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 отображает «Нет успеха».Таблица «Контакты» существует, и все мои другие запросы SQLite работают отлично.Любые идеи, почему этот код не может быть выполнен?Имеет ли это какое-то отношение к этому методу didFinishLaunchingWithOption?
2) Навязывает ли Apple какие-либо правила безопасности, которые нам необходимо соблюдать в отношении логинов / паролей?Обязательно ли использовать MD5 Hash или другие средства безопасности?
3) Что-то совсем другое: возможно ли загрузить данные, хранящиеся в базе данных SQLite, в iCloud?Я прочитал, что вам нужно использовать Core Data, но мне нужно будет создать много реляционных таблиц в моем приложении (объединить пользователей с несколькими типами уже объединенных данных), для которых я считаю SQLite наиболее подходящим и простым решением.Если я хочу сделать это приложение доступным и для iPhone, я считаю необходимым, чтобы пользователь мог обмениваться данными между своими устройствами ... Или нет ...?
Спасибо!