Статус: Участник
Группы: Участники
Зарегистрирован: 23.11.2016(UTC) Сообщений: 28 Откуда: Российская Федерация Сказал(а) «Спасибо»: 2 раз
|
Коллеги, снова привет) Недавно заметил интересную штуку с приложением (встроено ПО Крипто Про CSP 4.0 R2 9842). Всегда есть фоновый поток, который работает на 100%, что отжирает CPU, планшет, как следствие, греется и быстрее разряжается. Фоновый поток поднимается после выполнения данной части кода: Код:
- (NSString *)getInternalContainerName {
CleanUp();
if (!CryptAcquireContext(&hCryptProv, INTERNAL_CONTAINER_NAME, DEFAULT_PROVIDER_NAME, PROV_GOST_2001_DH, 0)) {
//CleanUp();
//[self handleException:WLI_CRYPTO_ACQUIRE_CONTEXT_EXCEPTION_REASON];
return nil;
} else {
CleanUp();
return [NSString stringWithFormat:@"%s", INTERNAL_CONTAINER_NAME];
}
}
На фоновом потоке трудится EADSessionController. fonovyi potok.png (65kb) загружен 22 раз(а).EADSessionController является частью фреймворка ExternalAccessory. Пробовал отключать фреймворк ExternalAccessory, вообще говоря он в readers.txt используется только вместе с bluetooth токеном. Я использую ридер Аладдин. Но как только убираю фреймворк из сборки, приложение сразу не компилится. Выкидывает такую ошибку: Код:
Undefined symbols for architecture arm64:
"_EAAccessoryDidConnectNotification", referenced from:
-[EADSessionController RegisterAccessoryConnectNotification] in libiRockey301_ccid.a(EADSessionController.o)
-[EADSessionController UnRegisterAccessoryConnectNotification] in libiRockey301_ccid.a(EADSessionController.o)
"_EAAccessoryDidDisconnectNotification", referenced from:
-[EADSessionController RegisterAccessoryConnectNotification] in libiRockey301_ccid.a(EADSessionController.o)
-[EADSessionController UnRegisterAccessoryConnectNotification] in libiRockey301_ccid.a(EADSessionController.o)
"_EAAccessoryKey", referenced from:
-[EADSessionController _accessoryDidConnectNsthread:] in libiRockey301_ccid.a(EADSessionController.o)
-[EADSessionController _accessoryDidDisconnectNsthread:] in libiRockey301_ccid.a(EADSessionController.o)
"_OBJC_CLASS_$_EAAccessoryManager", referenced from:
objc-class-ref in libiRockey301_ccid.a(EADSessionController.o)
"_OBJC_CLASS_$_EASession", referenced from:
objc-class-ref in libiRockey301_ccid.a(EADSessionController.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
При этом с Крипто Про 3.6.1 в фоне приложения подобного не происходит. С чем это связано и можно ли отключить как-то данную активность?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 29.01.2014(UTC) Сообщений: 172 Откуда: Москва
Поблагодарили: 18 раз в 17 постах
|
Добрый день!
Если в библиотеке есть символы EADSessionController, значит он там используется) То, что в readers.txt нет слов про ExternalAccessory.framework - это похоже на ошибку.
3.6 собирается без ExternalAccessory.framework ?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 23.11.2016(UTC) Сообщений: 28 Откуда: Российская Федерация Сказал(а) «Спасибо»: 2 раз
|
Автор: Dmitry_Bokovikov Добрый день!
Если в библиотеке есть символы EADSessionController, значит он там используется) То, что в readers.txt нет слов про ExternalAccessory.framework - это похоже на ошибку.
3.6 собирается без ExternalAccessory.framework ? 3.6 собирается также с ExternalAccessory.framework. Без него ошибки: Код:
Undefined symbols for architecture armv7:
"_EAAccessoryDidConnectNotification", referenced from:
-[EADSessionController RegisterAccessoryConnectNotification] in libAladdinReader.a(EADSessionController.o)
-[EADSessionController UnRegisterAccessoryConnectNotification] in libAladdinReader.a(EADSessionController.o)
"_EAAccessoryDidDisconnectNotification", referenced from:
-[EADSessionController RegisterAccessoryConnectNotification] in libAladdinReader.a(EADSessionController.o)
-[EADSessionController UnRegisterAccessoryConnectNotification] in libAladdinReader.a(EADSessionController.o)
"_OBJC_CLASS_$_EAAccessoryManager", referenced from:
objc-class-ref in libAladdinReader.a(EADSessionController.o)
"_OBJC_CLASS_$_EASession", referenced from:
objc-class-ref in libAladdinReader.a(EADSessionController.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 29.01.2014(UTC) Сообщений: 172 Откуда: Москва
Поблагодарили: 18 раз в 17 постах
|
В Крипто Про 3.6.1 используется другая (более старая) версия библиотеки для работы с ридером Аладдин, вероятно, дело в этом. Затрудняюсь ответить, с чем это связано и как это предотвратить в новой версии библиотеки, так как библиотеку собираем не мы - попробуйте связаться с техподдержкой или разработчиками Aladdin'a.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close