Post

Replies

Boosts

Views

Activity

Reply to dlopen taking huge amount of time in macOS Mojave and Catalina
By "first load" I mean when dlopen is called for the first time (when the application starts) for the respective library. After a few seconds dlopen is called again for the same library but this time is returning immediately. This is normal because the library is already loaded in the process memory. The delay comes back if I restart the machine, rebuild the library and/or quit the loading process. Basically everytime the application starts, the delay comes back.
Jul ’20
Reply to dlopen taking huge amount of time in macOS Mojave and Catalina
Thanks for your help, we will ask our customer to perform the test. The issue is reproducing only on customer environment, we couldn't reproduce it on our own. One thing to mention is that the dynamic libraries are signed and notarized with a different certificate than the Application that is loading them. Hardened Runtime is enabled. Hope this is helpful information. Thanks again! LATER UPDATE: we are also seeing delays of about 4-7 seconds when checking signature of dynamic libraries
Jul ’20
Reply to Programmatic way to find the language of an application
Hi @eskimo, it seems this solution Bundle.main gets you application bundle. preferredLocalizations is a list of languages your application bundle supports in user-preferred order. The first element will be the language your application is running in. is not working as expected, is returning English everytime because English is the first element, even if application language is French, for example. Here is the source code, could you please take a look at it? Not sure if we are doing something wrong or there is something wrong in the CoreFoundation side. Many thanks for your help! CFArrayRef cfAllLanguages = CFBundleCopyBundleLocalizations(cfBundle) CFArrayRef cfPrefLang = CFBundleCopyPreferredLocalizationsFromArray(cfAllLanguages); --- this should return language of the application but it returns En each time CFArrayRef cfLocalPrefLang = CFBundleCopyLocalizationsForPreferences(cfAllLanguages,cfPrefLang); CFArrayRef cfDefaultLang = CFBundleCopyLocalizationsForPreferences(cfAllLanguages,NULL); CFStringRef lss = (CFStringRef)CFArrayGetValueAtIndex(cfAllLanguages, 0); Thank you!
Apr ’22