Archive for January 7, 2016

Thursday, January 7, 2016

SecTransformExecuteAsync Considered Confusing

Jeff Johnson:

We have a group transform that first generates a digest from the message and then signs the message digest. Intuitively, you would think that the intermediate result would be the digest, and the final result would be the signature, right? Right?

I don’t know how it’s intended to work, but my interpretation of the vague documentation is that you don’t get results from the intermediate transforms. You get intermediate results for the final transform. This is the same result as with SecTransformExecute, only it’s possibly split into chunks. isFinal means that you’ve received the last chunk.

The documentation in Dash says that the SecTransform functions aren’t available in Swift, but that seems to be incorrect.

Swift 2.2 Release Process


Swift 2.2 is the first offical release of Swift after Swift was released as open source. It will be a mostly source-compatible release with Swift 2.1, containing a large number of core improvements (e.g., bug fixes, enhancements to diagnostics, faster generated code) without many significant visible changes to the language itself. It is intended to be an intermediate point between Swift 2 and Swift 3, with Swift 3 containing more disruptive changes to both the language and Standard Library.

Commonly Rejected Changes:

This is a list of changes to the Swift language that are frequently proposed, but that are unlikely to be accepted. If you’re interested in pursuing something in this space, please familiarize yourself with the discussions that we have already had. In order to bring one of these topics up, you’ll be expected to add new information to the discussion, not just say “I really want this” or “This exists in some other language and I liked it there”.

Facebook Tests Users’ Reaction to Crashes

Anil Dash quotes an article by Amir Efrati:

Facebook has tested the loyalty and patience of Android users by secretly introducing artificial errors that would automatically crash the app for hours at a time […] Even if the native app continued to not work, the users would open Facebook on their phone’s mobile browesr.

Neven Mrgan:

A depressing fact: even learning of this very deception still won’t make users quit. There is no “choice”.

Basically no amount of abuse is going to make me attempt to convince my uncles to stop using Facebook, so eff it.

Five Years of Mac App Store

Graham Spencer:

The Mac App Store, announced at Apple’s ‘Back to the Mac’ event in late 2010, offered the alluring promise of revitalising the Mac app market with easier access to customers, and, it was hoped, greater financial success for developers.


Apple has let the Mac App Store stagnate and become a second class citizen to the iOS App Store and too many developers are leaving or avoiding the Mac App Store. When important apps leave the Mac App Store, it makes the store as a whole less enticing and customers have one less reason to open the Mac App Store.

Just how often do you open the Mac App Store?

Michael Rockwell:

But Graham’s right, the only time I ever open the Mac App Store is when there are updates available for software I already own.

Stephen Hackett:

There’s still promise in the Mac App Store, but Apple has a long way to go to prove that it can be worthwhile for developers again. I’d like to see them address this, since an all-in-one place to download and update apps can really simplify things for everyday users.

Nick Heer:

The Mac App Store simply doesn’t compete. […] when few high-profile apps are available from the Mac App Store and the Store is cluttered with lots of really crappy apps, it’s hard to recommend it.

Swift Bracing

Erica Sadun:

It’s a shame then that the language has adopted 1TBS over Allman when the latter exposes scope so beautifully and the former can be quite hard to follow, especially with respect to complex declarations that include external and internal labels, default values, and other complicating features

Around the time Swift was introduced, I switched to 1TBS after about 20 years of Allman. I like the compactness.

The indentation of switch statements is pretty bad, though. At first I thought it was a bug in Xcode’s auto-indentation, but the Swift documentation uses the same style.

Clearing the App Store Cache

Zachary Drayer:

tap on any of the tab bar items 10 times.

(that forces the App Store to clear its cache and reload everything)

Mike Rundle:

Craziest iOS dark magic I’ve ever heard. How to clear the App Store cache by @zadr. It works!