Ошибка при создании изображения из UIView - PullRequest
0 голосов
/ 11 мая 2010

Я создаю изображение из вида со следующим кодом:

UIGraphicsBeginImageContext(myView.bounds.size);    
[myView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil); 

Изображение создается в альбоме пользователя, но в утешении я получаю это:

2010-05-11 10:17:17.974 myApp[3875:1807] sqlite error 8 [attempt to write a readonly database]
2010-05-11 10:17:18.014 myApp[3875:1807] Backtrace for sqlite error: (0x34e3a909 0x34e3d87f 0x34e3b029 0x34e3b22b 0x34e2f48b 0x34e2dccb 0x34e2d2f7 0x34e2d3bb 0x34e4dcd3 0x34e50515 0x34e51351 0x34e51681 0x34e513f5 0x34e511e3 0x303af57c 0x34e51163 0x303b06e8 0x303ac8e0 0x303ac6d8 0x303ac8c8 0x303aca80 0x30350d55 0x3034a12c)

2010-05-11 10:17:18.077 myApp[3875:1807] sqlite error 8 [attempt to write a readonly database]
2010-05-11 10:17:18.087 myApp[3875:1807] Backtrace for sqlite error: (0x34e3a909 0x34e3b053 0x34e3b22b 0x34e2f48b 0x34e2dccb 0x34e2d2f7 0x34e2d3bb 0x34e4dcd3 0x34e50515 0x34e51351 0x34e51681 0x34e513f5 0x34e511e3 0x303af57c 0x34e51163 0x303b06e8 0x303ac8e0 0x303ac6d8 0x303ac8c8 0x303aca80 0x30350d55 0x3034a12c)

2010-05-11 10:17:18.091 myApp[3875:1807] sqlite error 8 [attempt to write a readonly database]
2010-05-11 10:17:18.095 myApp[3875:1807] Backtrace for sqlite error: (0x34e3a909 0x34e3b085 0x34e3b22b 0x34e2f48b 0x34e2dccb 0x34e2d2f7 0x34e2d3bb 0x34e4dcd3 0x34e50515 0x34e51351 0x34e51681 0x34e513f5 0x34e511e3 0x303af57c 0x34e51163 0x303b06e8 0x303ac8e0 0x303ac6d8 0x303ac8c8 0x303aca80 0x30350d55 0x3034a12c)

2010-05-11 10:17:18.111 myApp[3875:1807] sqlite error 1 [SQL logic error or missing database]
2010-05-11 10:17:18.115 myApp[3875:1807] Backtrace for sqlite error: (0x34e3a909 0x34e3d87f 0x34e3b029 0x34e3b4dd 0x34e2f48b 0x34e2dccb 0x34e2d2f7 0x34e2d3bb 0x34e4dcd3 0x34e50515 0x34e51351 0x34e51681 0x34e513f5 0x34e511e3 0x303af57c 0x34e51163 0x303b06e8 0x303ac8e0 0x303ac6d8 0x303ac8c8 0x303aca80 0x30350d55 0x3034a12c)

2010-05-11 10:17:18.120 myApp[3875:1807] sqlite error 1 [SQL logic error or missing database]
2010-05-11 10:17:18.124 myApp[3875:1807] Backtrace for sqlite error: (0x34e3a909 0x34e3b053 0x34e3b4dd 0x34e2f48b 0x34e2dccb 0x34e2d2f7 0x34e2d3bb 0x34e4dcd3 0x34e50515 0x34e51351 0x34e51681 0x34e513f5 0x34e511e3 0x303af57c 0x34e51163 0x303b06e8 0x303ac8e0 0x303ac6d8 0x303ac8c8 0x303aca80 0x30350d55 0x3034a12c)

2010-05-11 10:17:18.129 myApp[3875:1807] sqlite error 1 [cannot commit - no transaction is active]
2010-05-11 10:17:18.133 myApp[3875:1807] Backtrace for sqlite error: (0x34e3a909 0x34e3b085 0x34e3b4dd 0x34e2f48b 0x34e2dccb 0x34e2d2f7 0x34e2d3bb 0x34e4dcd3 0x34e50515 0x34e51351 0x34e51681 0x34e513f5 0x34e511e3 0x303af57c 0x34e51163 0x303b06e8 0x303ac8e0 0x303ac6d8 0x303ac8c8 0x303aca80 0x30350d55

Я не знаю, откуда возникла проблема. Вы можете мне помочь?

1 Ответ

0 голосов
/ 20 мая 2010

Я не могу сказать вам, почему вы получаете сообщения «только для чтения», но я могу сказать вам, что это не нормально: я только что попробовал UIImageWriteToSavedPhotosAlbum (anImg, nil, nil, nil) на iPod Touch с OS 3.1 0,3. и он сгенерировал файл в базе данных фотографий без каких-либо сообщений в консоли.

Это может означать, что у вас есть дефектные фотографии дБ. Попробуйте стереть свои фотографии на устройстве или даже выполнить чистую переустановку без каких-либо старых данных и посмотрите, устранит ли это проблему. Если да, возможно, ваша БД с фотографиями как-то повреждена.

...