Early adopter here. I’m new to JUCE and have been building-out a Hello-World app across platforms. All has been quite well but upgrading to 8.0.4 resulted in “ld: library ‘UserNotifications.framework’ not found”. I tried adding it as an extra library to no avail.
Running on Sonma 14.7.1 and Xcode 15.4 (older iPhone, can’t go newer for HW testing).
Rolling back to 8.0.3 got me back on track with iOS.
JUCE is an excellent cross-platform framework, as you well know. Thanks for the great work!
Have you changed the deployment target setting in the Projucer or Xcode?
When you updated to 8.0.4, did you either rebuild the Projucer using 8.0.4, or open the Projucer.app included with the 8.0.4 download, and use this copy of the Projucer to resave your project before reopening it in Xcode?
Initially the target was just the Projucer default for iOS but then I tried changing it to iPhone specifically (I tried adding the library ‘not found’ in Xcode too…). Same result.
I resaved files/project with Projucer 8.0.4, the one that came with the download.
Thanks for the info. Unfortunately I’m struggling to imagine why you might be seeing this error, it sounds like you’re doing everything right!
I’m not sure what might have changed between 8.0.3 and 8.0.4 to trigger this issue. The UserNotifications framework should be linked automatically in both cases.
I’d be interested to know whether you see the same problem on a completely new, blank iOS project generated by the 8.0.4 Projucer. Could you try that please?
As a sanity check I ran through Xcode my project again on 8.0.4: Undefined symbol: OBJC_CLASS$_UNUserNotificationCenter
Tried a Projucer iOS MenusDemo, after assigning Apple team id, etc. Hm, works like a charm.
Tried creating new GUI and Blank minimal projects: Undefined symbol: OBJC_CLASS$_UNUserNotificationCenter.
Hm, does another demo work as well? Yup, DialogsDemo.
At best this means I must begin a new project from a demo to get going on a project with Projucer 8.0.4. It is not impossible that my environment is the cause, but this is strange nonetheless.
That’s given me a clue: I think maybe we’re only linking the UserNotifications framework with juce_gui_extra, but we now reference it in juce_gui_basics. I’ll put a fix together and update this thread once it’s public.
Confirmed issue fixed → Built Projucer 8.0.4 and tested before and after the committed change, going through the failing tests already mentioned, and then they passed without a hitch after updating the code.