5 ms·
My guess in this particular instance is that it seems like the Facebook SDK is fetching some sort of remote serialized configuration, calling “count” on what it
by speedyapoc 6y ago
My guess in this particular instance is that it seems like the Facebook SDK is fetching some sort of remote serialized configuration, calling “count” on what it expects to be an array, and instead is calling it on NSNull (an object representing “null”) which is throwing an exception.
There are some intricacies on iOS surrounding null values and serialization, and as a developer it is important to understand that you may encounter NSNull. As a standard practice in my company, we type check every remote value before calling anything on it. Seems like that would have prevented this issue.
- akmarinov 6y agoCould also be a string that’s no longer there Source: have had that issue before Also maybe it’s time for them to start rewriting things in Swift, where this would be much less likely to happen
- sciprojguy 6y agoTrue enough. Swift Codable with optional properties handles this automatically.
- AndrewZM 6y agoThis is exactly what happens. Basically a null value is converted into an NSNull object and calling count on it will of course throw an exception... because there is no count method in that class... It makes me wonder what all those engineers at FB are actually doing... ? Every time I tried to integrate or look into the FB SDK for simple functionality it was a total clusterfuck.
- zentiggr 6y agoSounds like a good reason to stop trying. A bit of snark but also maybe stop trying to use a data collection engine to leverage anything for yourself?
- x86_64Ubuntu 6y agoThat's amateur hour stuff. Every developer in pretty much every language or platform learns VERY quickly what happens when you don't do a null check.
- blago 6y agoNSNull is not the null you think
- x86_64Ubuntu 6y agoIt may not be a conventional null, but I'm not aware of any tech where calling "count" on a Null, .nil? or otherwise null-like construct won't end horribly.
- plorkyeran 6y agoThe Facebook SDK is written in obj-c, where calling `count` on `nil` is perfectly valid and returns 0. It only doesn't work on NSNull, which is a weird different thing that does not work like the language's built-in null.