I gather from the thread that my comment above seems presumptuous, condescending, and mansplainy. I do think I overstated my thoughts. I only meant to say, “It looks to me like just a beta thing. Let’s hope it goes away.” It didn’t seem like the original article expressed that consideration (though it may well could have—I just missed it at the time), so I thought it might be a thought worth adding. But I over-composed the comment, and I hit the wrong tone.
This doesn’t seem like an issue worth sorting people by level of authority or experience over. I suspect we all care a great deal about quality work and quality user experience. The OP is right that these dialogs suck, and you’re correct that Apple has released things that suck, and this might be one of those things.
What each of us do in our own work is also not at issue. I’m in solidarity with those below who feel attacked. We shouldn’t have to have our credentials ready for inspection in order to post a worthwhile comment.
In any case, for all we know and in all likelihood, the person who committed the change that enabled these notifications could be here in this thread. We don’t have to like the change, but I doubt the person who made it is any of the things they’re implicitly being accused of being.
However, if you’re not using Swift/Obj-C and have a different/custom build system, you’re probably toasted. Although, if you’re using CMake, you might have some luck in getting these info by generating an XCode project.
If so, the problem wouldn’t be “not using Swift/Objective-C” or “have a different/custom custom build system”, but having a binary in your build that calls a deprecated API that the build does not build from source.
That’s the case if you use a third party library you don’t have source code for, or if you use an in-house ‘library’ project (Xcode would warn you if you compiled that, but possibly not when you use it in another project, so you wouldn’t get a direct clue “rebuild that library to see the issues”).
I'm also a macOS developer - if I saw this I'd just turn on warnings in Xcode, wouldn't you?
The author seems to say something about using this red alert box to 'bisect' their app to figure out what's wrong? Really? Chances are if this is a deprecation issue, they may just get to the start of their app's history... There is plenty of tooling for this in Xcode and the build system. This is just a nag to remind people to use it.
Whether it's working right or not this is meant to nag on ATS and ATSUI which has been deprecated for 13 years.
Almost everyone has deprecation warnings enabled. They're enabled by default. I occasionally use #pragma clang diagnostic ignored "-Wdeprecated-declarations" for small sections of code, but you can easily search for those. Do you seriously think that Craig Hockenberry, longtime Mac and iOS developer, is so ignorant and dumb as to not understand deprecation warnings in Xcode? Apparently you do, but if so, you're grossly mistaken.
> The author seems to say something about using this red alert box to 'bisect' their app to figure out what's wrong?
Yes, I'd guess what he means is deleting code in the app until the alert disappears, which would be impossible if the alert appears only once.
> Whether it's working right or not this is meant to nag on ATS and ATSUI which has been deprecated for 13 years.
As saagarjha said, that’s not what it is. https://news.ycombinator.com/item?id=36659491
You really think that's a reasonable approach? Deleting parts of your app until it goes away?
I can't stress this enough this is not a developer tool, and it wouldn't be any more of a developer tool if it appeared every time.
> Do you seriously think that Craig Hockenberry, longtime Mac and iOS developer, is so ignorant and dumb as to not understand deprecation warnings in Xcode? Apparently you do, but if so, you're grossly mistaken.
Respectfully, I've been developing for macOS longer than you have, I started in 2002. Granted it was my first platform, and I wasn't exactly aged at the time. However, I make mistakes and come to silly conclusions all the time (as folks here are quick to point out), which is why I try to avoid appeals to authority whether for or against my position. My position should stand on its own merits.
People get mad about silly things all the time, I'm still mad about brushed metal and the unified toolbar.
Absolutely! It's an extremely common debugging technique when you have a mystery problem and need to determine the cause. You've never done that in 20 years of development?
Without tooling you have no idea where you would even start cutting.
But hey, it sounds like you've got an approach that works for you.
There is no "prescribed approach" here.
> except in the most ridiculous of situations.
This is a ridiculous situation.
> Pretty much just as a Hail Mary.
Of course it is. As I said, "when you have a mystery problem".
> Without tooling you have no idea where you would even start cutting.
I'm not sure what you mean by "Without tooling".
Well, I'd start with Xcode and static analysis. If that fails, Apple says this is triggered by ATS and ATSUI so I'd probably start with something like grep to see if I could track down a recursive dependency. [1] I wouldn't start deleting code at random from my codebase.
Given this is just a nuisance I'd then file a radar.
[1] https://medium.com/nuclei-technology-blog/how-to-check-your-...
That's what Apple says but unfortunately it's not entirely true: https://news.ycombinator.com/item?id=36660932
> Given this is just a nuisance I'd then file a radar.
They're called Feedbacks now, and if you read to the end of the blog post, you'd see that Hockenberry did indeed file some. But filing a bug report isn't any kind of solution to a problem. Apple only fixes a small subset of all bug reports.
> They're called Feedbacks now.
Yeah, I'm not going to stop calling them radars lol.
Which is exactly the point of the submitted blog post: Apple needs to change this. But here in the commentary we have people talking down to the author and others, suggesting they're somehow ignorant and "not using the tools".
> You really think that's a reasonable approach? Deleting parts of your app until it goes away?
When you send a feedback to Apple, they almost always ask for a minimal test case (Xcode project).
If you can guess what the problem is, you can just create a new Xcode project from scratch that triggers the error.
But often, when you do that, the new project doesn't fail in the same way your app does. Then you have to start with your app, and keep removing stuff until only the stuff that triggers the problem is left.
Read the message box copy, it’s consumer facing copy.
Developer facing message box wouldn’t be warning me about another developers deprecated api and telling me to contact them.