I’m trying to compile a (very slightly modified) version of the midiTest application for iOS, but am receiving the following link error in Xcode:
Undefined symbols for architecture armv7: "_OBJC_CLASS_$_CABTMIDICentralViewController", referenced from: objc-class-ref in juce_audio_utils.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
The project compiles and runs fine in the iOS simulator, but the above occurs when compiling for a physical iOS device.
I’m running OSX sierra, with Xcode 8, trying to build for iOS 10.0.0.1.
Also worth noting that there are a number of compiler warnings relating to the juce library code itself such as the following:
1 - are you including CoreAudioKit framework?
2 - the warning is generated by the method (in juce_mac_WebBrowserComponent):
void mouseMove (const MouseEvent&)
{
// WebKit doesn't capture mouse-moves itself, so it seems the only way to make
// them work is to push them via this non-public method..
if ([webView respondsToSelector: @selector (_updateMouseoverWithFakeEvent)])
[webView performSelector: @selector (_updateMouseoverWithFakeEvent)];
}
You could avoid the warning changing the method:
void mouseMove (const MouseEvent&)
{
// WebKit doesn't capture mouse-moves itself, so it seems the only way to make
// them work is to push them via this non-public method..
#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wundeclared-selector"
#endif // defined(__clang__)
if ([webView respondsToSelector: @selector (_updateMouseoverWithFakeEvent)])
[webView performSelector: @selector (_updateMouseoverWithFakeEvent)];
#if defined(__clang__)
#pragma clang diagnostic pop
#endif // defined(__clang__)
}