Yes! There appears to be such a thing, and it was silently shipped alongside Xcode 10’s first point-release, 10.1. Contrary to major releases, Swift 4.2.1’s release wasn’t accompanied by a blog post, nor was its entry added to the Swift changelog. Is there a reason for this all this mystery, or is the 4.2.1 really just so insignificant?

Pierpaolo Frasa must’ve been wondering the same thing, based on his recent post on the Swift forums:

My mac wants me to upgrade to Xcode 10.1, which will include Swift 4.2.1.
However, I can’t find any mention of that swift version either on the download page or in the changelog.

[]

The list of resolved issues is rather short, with 8 compiler issues fixed, and just one problem resolved in the standard library. The highlights include: 

  • A fix for ambiguous compilation error messages like “Command CompileSwiftSources failed with a nonzero exit code”
  • The Bundle class’s init(for:) initializer now works consistently with Swift classes, not just Objective-C classes
  • Long file paths containing white space no longer cause build failures
  • A mutating method that returns Self on a value of protocol type can now successfully be invoked

Check out the “Swift Compiler” and “Swift Standard Library” sections in the Xcode release notes for a complete list of the changes, complete with code samples.

Previous ArticleNext Article

Leave a Reply

Your email address will not be published. Required fields are marked *

A.

Android device debugging on Linux Mint: “error: insufficient permissions for device: udev requires plugdev group membership”

As I rejoiced in the achievement of finally finding a Linux distro which plays well with my Dell XPS 13 (2019 edition, model 9380), I plugged in my Moto test device, intending to continue working on an Android app. Pressing the Run button promptly made Android Studio (3.4) do its compilation magic, but got stopped in its tracks rather quickly. An angry-looking error message awaited me:

error: insufficient permissions for device: udev requires plugdev group membership

Oops, no device debugging for you.

Android Studio also left a note pointing me to their developer page on the subject. As I suspected, it seemed I had some configuration work left to get device debugging working on Linux. However, following Google’s instructions on setting up adb didn’t do much to resolve my problem. The part about adding yourself to the udev group is important, though, as it’s linked to the actual solution described in the next paragraph.

sudo usermod -aG plugdev $LOGNAME

Adds your user to the plugdev group.

Update: Someone mentioned recently that the below steps may not actually be required; just logging out and back in again at this point, should also do the trick. YMMV of course :-).

An ill-timed dog walk (let’s just say I hadn’t expected to be caught in the middle of a downpour), and a few mildly frustrated Google searches later, I ran across a blog post from 2013 (!) on the subject of “Adding udev rules for USB debugging Android devices“, by Janos Gyerik.

I will not pretend to know why this extra configuration is required, but it describes looking up the device’s identifier and adding it to the aforementioned plugdev access group, so Android Studio can properly access the USB device.

And there you go, a working USB debugging connection to my Android device, thanks to some great advice from 2013!