https://kotlinlang.org logo
#multiplatform
Title
# multiplatform
s

Siggi Gunnarss

01/19/2023, 2:37 PM
How is "Jump to definition" in xcode working for everybody? In my project (Android/iOS framework using
embedAndSignAppleFramework
) it works poorly: Clicking a class definition either results in nothing ( a question mark) or I get sent to the framework's objective c header file. However, if I click the import statement for my framework, then I get sent to a nice "swift" view of my headers. I would like the Swift version to show up when I try to get class and variable definitions from xcode to kotlin framework code' I haven't seen much discussion about this, should "Jump to definition" work in general?
j

Jeff Lockhart

01/19/2023, 5:04 PM
I've had poor results for this Xcode functionality within most all code, including non-KMP Swift and ObjC. AppCode (RIP 😢) has always worked better for navigating between definitions and callers.
s

Siggi Gunnarss

01/19/2023, 5:07 PM
Right. Disappointing but good to know. Would be nice if some AppCode swift functionality found its way into the KMM plugin, but I'll always need good xcode support for the ios devs on the team...
j

Jeff Lockhart

01/19/2023, 5:15 PM
I definitely would love to see AppCode functionally continue in a JetBrains IDE, whether that's an IntelliJ plugin or something else. Definition/caller navigation is one of the biggest pain points for me using Xcode for iOS development. Do the iOS devs on your team run into this in non-KMP code as well?
s

Siggi Gunnarss

01/19/2023, 6:22 PM
I think the kotlin framework I'm delivering into the ios project is uniquely bad in that following the definition either doesn't work or leads to a objc header instead of a nice swift interface. caller navigation... I think it works in general, just is slow and has a bad UI like the rest of xcode
j

Jeff Lockhart

01/19/2023, 6:45 PM
My experience has generally been that about half the time I get the ? failure result when navigating. If it does navigate somewhere, it's slow. And about half the time the location it takes me to is actually wrong. It may be a function with the same name, but in an entirely different class or module.
35 Views