Marijn Ophorst
Marijn Ophorst

Reputation: 51

XCode 7 / Cordova plugin / Link issue: _utf8_nextCharSafeBody undefined symbol

I'm adapting an (apparently outdated) Cordova plugin for use in my app (PhoneRTC if you're curious).

As a Linux/CLI guy at heart I've been struggling with XCode for a day, and I managed to iron out most of the deprecated code using a lot of Google and some blind guessing. However, now I'm stuck with a final error during the linking phase:

"Undefined symbols for architechture arm64: "_utf8_nextCharSafeBody", referenced from: [snip]"

The plugin's original installation instructions mention linking the binary to the library libicucore.dylib, but this seems to have been removed in the latest XCode (there are references of the same name with .tbh extensions available but these aren't valid for that dialog - even though I can select them, but whatever).

Some more Googling offered suggestions for linking various *.frameworks instead, but to no avail - the error remains.

Does anyone have any idea what I need to link to to make this function available? Or if it's permanently removed I'd also like to know, although that would involve rebuilding the binaries which wouldn't be something I'm looking forward to...

Or if you don't know, would there be a way to grep through Apple's libraries somehow to see which one is supposed to be defining a missing symbol?

(Needless to say, IF I can get this working it's going to be forked from the original repo and donated back to the community :))

Upvotes: 1

Views: 171

Answers (1)

Marijn Ophorst
Marijn Ophorst

Reputation: 51

So, I'm not sure what I changed exactly, but suddenly I could add libicucore.tbh as a linked library. I probably changed the build target or something, but in any case the linking error disappeared (to be replaced by a signing error because XCode, but that I can solve).

Upvotes: 0

Related Questions