У меня есть приложение для 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, но я пока не нашел решения.
Спасибо