When building a release version for ios with fuse build --target=ios --configuration=release it creates the Xcode Project.
But when I submit it to iTunes Connect I receive
The app references non-public symbols in ApplicationName: _ubidi_close, _ubidi_getLevels, _ubidi_open, _ubidi_setPara
Is this issue back?
I can’t upload anything to the App Store and yes, I am using -DUSE_HARFBUZZ
App Store email:
The app references non-public symbols in The Monster and the Cat: _ubidi_close, _ubidi_getLevels, _ubidi_open, _ubidi_setPara, _ubrk_close, _ubrk_first, _ubrk_next, _ubrk_open
Update:
Tried a second time, same issue.
Tried with Fuse 1.0, same issue.
Tried manually deleting the Fuse packages and rebuilding, same issue.
I created a new project to make sure it wasn’t just me and built it with -DUSE_HARBUZZ and I can see the APIs being used in the my .xcworkspace in Fuse.Text
We do reference symbols with these names, but not the ones provided by Apple. Instead we ship our own version of ICU (which is the library that provides these symobols). This can be verified by checking the imported symbols:
I just thought I’d update this thread a bit. The problem has been located, and is an interaction between Cocoapods and -DUSE_HARFBUZZ. It seems like Cocoapods transforms our XCode projects in a way that makes the linker pick up Apple’s internal version of ICU rather than the one we provide.