How-To Setup and Use

The OpenPGP functionality works well. Instead of a long password to
remember and enter every time, you can insert the YubiKey, enter in the PIN
to unlock, and then remove the key when done.

My main issue now is key management. I’m still experimenting with how to
update my subkeys’ expiration times.

Random Notes

Lock-out

For functionality that requires a PIN, you can control how many wrong PINs it
takes before blocking the device. You actually have 2 PINs to remember. One is
the normal PIN used for daily use. The other is the PUK (Personal
Unlocking Key) which unlocks the PIN if the wrong PIN was entered
too many times.

If you want to reset your device, you may need to force your PIN and PUK to
both be blocked, and then you can perform a device reset.

For instance, using their PIV Tool,
you need to set a PIN to be able to log in to macOS using the YubiKey. However,
it is not the same PIN that the OpenPGP applet uses. So be careful to remember
the default PINs (123456 for normal entry and 12345678 for admin) when doing
the initial setup for each functionality and to change them.

Their forum also has posts explaining
how to reset the OpenPGP applet and other helpful advice.

WWDC 2016 Wishlist

Software

Split view with multiple views of the same app (e.g. 2 Safari instances) in iOS

Hardware

Separate Apple 4K/5K Display

Re-assign what the buttons on the Apple Watch do

HomeKit device similar to Amazon Echo / Google Home

Services

Street view for Maps

A way to download or at least queue apps for download from the web. If someone
runs across a news article for an app, s/he can click on a link to download
the app to their device. Google’s Play Store has had this feature for years. For
Apple TV in particular.

iOS Automate Build Version Number

If you have a continuous integration server, you might want to build your app
with unique version numbers tied to the build.

The agvtool (Apple-generic versioning tool for Xcode projects) is an easy
way to update the marketing and build version number within your app.

In your CI system, you can run something like the following to add a build
version number where the major version is the same but the
.jenkins.$BUILD_NUMBER is appended. $BUILD_NUMBER is provided by Jenkins.