由于空闲内存不足,导致iOS Crashlytics报告不正确,胡说八道?

问题描述 投票:0回答:1

我的iOS应用崩溃次数令人担忧。当我查看stacktrace时,我可以跟踪stacktrace的流程,直到3d行'fetchDeezerTracks(forAlbum)'。检查我的代码时,甚至不可能调用此行。 ApplePlayerManager.play方法调用ApplePlayerManager.fetchTrackIds方法,该方法调用NetworkManager的“ fetchAppleMusicTracks”,并且该方法具有networkRequestResponseHandler来处理获取的数据,但是永远不应/应该调用“ fetchDeezerTracks”方法。

我的问题如下:当设备的可用RAM不足时,Crashlytics是否可能给出错误的报告?也许是由于内存泄漏或其他原因造成的。。。我只是从崩溃报告中脱颖而出,所以这对我有很多帮助。多个报告(具有相同的崩溃)的一些可用RAM值如下:

233MB(iPad Air 2),8MB(iPAad 5th gen),198MB(iPad Mini 2),332MB(iPad Mini),71MB(iPad Air 2),174MB(iPad 5th gen),223MB(iPad Air 2), 130MB(iPhone6 +),58MB(iPhoneXR),381MB(iPhoneXSMax)等。

这些是正常值吗?

如果这些是正常值,并且crashlytics报告从未被“破坏”,那么我需要弄清楚stacktrace。我将添加我的网络代码以供参考。

任何帮助都非常感谢!这使我发疯,并且崩溃不断堆积。

Crashed: com.apple.root.background-qos
0  MyApp                          0x10045da40 closure #2 in ApplePlayerManager.play(album:withTrack:) + 4302494272 (<compiler-generated>:4302494272)
1  MyApp                          0x10045d884 closure #1 in closure #1 in ApplePlayerManager.fetchTrackIds(forAlbum:completionHandler:) + 4302493828 (<compiler-generated>:4302493828)
2  MyApp                          0x1004da218 specialized NetworkManager.networkRequestResponseHandler(withResponse:completionHandler:retryHandler:) + 4303004184 (<compiler-generated>:4303004184)
3  MyApp                          0x1004d9404 closure #1 in NetworkManager.fetchDeezerTracks(forAlbum:withAccessToken:withCompletionHandler:) + 4303000580
4  MyApp                          0x1004d8294 closure #1 in NetworkManager.fetchAppleMusicTracks(forAlbumID:withAccessToken:withCompletionHandler:) + 4302996116
5  Alamofire                      0x100a73e64 $s9Alamofire15DownloadRequestC8response5queue0D10Serializer17completionHandlerACXDSo012OS_dispatch_E0CSg_xyAA0B8ResponseVy16SerializedObjectQzGctAA0bkF8ProtocolRzlFyycfU_yycfU_AA0bkF0VyypG_Tg5Tm + 132
6  Alamofire                      0x100a79d08 $s9Alamofire15DownloadRequestC8response5queue0D10Serializer17completionHandlerACXDSo012OS_dispatch_E0CSg_xyAA0B8ResponseVy16SerializedObjectQzGctAA0bkF8ProtocolRzlFyycfU_yycfU_AA0bkF0VyypG_Tg5TATm + 36
7  Alamofire                      0x100a5b3b0 $sIeg_IeyB_TR + 28
8  libdispatch.dylib              0x18f0eb9a8 _dispatch_call_block_and_release + 24
9  libdispatch.dylib              0x18f0ec524 _dispatch_client_callout + 16
10 libdispatch.dylib              0x18f0a156c _dispatch_root_queue_drain + 684
11 libdispatch.dylib              0x18f0a1bf8 _dispatch_worker_thread2 + 124
12 libsystem_pthread.dylib        0x18f13db38 _pthread_wqthread + 212
13 libsystem_pthread.dylib        0x18f140740 start_wqthread + 8

我如何获取我的trackIds(NetworkManager)

    func fetchAppleMusicTracks(forAlbumID albumID:String,
                           withAccessToken accessToken:String,
                           withCompletionHandler completionHandler:@escaping(JSON?)->Void) {

    let url = kAppleMusicAlbumURL + albumID
    guard let encodedURL = url.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else { return completionHandler(nil) }
    let headers = [kAppleMusicAuthoritationKey : kAppleMusicBearerKey + accessToken]
    Alamofire.request(encodedURL,
                      method: .get,
                      parameters: nil,
                      encoding: URLEncoding.default,
                      headers: headers).responseJSON(queue: backgroundQueue) {
        [weak self]
        response in
        guard let self = self else { completionHandler(nil); return }

        self.networkRequestResponseHandler(withResponse:response,
                                           completionHandler:completionHandler) {
            self.fetchAppleMusicTracks(forAlbumID: albumID,
                                       withAccessToken: accessToken,
                                       withCompletionHandler: completionHandler)
        }
    }
}

我的网络请求处理程序(NetworkManager):

func networkRequestResponseHandler(withResponse response:DataResponse<Any>,
                                   completionHandler: @escaping(JSON?)->Void,
                                   retryHandler: @escaping()->Void) {
    switch response.result {
    case .success(let value):
        completionHandler(JSON(value))
    case .failure(let error):
        if self.noConnectionValidator(forError: error, withRetryHandler:retryHandler) { return completionHandler(nil) }
        if let status = response.response?.statusCode {
            let message = BackendManager.sharedInstance.APIErrorMessageHandler(status: status)
            AlertsManager.sharedInstance.displayAlertWithOKButton(forTitle: kGenericErrorTitle,
                                                                  message: message,
                                                                  buttonTitle: "Ok")
        } else {
            AlertsManager.sharedInstance.displayNetworkErrorMessage(withError: error)
        }
        completionHandler(nil)
    }
}

获取曲目的方法(ApplePlayerManager):

private func fetchTrackIds(forAlbum album:String, completionHandler:@escaping([String]?)->Void) {
    retrieveAccessToken {
        accessToken in

        guard let accessToken = accessToken else { completionHandler(nil); return }
        NetworkManager.sharedInstance.fetchAppleMusicTracks(forAlbumID: album, withAccessToken: accessToken) {
            JSON in

            guard let JSON = JSON else {
                completionHandler(nil)
                return
            }
            if let tracks = JSON[kAppleMusicDataKey].array?[0][kAppleMusicRelationshipsKey][kAppleMusicTracksKey][kAppleMusicDataKey].array {
                let trackIds = tracks.map{ $0[kAppleMusicTrackIdentifierKey].string }.compactMap{ $0 }
                completionHandler(trackIds)
            } else {
                //AlertsManager.sharedInstance.displayAppleMusicCouldNotFetchTracks()
                completionHandler(nil)
            }
        }
    }
}

进入点->播放Apple曲目的方法(ApplePlayerManager):

override public func play(album:String, withTrack track:Int) {
    super.play(album: album, withTrack: track)
    guard let streamingManager = streamingManager else { return setup { self.play(album: album, withTrack: track) } }
    indexOfLastPlayingItem = track
    fetchTrackIds(forAlbum: album) {
        [weak self]
        trackIds in
        guard let self = self else { return }

        guard let trackIds = trackIds else {
            return //AlertsManager.sharedInstance.displayAppleMusicTracksFetchFailed()
        }
        self.loadedAlbumTrackIDs = trackIds
        if let remainingTracks = self.calculateRemainingTrackList(fromCurrentTrack: track) {
            ThreadManager.sharedInstance.executeOnMainThread {
                self.play(forStreamingManager: streamingManager, remainingTracks: remainingTracks)
            }
        }
    }
}

编辑-更多信息:

由于我的应用程序使用了多种服务,因此我为每个服务创建了一个抽象的PlayerManager单例类,其中包含具体的单例子类。因此,如果事先将PlayerManager.service设置为.Apple,那么PlayerManager.play(track:trackId)将在ApplePlayerManager上调用正确的具体类方法。

我知道单身人士似乎在代码中的某个地方错误地更改了服务,但是再也没有任何意义,我无法重现它,也不会遇到断点。

编辑第二部分-所有线程堆栈:

我怀疑这可能与线程有关?这是所有线程:

Crashed: com.apple.root.background-qos
EXC_BREAKPOINT 0x0000000104cd5a40
Crashed: com.apple.root.background-qos
0  MyApp                          0x104cd5a40 closure #2 in ApplePlayerManager.play(album:withTrack:) + 4376304192 (<compiler-generated>:4376304192)
1  MyApp                          0x104cd5884 closure #1 in closure #1 in ApplePlayerManager.fetchTrackIds(forAlbum:completionHandler:) + 4376303748 (<compiler-generated>:4376303748)
2  MyApp                          0x104d52218 specialized NetworkManager.networkRequestResponseHandler(withResponse:completionHandler:retryHandler:) + 4376814104 (<compiler-generated>:4376814104)
3  MyApp                          0x104d51404 closure #1 in NetworkManager.fetchDeezerTracks(forAlbum:withAccessToken:withCompletionHandler:) + 4376810500
4  MyApp                          0x104d50294 closure #1 in NetworkManager.fetchAppleMusicTracks(forAlbumID:withAccessToken:withCompletionHandler:) + 4376806036
5  Alamofire                      0x105313e64 $s9Alamofire15DownloadRequestC8response5queue0D10Serializer17completionHandlerACXDSo012OS_dispatch_E0CSg_xyAA0B8ResponseVy16SerializedObjectQzGctAA0bkF8ProtocolRzlFyycfU_yycfU_AA0bkF0VyypG_Tg5Tm + 132
6  Alamofire                      0x105319d08 $s9Alamofire15DownloadRequestC8response5queue0D10Serializer17completionHandlerACXDSo012OS_dispatch_E0CSg_xyAA0B8ResponseVy16SerializedObjectQzGctAA0bkF8ProtocolRzlFyycfU_yycfU_AA0bkF0VyypG_Tg5TATm + 36
7  Alamofire                      0x1052fb3b0 $sIeg_IeyB_TR + 28
8  libdispatch.dylib              0x1b2e9a9a8 _dispatch_call_block_and_release + 24
9  libdispatch.dylib              0x1b2e9b524 _dispatch_client_callout + 16
10 libdispatch.dylib              0x1b2e8165c _dispatch_root_queue_drain + 640
11 libdispatch.dylib              0x1b2e81cd0 _dispatch_worker_thread2 + 112
12 libsystem_pthread.dylib        0x1b2eecb38 _pthread_wqthread + 212
13 libsystem_pthread.dylib        0x1b2eef740 start_wqthread + 8

com.apple.main-thread

com.apple.main-thread
0  libsystem_kernel.dylib         0x1b2fa9198 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1b2fa860c mach_msg + 72
2  CoreFoundation                 0x1b31533b4 __CFRunLoopServiceMachPort + 148
3  CoreFoundation                 0x1b314e3e8 __CFRunLoopRun + 1160
4  CoreFoundation                 0x1b314dc34 CFRunLoopRunSpecific + 424
5  GraphicsServices               0x1bd29738c GSEventRunModal + 160
6  UIKitCore                      0x1b728022c UIApplicationMain + 1932
7  MyApp                          0x104cd1060 main + 12 (AppDelegate.swift:12)
8  libdyld.dylib                  0x1b2fd5800 start + 4
com.apple.uikit.eventfetch-thread
com.apple.uikit.eventfetch-thread
0  libsystem_kernel.dylib         0x1b2fa9198 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1b2fa860c mach_msg + 72
2  CoreFoundation                 0x1b31533b4 __CFRunLoopServiceMachPort + 148
3  CoreFoundation                 0x1b314e3e8 __CFRunLoopRun + 1160
4  CoreFoundation                 0x1b314dc34 CFRunLoopRunSpecific + 424
5  Foundation                     0x1b3490bcc -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 228
6  Foundation                     0x1b3490aac -[NSRunLoop(NSRunLoop) runUntilDate:] + 88
7  UIKitCore                      0x1b7322160 -[UIEventFetcher threadMain] + 152
8  Foundation                     0x1b35bf9d0 __NSThread__start__ + 848
9  libsystem_pthread.dylib        0x1b2eebd98 _pthread_start + 156
10 libsystem_pthread.dylib        0x1b2eef74c thread_start + 8

com.twitter.crashlytics.ios.MachExceptionServer

com.twitter.crashlytics.ios.MachExceptionServer
0  MyApp                          0x104d7b448 CLSProcessRecordAllThreads + 4376982600
1  MyApp                          0x104d7b830 CLSProcessRecordAllThreads + 4376983600
2  MyApp                          0x104d6b09c CLSHandler + 4376916124
3  MyApp                          0x104d66ac4 CLSMachExceptionServer + 4376898244
4  libsystem_pthread.dylib        0x1b2eebd98 _pthread_start + 156
5  libsystem_pthread.dylib        0x1b2eef74c thread_start + 8
com.apple.root.background-qos
com.apple.root.background-qos
0  libsystem_malloc.dylib         0x1b2ec6154 calloc + 98
1  CoreFoundation                 0x1b31e23c4 __CFAllocateObject + 20
2  CoreFoundation                 0x1b3205b38 __NSDictionaryM_new + 128
3  Foundation                     0x1b3586e68 _encodeObject + 964
4  Foundation                     0x1b34a2334 -[NSKeyedArchiver _encodeArrayOfObjects:forKey:] + 360
5  Foundation                     0x1b3586f58 _encodeObject + 1204
6  MyApp                          0x104d372f8 Album.encode(with:) + 4376703736 (<compiler-generated>:4376703736)
7  MyApp                          0x104d37354 @objc Album.encode(with:) + 4376703828 (<compiler-generated>:4376703828)
8  Foundation                     0x1b3586f58 _encodeObject + 1204
9  Foundation                     0x1b34a2334 -[NSKeyedArchiver _encodeArrayOfObjects:forKey:] + 360
10 Foundation                     0x1b3586f58 _encodeObject + 1204
11 MyApp                          0x104cec884 Series.encode(with:) + 4376397956 (<compiler-generated>:4376397956)
12 MyApp                          0x104cec93c @objc Series.encode(with:) + 4376398140 (<compiler-generated>:4376398140)
13 Foundation                     0x1b3586f58 _encodeObject + 1204
14 Foundation                     0x1b34a2334 -[NSKeyedArchiver _encodeArrayOfObjects:forKey:] + 360
15 Foundation                     0x1b3586f58 _encodeObject + 1204
16 MyApp                          0x104cfcaf0 User.encode(with:) + 4376464112 (<compiler-generated>:4376464112)
17 MyApp                          0x104cfcc64 @objc User.encode(with:) + 4376464484 (<compiler-generated>:4376464484)
18 Foundation                     0x1b3586f58 _encodeObject + 1204
19 Foundation                     0x1b34a2334 -[NSKeyedArchiver _encodeArrayOfObjects:forKey:] + 360
20 Foundation                     0x1b34ccea0 -[NSDictionary(NSDictionary) encodeWithCoder:] + 876
21 Foundation                     0x1b3586f58 _encodeObject + 1204
22 Foundation                     0x1b34ed5c8 +[NSKeyedArchiver archivedDataWithRootObject:] + 124
23 SwiftyUserDefaults             0x105c9b8c4 $sSo14NSUserDefaultsC010SwiftyUserB0E7archiveyyAC0B3KeyCyxSgG_AGtlF + 292
24 MyApp                          0x104d3a7f8 closure #1 in UserManager._cachedSavedUsers.didset + 4376717304 (<compiler-generated>:4376717304)
25 MyApp                          0x104d05e10 partial apply for closure #1 in ThreadManager.executeOnMainThread(afterSeconds:withBlock:) + 4376501776 (<compiler-generated>:4376501776)
26 MyApp                          0x104d5fc98 thunk for @escaping @callee_guaranteed () -> () + 4376870040 (<compiler-generated>:4376870040)
27 libdispatch.dylib              0x1b2e9a9a8 _dispatch_call_block_and_release + 24
28 libdispatch.dylib              0x1b2e9b524 _dispatch_client_callout + 16
29 libdispatch.dylib              0x1b2e8165c _dispatch_root_queue_drain + 640
30 libdispatch.dylib              0x1b2e81cd0 _dispatch_worker_thread2 + 112
31 libsystem_pthread.dylib        0x1b2eecb38 _pthread_wqthread + 212
32 libsystem_pthread.dylib        0x1b2eef740 start_wqthread + 8

com.apple.NSURLConnectionLoader

com.apple.NSURLConnectionLoader
0  libsystem_kernel.dylib         0x1b2fa9198 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1b2fa860c mach_msg + 72
2  CoreFoundation                 0x1b31533b4 __CFRunLoopServiceMachPort + 148
3  CoreFoundation                 0x1b314e3e8 __CFRunLoopRun + 1160
4  CoreFoundation                 0x1b314dc34 CFRunLoopRunSpecific + 424
5  CFNetwork                      0x1b6412c44 (Missing)
6  Foundation                     0x1b35bf9d0 __NSThread__start__ + 848
7  libsystem_pthread.dylib        0x1b2eebd98 _pthread_start + 156
8  libsystem_pthread.dylib        0x1b2eef74c thread_start + 8

com.apple.root.background-qos

com.apple.root.background-qos
0  libsystem_platform.dylib       0x1b2edd948 _platform_memmove + 88
1  libsystem_malloc.dylib         0x1b2ebc628 szone_realloc + 544
2  libsystem_malloc.dylib         0x1b2ec5a9c malloc_zone_realloc + 168
3  libsystem_malloc.dylib         0x1b2ec625c realloc + 196
4  CoreFoundation                 0x1b30f3948 __CFSafelyReallocate + 28
5  Foundation                     0x1b3555ea0 _NSMutableDataGrowBytes + 344
6  Foundation                     0x1b34a2a34 -[NSConcreteMutableData appendBytes:length:] + 340
7  CoreFoundation                 0x1b30fcfac writeBytes + 164
8  CoreFoundation                 0x1b30fa01c bufferWrite + 320
9  CoreFoundation                 0x1b30fd144 _appendString + 264
10 CoreFoundation                 0x1b30fa1b8 _appendObject + 348
11 CoreFoundation                 0x1b30f99fc __CFBinaryPlistWriteOrPresize + 528
12 Foundation                     0x1b34a27d0 -[NSKeyedArchiver finishEncoding] + 528
13 Foundation                     0x1b34ed5d8 +[NSKeyedArchiver archivedDataWithRootObject:] + 140
14 SwiftyUserDefaults             0x105c9b8c4 $sSo14NSUserDefaultsC010SwiftyUserB0E7archiveyyAC0B3KeyCyxSgG_AGtlF + 292
15 MyApp                          0x104d3a3bc closure #1 in UserManager._cachedActiveUser.didset + 4376716220 (<compiler-generated>:4376716220)
16 MyApp                          0x104d05e10 partial apply for closure #1 in ThreadManager.executeOnMainThread(afterSeconds:withBlock:) + 4376501776 (<compiler-generated>:4376501776)
17 MyApp                          0x104d5fc98 thunk for @escaping @callee_guaranteed () -> () + 4376870040 (<compiler-generated>:4376870040)
18 libdispatch.dylib              0x1b2e9a9a8 _dispatch_call_block_and_release + 24
19 libdispatch.dylib              0x1b2e9b524 _dispatch_client_callout + 16
20 libdispatch.dylib              0x1b2e8165c _dispatch_root_queue_drain + 640
21 libdispatch.dylib              0x1b2e81cd0 _dispatch_worker_thread2 + 112
22 libsystem_pthread.dylib        0x1b2eecb38 _pthread_wqthread + 212
23 libsystem_pthread.dylib        0x1b2eef740 start_wqthread + 8

AVAudioSession Notify Thread

AVAudioSession Notify Thread
0  libsystem_kernel.dylib         0x1b2fa9198 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x1b2fa860c mach_msg + 72
2  CoreFoundation                 0x1b31533b4 __CFRunLoopServiceMachPort + 148
3  CoreFoundation                 0x1b314e3e8 __CFRunLoopRun + 1160
4  CoreFoundation                 0x1b314dc34 CFRunLoopRunSpecific + 424
5  AVFAudio                       0x1bfef65dc GenericRunLoopThread::Entry(void*) + 156
6  AVFAudio                       0x1bff47300 CAPThread::Entry(CAPThread*) + 204
7  libsystem_pthread.dylib        0x1b2eebd98 _pthread_start + 156
8  libsystem_pthread.dylib        0x1b2eef74c thread_start + 8

Thread #1

Thread
0  libsystem_kernel.dylib         0x1b2fcb940 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x1b2eecbc0 _pthread_wqthread + 348
2  libsystem_pthread.dylib        0x1b2eef740 start_wqthread + 8

Thread #2

Thread
0  libsystem_pthread.dylib        0x1b2eef738 start_wqthread + 190

com.apple.root.background-qos

com.apple.root.background-qos
0  CoreFoundation                 0x1b3206828 mdict_rehashd + 244
1  CoreFoundation                 0x1b30b8f00 -[__NSDictionaryM __setObject:forKey:] + 888
2  Foundation                     0x1b35876d8 addValueToTopContainerE + 128
3  Foundation                     0x1b3587180 _encodeObject + 1756
4  Foundation                     0x1b34a2334 -[NSKeyedArchiver _encodeArrayOfObjects:forKey:] + 360
5  Foundation                     0x1b3586f58 _encodeObject + 1204
6  MyApp                          0x104d372f8 Album.encode(with:) + 4376703736 (<compiler-generated>:4376703736)
7  MyApp                          0x104d37354 @objc Album.encode(with:) + 4376703828 (<compiler-generated>:4376703828)
8  Foundation                     0x1b3586f58 _encodeObject + 1204
9  Foundation                     0x1b34a2334 -[NSKeyedArchiver _encodeArrayOfObjects:forKey:] + 360
10 Foundation                     0x1b3586f58 _encodeObject + 1204
11 MyApp                          0x104cec884 Series.encode(with:) + 4376397956 (<compiler-generated>:4376397956)
12 MyApp                          0x104cec93c @objc Series.encode(with:) + 4376398140 (<compiler-generated>:4376398140)
13 Foundation                     0x1b3586f58 _encodeObject + 1204
14 Foundation                     0x1b34a2334 -[NSKeyedArchiver _encodeArrayOfObjects:forKey:] + 360
15 Foundation                     0x1b3586f58 _encodeObject + 1204
16 MyApp                          0x104cfcaf0 User.encode(with:) + 4376464112 (<compiler-generated>:4376464112)
17 MyApp                          0x104cfcc64 @objc User.encode(with:) + 4376464484 (<compiler-generated>:4376464484)
18 Foundation                     0x1b3586f58 _encodeObject + 1204
19 Foundation                     0x1b34a2334 -[NSKeyedArchiver _encodeArrayOfObjects:forKey:] + 360
20 Foundation                     0x1b34ccea0 -[NSDictionary(NSDictionary) encodeWithCoder:] + 876
21 Foundation                     0x1b3586f58 _encodeObject + 1204
22 Foundation                     0x1b34ed5c8 +[NSKeyedArchiver archivedDataWithRootObject:] + 124
23 SwiftyUserDefaults             0x105c9b8c4 $sSo14NSUserDefaultsC010SwiftyUserB0E7archiveyyAC0B3KeyCyxSgG_AGtlF + 292
24 MyApp                          0x104d3a7f8 closure #1 in UserManager._cachedSavedUsers.didset + 4376717304 (<compiler-generated>:4376717304)
25 MyApp                          0x104d05e10 partial apply for closure #1 in ThreadManager.executeOnMainThread(afterSeconds:withBlock:) + 4376501776 (<compiler-generated>:4376501776)
26 MyApp                          0x104d5fc98 thunk for @escaping @callee_guaranteed () -> () + 4376870040 (<compiler-generated>:4376870040)
27 libdispatch.dylib              0x1b2e9a9a8 _dispatch_call_block_and_release + 24
28 libdispatch.dylib              0x1b2e9b524 _dispatch_client_callout + 16
29 libdispatch.dylib              0x1b2e8165c _dispatch_root_queue_drain + 640
30 libdispatch.dylib              0x1b2e81cd0 _dispatch_worker_thread2 + 112
31 libsystem_pthread.dylib        0x1b2eecb38 _pthread_wqthread + 212
32 libsystem_pthread.dylib        0x1b2eef740 start_wqthread + 8

com.apple.root.background-qos

com.apple.root.background-qos
0  libobjc.A.dylib                0x1b2f12aa8 objc_release + 24
1  libswiftCore.dylib             0x1c0914680 swift_arrayDestroy + 68
2  libswiftCore.dylib             0x1c06d38c8 _DictionaryStorage.deinit + 360
3  libswiftCore.dylib             0x1c06d394c _DictionaryStorage.__deallocating_deinit + 12
4  libswiftCore.dylib             0x1c091e320 _swift_release_dealloc + 28
5  SwiftyJSON                     0x105c396d0 $s10SwiftyJSON6unwrap33_4625CC38AABF536BB76490A35D7233C9LLyypypF + 1400
6  SwiftyJSON                     0x105c394a4 $s10SwiftyJSON6unwrap33_4625CC38AABF536BB76490A35D7233C9LLyypypF + 844
7  SwiftyJSON                     0x105c395d8 $s10SwiftyJSON6unwrap33_4625CC38AABF536BB76490A35D7233C9LLyypypF + 1152
8  SwiftyJSON                     0x105c394a4 $s10SwiftyJSON6unwrap33_4625CC38AABF536BB76490A35D7233C9LLyypypF + 844
9  SwiftyJSON                     0x105c394a4 $s10SwiftyJSON6unwrap33_4625CC38AABF536BB76490A35D7233C9LLyypypF + 844
10 SwiftyJSON                     0x105c394a4 $s10SwiftyJSON6unwrap33_4625CC38AABF536BB76490A35D7233C9LLyypypF + 844
11 SwiftyJSON                     0x105c395d8 $s10SwiftyJSON6unwrap33_4625CC38AABF536BB76490A35D7233C9LLyypypF + 1152
12 SwiftyJSON                     0x105c394a4 $s10SwiftyJSON6unwrap33_4625CC38AABF536BB76490A35D7233C9LLyypypF + 844
13 SwiftyJSON                     0x105c383e4 $s10SwiftyJSON0B0V6objectypvs + 44
14 SwiftyJSON                     0x105c49ccc $s10SwiftyJSON0B0V10jsonObjectACyp_tc33_4625CC38AABF536BB76490A35D7233C9LlfCTf4nd_n + 164
15 SwiftyJSON                     0x105c49f00 $s10SwiftyJSON0B0VyACypcfCTf4nd_n + 152
16 SwiftyJSON                     0x105c381ac $s10SwiftyJSON0B0VyACypcfC + 28
17 MyApp                          0x104d521e4 specialized NetworkManager.networkRequestResponseHandler(withResponse:completionHandler:retryHandler:) + 51 (NetworkManager.swift:51)
18 MyApp                          0x104d51404 closure #1 in NetworkManager.fetchDeezerTracks(forAlbum:withAccessToken:withCompletionHandler:) + 4376810500
19 MyApp                          0x104d50294 closure #1 in NetworkManager.fetchAppleMusicTracks(forAlbumID:withAccessToken:withCompletionHandler:) + 4376806036
20 Alamofire                      0x105313e64 $s9Alamofire15DownloadRequestC8response5queue0D10Serializer17completionHandlerACXDSo012OS_dispatch_E0CSg_xyAA0B8ResponseVy16SerializedObjectQzGctAA0bkF8ProtocolRzlFyycfU_yycfU_AA0bkF0VyypG_Tg5Tm + 132
21 Alamofire                      0x105319d08 $s9Alamofire15DownloadRequestC8response5queue0D10Serializer17completionHandlerACXDSo012OS_dispatch_E0CSg_xyAA0B8ResponseVy16SerializedObjectQzGctAA0bkF8ProtocolRzlFyycfU_yycfU_AA0bkF0VyypG_Tg5TATm + 36
22 Alamofire                      0x1052fb3b0 $sIeg_IeyB_TR + 28
23 libdispatch.dylib              0x1b2e9a9a8 _dispatch_call_block_and_release + 24
24 libdispatch.dylib              0x1b2e9b524 _dispatch_client_callout + 16
25 libdispatch.dylib              0x1b2e8165c _dispatch_root_queue_drain + 640
26 libdispatch.dylib              0x1b2e81cd0 _dispatch_worker_thread2 + 112
27 libsystem_pthread.dylib        0x1b2eecb38 _pthread_wqthread + 212
28 libsystem_pthread.dylib        0x1b2eef740 start_wqthread + 8

com.google.fira.worker

com.google.fira.worker
0  libsqlite3.dylib               0x1b4df32a8 sqlite3_exec + 26552
1  libsqlite3.dylib               0x1b4dee810 sqlite3_exec + 7456
2  libsqlite3.dylib               0x1b4ded6fc sqlite3_exec + 3084
3  libsqlite3.dylib               0x1b4decc3c sqlite3_exec + 332
4  MyApp                          0x104e1d0cc -[APMSqliteStore beginTransaction] + 4377645260
5  MyApp                          0x104e1cf18 -[APMSqliteStore performTransactionWithError:block:] + 4377644824
6  MyApp                          0x104dd9444 -[APMDatabase performTransaction:] + 4377367620
7  MyApp                          0x104df2a5c -[APMMeasurement writeEventOnWorkerQueue:] + 4377471580
8  MyApp                          0x104df2280 -[APMMeasurement handleEventOnWorkerQueue:] + 4377469568
9  MyApp                          0x104df1500 __27-[APMMeasurement logEvent:]_block_invoke + 4377466112
10 MyApp                          0x104e06f50 __51-[APMScheduler scheduleOnWorkerQueueBlockID:block:]_block_invoke + 4377554768
11 libdispatch.dylib              0x1b2e9a9a8 _dispatch_call_block_and_release + 24
12 libdispatch.dylib              0x1b2e9b524 _dispatch_client_callout + 16
13 libdispatch.dylib              0x1b2e78b3c _dispatch_lane_serial_drain$VARIANT$armv81 + 564
14 libdispatch.dylib              0x1b2e7954c _dispatch_lane_invoke$VARIANT$armv81 + 396
15 libdispatch.dylib              0x1b2e8284c _dispatch_workloop_worker_thread + 580
16 libsystem_pthread.dylib        0x1b2eecb74 _pthread_wqthread + 272
17 libsystem_pthread.dylib        0x1b2eef740 start_wqthread + 8
    

我的iOS应用崩溃次数令人担忧。当我查看stacktrace时,我可以跟踪stacktrace的流程,直到3d行'fetchDeezerTracks(forAlbum)'。检查我的代码时...

ios swift xcode crashlytics
1个回答
0
投票

(只是一个猜测)

© www.soinside.com 2019 - 2024. All rights reserved.