On the develop branch, we now emit a warning when the compiler is Xcode 15.0 and the deployment target is an old version of macOS or iOS that might result in a broken binary:
Brilliant, thank you for much for the prompt response on this @reuk!
I’ve found that without using these flags (-ld_classic etc.), my app can crash on (say) iOS 12.5.7
Basically, code like this simply fails to load on an iOS 12.5.7 device:
if (@available (iOS 13.4, *))
{
auto hoverRecognizer = [[[UIHoverGestureRecognizer alloc] initWithTarget: self action: @selector (onHover:)] autorelease];
Hoping this info helps. Apple have really screwed up here, I think.
Best wishes, Pete
I just went back to XCode 14 and everything worked fine. But I still have many users complaining that since iOS 17 my app doesn’t connect to Bluetooth devices anymore. They wouldn’t blame Apple, of course.
@swar it has been a while since a major Xcode update broke things for me. Which is good in one way - it is generally really good - but super annoying when things go wrong.
A suggestion would be to try using the classic linker - just on the off-chance that fixes your Bluetooth issues.
Best wishes, Pete
I think the Bluetooth issue is a generic problem of the current iOS 17 release. You’ll find a lot of such reports online.
Also I had upgraded to XCode 15 in order to get the iOS 17 simulators, and they seem to have the same issue. They always play on the default output device, whatever device you choose in the Simulator audio output menu. This is not the case with iOS16 simultators.
So I suspect it’s an iOS 17 issue, but there’s no information from Apple whether it’s the case nor when they are going to fix it.
@swar man alive, that is a pain.
NB: I’ve raised the linker bug in Xcode 15 using Feedback Assistant.app - they rarely seem to respond (or if they do, 6 months after the event!), but I guess it helps them to focus if there are enough reports of an issue!
Good luck with the Bluetooth issues!!
Best wishes, Pete