https://kotlinlang.org logo
n

nestserau

06/17/2019, 10:41 AM
Guys, I’ve made a test run of my app on iOS 13 beta 1, and the network operations in my Kotlin MPP library pretty much stopped working. Is this something you are aware about, or should I provide more info for you to be able to fix it?
a

Artyom Degtyarev [JB]

06/17/2019, 11:42 AM
Hello! It sounds interesting, can you provide some details on the situation? Did you test the library on previous iOS? Any other changes except the target were made, or you just tried to rebuild for iOS 13?
n

nestserau

06/17/2019, 11:43 AM
Works perfectly on iOS 12. Now I’ve built the iOS project with Xcode-beta and launched on a device with iOS 13 beta. And the behavior changed. Trying to debug it now.
a

Artyom Degtyarev [JB]

06/17/2019, 11:48 AM
Okay, I see. Please report if there will be something. One more thing, I misunderstood a little. Can you clarify, the network operations have stopped in the middle of the run, or just was unable to start properly? I mean, what part of the functionality you lost - it is not working at all, or there are some special things that broke up?
n

nestserau

06/17/2019, 12:47 PM
The network operations are fired out, but I receive different results from the server on iOS 13. Going to debug it with the backend developer. I guess that’s were the problem is. Sorry if anything. It’s hard to debug MPP libraries.
🍀 2
l

louiscad

06/17/2019, 12:51 PM
If you're not receiving the same results, then I'd say you send different data (e.g. the user agent, the iOS version, on something else that changes with the iOS version), which causes the backend to reply something different too.
n

nestserau

06/17/2019, 12:56 PM
Yes, definitely. Just need to understand where the problem lies exactly. Whether it’s the server that doesn’t like the iOS version name, or maybe my response gets corrupted. The latter is much worse.
l

louiscad

06/17/2019, 12:58 PM
println based debug may help to figure it out
n

nestserau

06/17/2019, 12:59 PM
Yep, doing that, thanks mate!
s

Sam

06/17/2019, 2:24 PM
Charles Proxy will let you look at the exchange between the client and server. It isn't free but you can use it for free with some nag screens and time limits.
n

nestserau

06/17/2019, 2:26 PM
Found that. The problem is actually with SHA256 I use to hash the password. iOS 13 gives the result in a different format. Thinking on a fix.
👍 1
l

louiscad

06/17/2019, 2:32 PM
So iOS 13 doesn't know how to make a SHA256 anymore?
n

nestserau

06/17/2019, 2:37 PM
It does, it just wraps it up in curly braces etc. The format is messed up.
l

louiscad

06/17/2019, 2:38 PM
Would file it to Apple, this could break a lot of apps
n

nestserau

06/17/2019, 2:38 PM
It will…
l

louiscad

06/17/2019, 2:47 PM
It will, or you will?
n

nestserau

06/17/2019, 2:49 PM
No, I will just change my implementation slightly, then it will be okay.
They changed the format of “description” method return value on NSData, that’s the problem.
l

louiscad

06/17/2019, 2:50 PM
Can you link the documentation of the symbol you're using?
n

nestserau

06/17/2019, 2:50 PM
CC_SHA256
And then NSMutableData::description
Its output has changed
5 Views