taplytics / taplytics-ios-sdk

Taplytics iOS SDK
taplytics.com
32 stars 18 forks source link

Crash in pod (2.10.30) #29

Closed alirp88 closed 8 years ago

alirp88 commented 8 years ago

Hi I added the pod 'Taplytics' and then run pod install. then without any changes in source code i ran the project. and i get the following exception and it stops in "main.m"

Assertion failure in void PushNextClassForSettingIMP(id, SEL)(), /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3512.60.12/UIAppearance.m:760
jonathannorris commented 8 years ago

@alirp88 Thanks for reporting the issue, I haven't seen that one before. Are you willing to post your pod file, or email it to me (jonathan at taplytics.com), it looks like there may be a conflict with one of your other dependancies.

jonathannorris commented 8 years ago

@alirp88 any chance you can send those over?

alirp88 commented 8 years ago

Thanks for your feedback. My current Podfile is:

pod "MMMaterialDesignSpinner"
pod "AFNetworking", "~> 2.0"
pod 'IQKeyboardManager'
pod 'JSONModel'
pod 'Google/CloudMessaging'
pod 'Google/SignIn'
pod 'libPusher'
pod 'Mapbox-iOS-SDK', '1.6.0'
pod 'QRCodeReaderViewController', '~> 4.0.1'
pod 'NSHash'
pod 'Google/Analytics'
pod 'Adjust'
pod 'Flurry-iOS-SDK'
pod 'Fabric'
pod 'Crashlytics'
pod 'CWStatusBarNotification'
jonathannorris commented 8 years ago

@alirp88 found the issue. IQKeyboardManager was the conflicting pod. I've pushed a fix in 2.10.40 for it. Thanks for reporting the issue!

rogerluan commented 7 years ago

@jonathannorris I'm having this same crash with a project of mine (completely unrelated to your Pod, sorry), and I'm not using IQKeyboardManager. Could you tell me how you fixed it? If it helps, here's your version diff: https://github.com/taplytics/taplytics-ios-sdk/compare/063524c9c1180a9a07b56dc6f5c9e4e63a29758d...2cd73364f42342c0435a8ebd8a493271aef2c430

It'd help a lot! Thanks!

jonathannorris commented 7 years ago

@rogerluan racking my brain from a year ago, I believe there was a conflict where the IQKeyboardManager package was improperly swizzling some UIView methods.

rogerluan commented 7 years ago

@jonathannorris Ah I see. I figured some stuff out regarding the issue I was having. First, what caused the crash on my project was using UIAppearance selector to change autocorrection mode for UITextFields, UITextViews and UISearchBars. But I ended up realizing it's an internal iOS bug, because on the assertion crash log Apple even prints out "if you see this assertion failing, please fill out a bug report in https://etc..." so yeah, we're out of luck :(

Fortunately it's not a problem with IQKeyboardManager since we dumped that manager some time ago cuz it was causing way too many problems already hehe 😁

Thanks for your reply man! Cheers!