Copy WebKit Permalink is an Xcode service that copies to the Clipboard a permanent hyperlink to the currently selected line in the active Xcode document.

To install:

1. Double-click "Copy WebKit Permalink.workflow".
2. In the dialog that appears, click Install, then click Done.
3. Choose Apple menu > System Preferences, click Keyboard, then click Shortcuts.
4. Select Services on the left, select Copy WebKit Permalink, click in the Keyboard Shortcut field, then press the key combination that you want to use as the keyboard shortcut.

For example, press Command, Shift, Control, and C keys at the same time.

5. Enable "Copy WebKit Permalink" using the checkbox.

The Copy WebKit Permalink service will now appear under Xcode menu > Services.

== Permalink to blame history ==

Hold down the Option key when running the Copy WebKit Permalink service to generate a permalink to the selected line in the blame history for the file.
