Конечно, вы понимаете, что Objective C является расширением C, но в целом, когда я использую обычный C, я использую функции и объекты Core Foundation вместо методов Objective C.
К вашему конкретному вопросу: CFDictionary бесплатный для моста NSDictionary и CFBundle для NSBundle. Вы можете легко вызвать CoreFoundation из простого старого C.
Вы можете получить то, что вы хотите с чем-то вроде:
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFDictionaryRef dictionaryRef = CFBundleGetInfoDictionary(mainBundle);
if(dictionaryRef)
{
CFArrayRef accountsItemsArrayRef = CFDictionaryGetValue(dictionaryRef, CFSTR("MailAccounts.AccountName");
if(accountsItemsArrayRef)
{
CFStringRef accountNameRef = (CFStringRef) CFArrayGetValueAtIndex(accountsItemsArrayRef, 2);
if(accountNameRef)
{
fprintf(stderr, "Account: %s", accountName.cStr());
}
}
}
Я просто ввел этот перевод Базового Фонда прямо в это поле для ответов и не проверял ошибки или здравомыслие, что вам абсолютно необходимо сделать.
Вот немного более старое руководство , которое объясняет немного больше.
Надеюсь, это поможет вам выбрать правильный путь!