Juanpe / SkeletonView

☠️ An elegant way to show users that something is happening and also prepare them to which contents they are awaiting
MIT License
12.62k stars 1.12k forks source link

Crash(showAnimatedGradientSkeleton) [UIPlaceholderColor initWithDynamicProvider:]: unrecognized selector sent to instance #508

Closed osmanyesilinvio closed 2 years ago

osmanyesilinvio commented 2 years ago

Description

Recently I started getting NSInvalidArgumentException crash inside closure when using showAnimatedGradientSkeleton method. Information about the crash is as follows. When I execute showAnimatedGradientSkeleton for tableView, I'm getting many crashes. I think it is related to this issue.

This crash is the only one where have more iOS 13 (14%) than iOS 14 (86%).

What type of issue is this? (place an x in one of the [ ])

Requirements (place an x in each of the [ ])


Bug Report

Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x119180 __exceptionPreprocess
1  libobjc.A.dylib                0x59f8 objc_exception_throw
2  CoreFoundation                 0x359bc -[NSOrderedSet initWithSet:copyItems:]
3  CoreFoundation                 0x11e9c8 ___forwarding___
4  CoreFoundation                 0x12065c _CF_forwarding_prep_0
5  SkeletonView                   0xe5dc (Missing UUID d49abe59f40b3c4f94aeab1d0d4e5a10)
6  SkeletonView                   0xde44 (Missing UUID d49abe59f40b3c4f94aeab1d0d4e5a10)
7  libdispatch.dylib              0x607d4 _dispatch_client_callout
8  libdispatch.dylib              0x3eb8 _dispatch_once_callout
9  libswiftCore.dylib             0x2a6e40 swift_once
10 SkeletonView                   0xdccc (Missing UUID d49abe59f40b3c4f94aeab1d0d4e5a10)
11 libdispatch.dylib              0x607d4 _dispatch_client_callout
12 libdispatch.dylib              0x3eb8 _dispatch_once_callout
13 libswiftCore.dylib             0x2a6e40 swift_once
14 SkeletonView                   0xdc84 (Missing UUID d49abe59f40b3c4f94aeab1d0d4e5a10)
15 app                      0x40ca8c closure #1 in HomeVC.showSkeletons() (<compiler-generated>)
16 app                      0x361d80 thunk for @escaping @callee_guaranteed () -> () (<compiler-generated>)
17 libdispatch.dylib              0x5fa38 _dispatch_call_block_and_release
18 libdispatch.dylib              0x607d4 _dispatch_client_callout
19 libdispatch.dylib              0xe008 _dispatch_main_queue_callback_4CF$VARIANT$mp
20 CoreFoundation              0xaab20 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
21 CoreFoundation               0xa5a58 __CFRunLoopRun
22 CoreFoundation              0xa4fb4 CFRunLoopRunSpecific
23 GraphicsServices            0xa79c GSEventRunModal
24 UIKitCore                      0x8bcc38 UIApplicationMain
25 app            0x31c30 main + 23 (AppDelegate.swift:23)
26 libdyld.dylib                  0x18e0 start

Usage:

    private func showSkeletons() {
        if !tableView.sk.isSkeletonActive {
            DispatchQueue.main.async { [weak self] in
                self?.tableView.showAnimatedGradientSkeleton()
                self?.reloadTableView()
            }
        }
    }

SkeletonView Environment:

SkeletonView version: (1.29.2) Xcode version: (13.4.1) **Swift version: (5)

Juanpe commented 2 years ago

Hi @osmanyesilinvio!

Just to know, why do you reload the tableView after show the skeleton? 🤔

github-actions[bot] commented 2 years ago

🤖 This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions 🙂

github-actions[bot] commented 2 years ago

Closing this issue after a prolonged period of inactivity. If this issue is still present in the latest release, please feel free to create a new issue with up-to-date information.