#multithreading #ios #uikit #crash #admob
#многопоточность #iOS #uikit #сбой #admob
Вопрос:
Я запускаю приложение на iPhone 3.1.3 (iPhone первого поколения) с admob sdk. Думал, что не все время, в последнее время я начал получать эту ошибку, которую я никогда раньше не видел.
<Warning>: bool _WebTryThreadLock(bool), 0x3c3840: 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...
и затем, когда я отслеживаю ошибку в файле журнала, я вижу
Thread 6 Crashed:
0 WebCore 0x00084380 _WebTryThreadLock(bool) 288
1 WebCore 0x00084ac0 _WebThreadAutoLock() 52
2 UIKit 0x0022061c -[UIWebView dealloc] 128
3 CoreFoundation 0x0003963a -[NSObject release] 28
4 UIKit 0x0000ab2c -[UIView(Hierarchy) removeFromSuperview] 592
5 UIKit 0x0005ca1c -[UIView dealloc] 232
6 My iPhone App 0x0008d4e0 0x1000 574688
7 CoreFoundation 0x0003963a -[NSObject release] 28
8 UIKit 0x0000ab2c -[UIView(Hierarchy) removeFromSuperview] 592
9 UIKit 0x0005ca1c -[UIView dealloc] 232
10 CoreFoundation 0x0003963a -[NSObject release] 28
11 UIKit 0x000cad5c -[UIViewController dealloc] 188
12 My iPhone App 0x00015e60 0x1000 85600
13 My iPhone App 0x000135c4 0x1000 75204
и проследил это еще дальше и получил,
-[GADBannerView dealloc] (in My iPhone App) (GADBannerView.m:111)
-[myViewController dealloc] (in My iPhone App) (myViewController.m:378)
-[mySubViewController dealloc] (in My iPhone App) (mySubViewController.m:64)
Я понятия не имею, что происходит. Могу ли я что-нибудь сделать, чтобы предотвратить сбой, или admob должен это исправить?
Приветствуется любая помощь
Ответ №1:
Попробуйте debugger, чтобы понять, где произошла ваша ошибка. Также оттуда, откуда вы вызываете метод removeFromSuperview. Это может быть причиной проблемы