К сожалению, у меня возникают сбои (не могу воспроизвести) из живого приложения. Я пробовал очень разные вещи для закрытия, например, добавление [слабое Я] или создание сильного Я в закрытии, но ни один из них не работает.
Единственное, что я ' Я уверен, что пользователи обнаруживают sh после возвращения в приложение через долгое время (от 15 минут до 1 часа). Я запускал различные тесты Zomb ie и Allocation в инструментах, но ничего не знаю об утечках.
Я хотел бы знать, есть ли логический способ определить причину сбоев EXC_BAD_ACCESS KERN_INVALID_ADDRESS. Как добавить проверку, чтобы предотвратить ошибку cra sh или устранить проблему? Не могли бы вы предложить мне что-нибудь? Свойство
waterfallResponse дает сбой при установке объекта данных в вызове refreshAd .
@objc public class AdMediatorBanner {
...// properties
var waterfallResponse: AdMediatorZoneResponse?
...// code blocks
AdMediatorManager.instance.refreshAd(self.zoneId!, self.adMediatorBannerId!) { [weak self] (data, errorCode) in
guard let self = self else {
return
}
if data != nil {
self.waterfallResponse = data
}
... // rest of closure code blocks
Cra sh Log:
Crashed: NSOperationQueue 0x1320da410 (QOS: UNSPECIFIED)
0 libobjc.A.dylib 0x19bc67d90 objc_release + 16
1 XXX 0x104c213e4 destroy for AdMediatorZoneResponseItem + 4309242852 (<compiler-generated>:4309242852)
2 libswiftCore.dylib 0x1a9a473a0 swift_arrayDestroy + 84
3 libswiftCore.dylib 0x1a979e390 _ContiguousArrayStorage.__deallocating_deinit + 48
4 libswiftCore.dylib 0x1a9a5200c _swift_release_dealloc + 36
5 XXX 0x104c54cac outlined consume of AdMediatorZoneResponse? + 4309453996
6 XXX 0x104c4e7d0 AdMediatorBanner.waterfallResponse.setter + 51 (AdMediatorBanner.swift:51)
7 XXX 0x104c55910 partial apply for closure #2 in AdMediatorBanner.startAdRequest() + 353 (AdMediatorBanner.swift:353)
8 XXX 0x104c3cc14 partial apply for closure #1 in AdMediatorManager.refreshAd(_:_:completionHandler:) + 96 (AdMediatorManager.swift:96)
9 XXX 0x104cb5f9c partial apply for closure #1 in AdMediatorWebRequest.fetchDataFromServer(resultHandler:) + 4309852060 (<compiler-generated>:4309852060)
10 XXX 0x104cb4e84 thunk for @escaping @callee_guaranteed (@guaranteed Data?, @guaranteed NSURLResponse?, @guaranteed Error?) -> () + 4309847684 (<compiler-generated>:4309847684)
11 CFNetwork 0x19f1f5b18 CFNetServiceBrowserSearchForServices + 96332
12 CFNetwork 0x19f206948 _CFHTTPMessageSetResponseProxyURL + 8176
13 Foundation 0x19c30bcfc __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 24
14 Foundation 0x19c20dc3c -[NSBlockOperation main] + 104
15 Foundation 0x19c30e03c __NSOPERATION_IS_INVOKING_MAIN__ + 24
16 Foundation 0x19c20d914 -[NSOperation start] + 752
17 Foundation 0x19c30ea68 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 24
18 Foundation 0x19c30e528 __NSOQSchedule_f + 184
19 libdispatch.dylib 0x19bbe4db4 _dispatch_block_async_invoke2 + 144
20 libdispatch.dylib 0x19bbd833c _dispatch_client_callout + 20
21 libdispatch.dylib 0x19bbdaaf8 _dispatch_continuation_pop + 408
22 libdispatch.dylib 0x19bbda258 _dispatch_async_redirect_invoke + 588
23 libdispatch.dylib 0x19bbe75c0 _dispatch_root_queue_drain + 348
24 libdispatch.dylib 0x19bbe7d9c _dispatch_worker_thread2 + 116
25 libsystem_pthread.dylib 0x19bc3f6d8 _pthread_wqthread + 216
26 libsystem_pthread.dylib 0x19bc459c8 start_wqthread + 8