I know, I know, I cannot seem to find any time to reasonably blog about my life as developer. Nevertheless here are a few tidbits of late.
This is a curious bug in Mohave, which is causing some headache for a client of ours who is relying on this functionality in their production work flow, but since this is broken in Mohave they cannot use machines they have already upgraded for this.
And before you ask why we didn’t report this earlier, as there were several months between WWDC and now… well, we didn’t use Mohave in production and it didn’t occur to us that something that was working before could be broken in a nice and shine new macOS version… 🙂
Filed in OpenRadar and under rdar://45338633. Due to the proprietary nature of the sample PDF, I didn’t post that to my Radar samples repo.
Normally you only need the “Allow app extension API only” for extension targets, to get warned if you are accessing API which is not available for extensions. I had enabled it for a framework to make sure I didn’t call forbidden API.
I found this issue at the same time as this other issue because my client complained about both problems: Not seeing any documentation via Quick Help as well as the generated header unnecessarily containing internal classes. This problem was already present in Xcode 8, as evidenced by somebody asking about it on Stack Overflow.
I found this new issue when developing a framework for a client. I have all Swift code in a module and added nice documentation comments to all of the public methods and properties.
In Xcode 8, you could Open+Click on any property, class or method and you would see the documentation from these comments. This would work regardless if you are in Swift or Objective-C code.
Now with Xcode 9 that suddenly doesn’t work any more from Objective-C code. In Swift files it still works, both in the module itself as well as an app importing it.
There is bug in Xcode 8 that has not yet been fixed as of Xcode 8.2.1. If you running macOS Sierra you might find that Xcode hangs if you try to open a project, for example via Finder or the open command. The original bug report was filed as rdar://29319747 which mine was closed as a duplicate of.
Our customer found the following issue. In our apps we are showing some sheets for displaying progress to the user (downloading a bunch of images for example). I was not aware that if you ALT + CLICK in macOS ouside your window it gets hidden. When you do this and dismiss the sheet meanwhile an empty sheet remains on top of your window.
This bug is filed as rdar://30071930 and on Open Radar.
There is a bug in Xcode 8.2 that – after upgrading to this version – it is no longer able to build your project. The build error message is:
Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift.
We saw this in projects where we are not using any legacy Swift, i.e. everything is Swift 3. Also there is a project-wide setting to NOT use legacy Swift. The new bug seems to ignore the project-setting.
We are so foolhardy that we are using NSCollectionView in an internal project that gets widely used by an enterprise client of ours. We found this latest crashing bug while updating the application for macOS 10.12 wich is where the issue first appeared.
The only workaround at this time is to remove animation via animator() and replace it with a reloadData. Thus we vote NSCollectionView for worst Apple API on macOS.
This bug is filed as rdar://28337446 and on Open Radar.
I found this LLVM compiler crash when updating a project for building with Xcode 8. At first I thought it had to do with #if DEBUG because the crash didn’t occur when I removed the conditional compiling block. But further experimentation showed that it is a specific line in this block that is causing the issue.
It is filed as rdar://28318984 and on Open Radar.