Что относительно r:Base? Путем назад в день r:Base был очень устойчивый DOS (тогда Windows) RDMBS, и это - предварительный доступ / дни перед Paradox. Его самый близкий конкурент был dBase, но это не было полностью реляционным в то время. Я разработал некоторые очень хорошие r:Base приложения И, как Доступ сегодня, имел созданный в генераторе отчетов, средстве форм, запросах и работе с таблицами.. К моему удивлению, его все еще живой! http://www.rbase.com/ Его полученный весь этот доступ предложения, это кажется. Могло бы быть что-то для Вас для рассмотрения.
Я также создал свою собственную статическую библиотеку, которая использует Core Data. Помимо статической библиотеки у меня есть еще одна цель пакета в проекте, где у меня есть элемент Copy Bundle Resources, который копирует некоторые изображения и тому подобное в пакет, и этап сборки Compile Sources, где я компилирую xcdatamodel.
Окончательный комплект будет содержать все необходимые файлы. В ваш основной проект, который полагается на статическую библиотеку, вы также должны включить этот пакет. Теперь у вашего основного проекта будет доступ к родительскому файлу, который необходим для использования основных данных.
Чтобы использовать основные данные с мамой из пакета, вы должны создать объединенную модель управляемых объектов в своем коде (это может быть основной проект также имеет некоторую базовую модель данных):
- (NSManagedObjectModel *) mergedManagedObjectModel
{
if (!mergedManagedObjectModel)
{
NSMutableSet *allBundles = [[[NSMutableSet alloc] init] autorelease];
[allBundles addObjectsFromArray: [NSBundle allBundles]];
[allBundles addObjectsFromArray: [NSBundle allFrameworks]];
mergedManagedObjectModel = [[NSManagedObjectModel mergedModelFromBundles: [allBundles allObjects]] retain];
}
return mergedManagedObjectModel;
}
Просто включив пакет, вам не нужно будет выдавать xcdatamodel,
Нет, ограничение на использование фреймворков сторонних производителей в приложении для iPhone действительно меняет игру зависимости относительно OS X. Большинство «фреймворков» iPhone (например, набор инструментов Google для Mac, Core Plot и т. Д. .) на самом деле рекомендуют включать исходный код в основной проект приложения, а не связывать продукт (т. е. статическую библиотеку). Я думаю, что сообщество единодушно в том, что на iPhone вполне нормально ожидать, что потребители вашего фреймворка будут выполнять небольшую «ручную» работу, чтобы использовать вашу библиотеку. В вашем случае это включение файла xcdatamodel в основной проект. Как и в случае с большинством Objective-C, скажите пользователям, чтобы они не использовали детали реализации, и оставьте все как есть.