Я пытаюсь реализовать Версии в приложении, которые уже написаны для Snow Leopard. Это приложение на основе документов с хранилищем SQLite. Каждый документ сохраняется как файл SQLite db.Проблемы с реализацией версий
Я выполнил соответствующие методы в моем NSPersistentDocument подкласса:
+ (BOOL)autosavesInPlace {return YES;}
+ (BOOL)preservesVersions {return YES;}
Теперь у меня есть новое меню Файл в приложении с «Сохранить версию» и т.д. Я создаю новый документ в моем приложении, сохранить его, сделать некоторые изменения, сохраните снова .. Когда я ввода версии браузера я получаю:
kCGErrorFailure: CGSDisplayID: App trying to enumerate [0 to CGSGetNumberOfDisplays()] instead of using CGSGetDisplayList(). Compensating...
kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
в правой части версии браузера в списке версий я вижу несколько вариантов, но они не отображаются в стеке окон. Похоже, что окна находятся в стеке, но полностью прозрачны. Когда я щелкаю на любую версию в списке я получаю журнал:
CoreData: error: (8) attempt to write a readonly database
чем если бы я попытался восстановить одну из версий - версия браузера нормально замкнутые, не появляется окна и программа перестает отвечать на запросах.
Я не могу понять, что это все может означать. Это проблема в сохранении версии или в восстановлении? У меня просто нет идей. Будем благодарны за любую помощь.
Попробуйте сделать то, что он говорит, добавив точку останова в 'CGErrorBreakpoint()'. – spudwaffle
Итак, вы используете Core Data, но не NSPersistentDocument? – Aderstedt
Я уверен, что ошибка CGSDisplayID не связана между собой. – Aderstedt