базовые данные в статической библиотеке для iPhone

Что относительно r:Base? Путем назад в день r:Base был очень устойчивый DOS (тогда Windows) RDMBS, и это - предварительный доступ / дни перед Paradox. Его самый близкий конкурент был dBase, но это не было полностью реляционным в то время. Я разработал некоторые очень хорошие r:Base приложения И, как Доступ сегодня, имел созданный в генераторе отчетов, средстве форм, запросах и работе с таблицами.. К моему удивлению, его все еще живой! http://www.rbase.com/ Его полученный весь этот доступ предложения, это кажется. Могло бы быть что-то для Вас для рассмотрения.

41
задан Community 23 May 2017 в 11:54
поделиться

2 ответа

Я также создал свою собственную статическую библиотеку, которая использует 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,

31
ответ дан 27 November 2019 в 00:22
поделиться

Нет, ограничение на использование фреймворков сторонних производителей в приложении для iPhone действительно меняет игру зависимости относительно OS X. Большинство «фреймворков» iPhone (например, набор инструментов Google для Mac, Core Plot и т. Д. .) на самом деле рекомендуют включать исходный код в основной проект приложения, а не связывать продукт (т. е. статическую библиотеку). Я думаю, что сообщество единодушно в том, что на iPhone вполне нормально ожидать, что потребители вашего фреймворка будут выполнять небольшую «ручную» работу, чтобы использовать вашу библиотеку. В вашем случае это включение файла xcdatamodel в основной проект. Как и в случае с большинством Objective-C, скажите пользователям, чтобы они не использовали детали реализации, и оставьте все как есть.

2
ответ дан 27 November 2019 в 00:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: