You can either compile Nim to Objective-C with nim objc yourfile.nim
Or compile Nim to C as a shared library.
Tag the exported proc with {.exportc.} or {.exportc: "my_desired_name".} to ask Nim not to mangle them.
Then you can compile to a shared library and associated header with: nim c --noMain --noLinking --header:my_header.h my_file.nim
Or combine both (?): nim objc --noMain --noLinking --header:my_header.h my_file.nim
When calling Nim code, you will need to initialize Nim runtime once by calling NimMain().
Then you can follow any tutorial to call C from Objective-C.
The full details of Nim interop are written here: https://nim-lang.org/docs/backends.html#interfacing-backend-code-calling-nim.
Note that the Objective-C backend is less tested compared to C and C++ so I recommend you go the C way but if you get Objective-C to work that would be very nice.