Is there any webview access on non main/UI thread when using tealium library?

Silver Contributor
Silver Contributor
We are experiencing following crash in our app using weviews after integrating with latest tealium library. Are there any hidden webviews or implicit webview access on non-main UI thread in the library that may be causing this issue? Any suggession on we can fix this crash? <>> [6623:4d07] bool _WebTryThreadLock(bool), 0x1782074c0: Tried to obtain the web lock from a thread other than the main thread or the web thread. This may be a result of calling to UIKit from a secondary thread. Crashing now... 1 0x195b97298 WebThreadLock 2 0x18f76d508 3 0x100235bcc +[TealiumAutoScanner dictionaryPropertiesOf:] 4 0x100231264 -[TealiumProcessingCenter propertiesIncludingSupersOf:] 5 0x10022d9dc -[TealiumProcessingCenter dataForObject:optionalInfo:] 6 0x1002572f0 __38-[Tealium addToDispatcher:customData&colon;]_block_invoke 7 0x198e58014 8 0x198e57fd4 9 0x198e5e4a8 10 0x198e5a4c0 11 0x198e5f0f4 12 0x198e5f4fc 13 0x198fed6bc _pthread_wqthread 14 0x198fed54c start_wqthread
5 REPLIES 5

Is there any webview access on non main/UI thread when using tealium library?

Employee Emeritus
Hi Anil, Yes, there is a hidden webview that is used to load the utag library, parse JS data and to handle final calls to target vendors (but no interface is implemented). This means the current library version (iOS 3.1) can not be used in a secondary thread. We plan to upgrade and allow this support in an upcoming release. Jason

Is there any webview access on non main/UI thread when using tealium library?

Silver Contributor
Silver Contributor
Thanks Jason for quick response. Is the upcoming release remove the dependency on hidden webview ? How do we make sure current library is not used on the secondary thread? I think all we are doing is initializing tealium library in the main thread.

Is there any webview access on non main/UI thread when using tealium library?

Employee Emeritus
We'll still need the hidden webview, but we'll update the library so that you could use it in a BG thread and not have a conflict with it. But you're not currently placing the library in a background thread and having this weblock error? In your TIQ settings: Library Manager extension: DISABLE the Track Ivar option, that will disable the [TealiumProcessingCenter propertiesIncludingSupersOf:] call that leads to the crash.

Is there any webview access on non main/UI thread when using tealium library?

Silver Contributor
Silver Contributor
All i think we do is to call "Tealium:initSharedInstance" method inside "application:didFinishLaunchingWithOptions()" call back. Rest happens based on app life cycle events automatically.

Is there any webview access on non main/UI thread when using tealium library?

Employee Emeritus
Anil, Could you email me the account-profile-target in your init line? I believe there's a TIQ Library Manager extension that needs to be toggled. jason.koo@tealium.com
Public