Customerly / Customerly-iOS-SDK

Embed the Best-in-Class Live Chat for your iOS apps with Customerly Live Chat mobile SDK
https://www.customerly.io/en/customer-support-live-chat
Apache License 2.0
21 stars 12 forks source link

Kingfisher causing crash when support activity gets opened #3

Closed hamzabinamin closed 4 years ago

hamzabinamin commented 4 years ago

Your SDK is using Kingfisher as pods and it's causing an exception when ever I try to open the support view controller.

The exception is as following:

Thread 8: EXC_BREAKPOINT (code=EXC_ARM_BREAKPOINT, subcode=0xdefe)

    var timeInterval: TimeInterval {
        switch self {
        case .never: return .infinity
        case .seconds(let seconds): return seconds
        case .days(let days): return TimeInterval(TimeConstants.secondsInOneDay * days)
        case .date(let ref): return ref.timeIntervalSinceNow
        case .expired: return -(.infinity)
        }
    }

The exception occurs at the case.daysline

hamzabinamin commented 4 years ago

@pmusolino @lucamicheli @giannign1 @harrycamelback can you look into this please

harrycamelback commented 4 years ago

Hi there. Can you tell me on what version of Xcode do you have this problem? Are you using the latest version of the SDK? The crash happens only on a particular version of iOS?

hamzabinamin commented 4 years ago

@harrycamelback Hi Harry,

I'm on Xcode 11, I've tested on iOS 10 and 13, and it happens on both. And yes I'm on the latest version of the SDK.

harrycamelback commented 4 years ago

This is really strange, I don't get any crash on Xcode 11. How do you configured the SDK? How to do you present it?

hamzabinamin commented 4 years ago

I think I figured out why the crash happens. I'm using kingfisher as a pod file in my app as well. So there are two binaries now which are causing the crash.

Why exactly is kingfisher being used in customerly? Can we disable it or force it to use the pod present in my app?

harrycamelback commented 4 years ago

Since you are using Kingfisher in your app, you only need to delete the pod on your side, since the SDK import it for all the targets.

hamzabinamin commented 4 years ago

@harrycamelback What version is Customerly using for kingfisher?

harrycamelback commented 4 years ago

As you can see from our podspec, we are using v.5.7.0. We will update it into the next release.

hamzabinamin commented 4 years ago

@harrycamelback Upon further testing I have found out that this issue still occurs on iOS 10 but is not happening on iOS 13.

Here's a screenshot of what the exception looks like:

C1

hamzabinamin commented 4 years ago

@lucamicheli I see that you're the founder of Customerly. We went with your SDK because we believed it would provide a stable solution in our apps however I have found that there are a lot of small bugs in your SDKs. I coordinated with the android developer last month and he was helpful however in our beta testing we have found a couple of other bugs as well. I have opened an issue on the android sdk for more than 2 weeks now, no one replies there.

And there's also an issue on the iOS side as you can see in the issue I posted above.

We're planning on shifting to the paid plan but I am sorry to say, the customer support hasn't been great. If this is how things are going to be then unfortunately we would need to shift to other solutions.

Can you please look into this and ask the devs to please at least reply.

Thank You