Я пытаюсь найти способ безопасного хранения созданного пользователем текста в базе данных (чтобы только пользователь мог получить доступ к своему сохраненному тексту ). Я мог бы заставить Rails шифровать и расшифровывать текстовые записи пользователя, используя пароль пользователя в качестве ключа, но если бы пользователь когда-либо забыл свой пароль, не было бы возможности когда-либо расшифровать его предыдущий контент / текст (поскольку приложение Rails использует BCrypt для хранения только хеш пароля).
Кто-нибудь знает, как это можно сделать? Похоже, Dropbox делает что-то подобное: " Приложению необходимо выполнить некоторую обработку данных изображения, поэтому оно не может полагаться на AVCaptureVideoPreviewLayer. Заставить начальный поток работать неплохо, используя пример кода Apple. Проблема возникает, когда я пытаюсь переключиться на изображение более высокого качества, чтобы сделать снимок. В ответ на нажатие кнопки я пытаюсь перенастроить сеанс для получения фотографии с полным разрешением. Я пробовал много вариантов, но вот мой последний пример (который все еще не работает):
- (void)sessionSetupForPhoto
{
[session beginConfiguration];
session.sessionPreset = AVCaptureSessionPresetPhoto;
AVCaptureStillImageOutput *output = [[[AVCaptureStillImageOutput alloc] init] autorelease];
for (AVCaptureOutput *output in [session outputs]) {
[session removeOutput:output];
}
if ([session canAddOutput:output]){
[session addOutput:output];
} else {
NSLog(@"Not able to add an AVCaptureStillImageOutput");
}
[session commitConfiguration];
}
Я постоянно получаю сообщение об ошибке сразу после строки commitConfiguration, которое выглядит следующим образом: В ответ на нажатие кнопки я пытаюсь перенастроить сеанс для получения фотографии с полным разрешением. Я пробовал много вариантов, но вот мой последний пример (который все еще не работает):
- (void)sessionSetupForPhoto
{
[session beginConfiguration];
session.sessionPreset = AVCaptureSessionPresetPhoto;
AVCaptureStillImageOutput *output = [[[AVCaptureStillImageOutput alloc] init] autorelease];
for (AVCaptureOutput *output in [session outputs]) {
[session removeOutput:output];
}
if ([session canAddOutput:output]){
[session addOutput:output];
} else {
NSLog(@"Not able to add an AVCaptureStillImageOutput");
}
[session commitConfiguration];
}
Я постоянно получаю сообщение об ошибке сразу после строки commitConfiguration, которое выглядит следующим образом: В ответ на нажатие кнопки я пытаюсь перенастроить сеанс для получения фотографии с полным разрешением. Я пробовал много вариантов, но вот мой последний пример (который все еще не работает):
- (void)sessionSetupForPhoto
{
[session beginConfiguration];
session.sessionPreset = AVCaptureSessionPresetPhoto;
AVCaptureStillImageOutput *output = [[[AVCaptureStillImageOutput alloc] init] autorelease];
for (AVCaptureOutput *output in [session outputs]) {
[session removeOutput:output];
}
if ([session canAddOutput:output]){
[session addOutput:output];
} else {
NSLog(@"Not able to add an AVCaptureStillImageOutput");
}
[session commitConfiguration];
}
Я постоянно получаю сообщение об ошибке сразу после строки commitConfiguration, которое выглядит следующим образом: (то есть я получаю сообщение AVCaptureSessionRuntimeErrorNotification, отправленное моему зарегистрированному наблюдателю)
Получено сообщение об ошибке: NSConcreteNotification 0x19d870 {имя = AVCaptureSessionRuntimeErrorNotification; объект =; userInfo = { AVCaptureSessionErrorKey = "Домен ошибки = AVFoundationErrorDomain Код = -11800 \ "Операция не может быть завершено. (Ошибка AVFoundationErrorDomain -11800.) \ "UserInfo = 0x19d810 {}";
Документация в XCode якобы предоставляет дополнительную информацию для номера ошибки (-11800): «AVErrorUnknown - Причина ошибки неизвестна»;
Ранее я также пробовали вызовы stopRunning и startRunning, но больше не делали этого после просмотра сеанса WWDC 409, где это не рекомендуется. Когда я останавливался и начинал, я получал другое сообщение об ошибке -11819, которое соответствует «AVErrorMediaServicesWereReset - Операция не может быть завершена, потому что медиа-службы стали недоступны.», Что намного лучше, чем просто «неизвестно», но не обязательно больше полезно.
Он успешно добавляет AVCaptureStillImageOutput (т. Е. НЕ генерирует сообщение журнала).
Я тестирую iPhone 3G (w / 4.1) и iPhone 4.
Этот вызов происходит в основном потоке, в котором также происходила моя первоначальная установка AVCaptureSession.
Как избежать ошибки? Как мне переключиться на более высокое разрешение, чтобы сделать снимок?
Спасибо!