I think one of the most infuriating APIs on Apple's platforms are the networking ones: NSURLSession and related friends.
A few years ago, they released the NSURLSession family of APIs to replace NSURLConnection. They could have, and should have, simply copied Python's requests library or Axios or something. Instead, NSURLSession has all of the disparities and over-modularization that NSURLConnection had, with some new features.
Takes likes two-dozen lines to just set up a simple HTTP GET request, plus some to handle failure states and such. What where they thinking?