Сбой приложения на lpConfigStringForKey с Linphone - PullRequest
0 голосов
/ 11 июля 2019

У меня есть приложение для VoIP iOS, которое использует библиотеку Linphone.Ранее приложение работало успешно, но я только что обновил каркасы и файлы linphone: LinphoneManager.h / .m и Utils.h / .m с linphone-iphone .

После добавленияОбновлены фреймворки из новой версии linphone-sdk и обновлен LinphoneManager.h / m. Я столкнулся с падением при запуске приложения.Авария происходит, когда приложение нажимает

lp_config_get_string(_configDb, [section UTF8String], [key UTF8String], NULL);

в lpConfigStringForKey ().

Я попытался удалить и прочитать рамки и проверить код LinphoneManager.h / .m, но я не пришелЯ не нашел ни одного решения, похожего на мое, в проблемах с linphone-iphone.

Сбой происходит при попадании в следующий блок кода

- (NSString *)lpConfigStringForKey:(NSString *)key inSection:(NSString *)section withDefault:(NSString *)defaultValue {
    if (!key) {
        return defaultValue;
    }
    const char *value = lp_config_get_string(_configDb, [section UTF8String], [key UTF8String], NULL);
    return value ? [NSString stringWithUTF8String:value] : defaultValue;
}

Это стандартная функцияв LinphoneManager.m, который я не изменил.

В частности, сбой происходит из-за этой функции в среде linphone:

lp_config_get_string(_configDb, [section UTF8String], [key UTF8String], NULL);

Я зарегистрировал переменные key, section и defaultValue, когдаприложение вылетает.Это:

2019-07-11 10:58:51.033849-0500 myApp[15512:511705] KEY: debugenable_preference
2019-07-11 10:58:51.033964-0500 myApp[15512:511705] SECTION: app
2019-07-11 10:58:51.034040-0500 myApp[15512:511705] DEFAULT: (null)

Комментарии заголовка для linphone_config_get_string, на которые указывает lp_config_get_string, следующие:

/**
 * Retrieves a configuration item as a string, given its section, key, and default value.
 *
 * The default value string is returned if the config item isn't found.
**/
LINPHONE_PUBLIC const char *linphone_config_get_string(const LinphoneConfig *lpconfig, const char *section, const char *key, const char *default_string);

Вот скриншот ошибки и сбоя: Трассировка и ошибка стека сбоев

Я полагаю, что что-то упускаю при добавлении фреймворков, но пока не смог найти.

  • Примечание - Если я комментируюпосле вызова lp_config_get_string, когда приложение переходит к следующему вызову функции lp_config, в нем происходит сбой.Похоже, что это как-то связано с linphone.framework и модулем lp_config, но я пока не нашел решения.

Спасибо

1 Ответ

0 голосов
/ 12 июля 2019

Я нашел проблему.В функции init отсутствовало следующее:

    [self renameDefaultSettings];
    [self copyDefaultSettings];
    [self overrideDefaultSettings];

Что вызывало некоторые проблемы с lp_config

...