See how a minor change to your commit message style can make you a better programmer.
Format: <type>(<scope>): <subject>
<scope> is optional
| #!/bin/bash | |
| function usage { | |
| echo "Usage: $0 -c [CodeSign Directory] -p [Xcode Project File.xcodeproj]" | |
| echo "If any arguments are not specified, defaults will be attempted. If defaults don't exist, script will exit." | |
| echo "OPTIONS:" | |
| echo " -c [CodeSign Directory]: Location of directory containing project's provisioning profiles." | |
| echo " -p [Xcode Project File]: Path of Xcode project directory (the .xcodeproj, not .pbxproj)" | |
| echo " -b: Use PlistBuddy command for UUID replacement instead of sed. (Better handling of a couple of edge cases, but makes diffs impossible to read.)" | |
| echo " -v: Verbose logging." |
| import AppKit | |
| class PreferencesViewController: NSTabViewController { | |
| private lazy var tabViewSizes: [NSTabViewItem: NSSize] = [:] | |
| override func tabView(_ tabView: NSTabView, didSelect tabViewItem: NSTabViewItem?) { | |
| super.tabView(tabView, didSelect: tabViewItem) | |
| if let tabViewItem = tabViewItem { |
| import AVFoundation | |
| extension AudioBuffer { | |
| func array() -> [Float] { | |
| return Array(UnsafeBufferPointer(self)) | |
| } | |
| } | |
| extension AVAudioPCMBuffer { | |
| func array() -> [Float] { |
Learning VIM in Xcode comes with its own set of challenges and limitations, but there is enough there for you to give your mousing hand a break and master the keyboard.
A limited set of commands are available in Xcode, and this document attempts help ease the learning curve of using VIM in Xcode by providing a handy reference as well as what I find works for me in practice.
NOTE:
Commands are case-sensitive. A command of N means pressing shift + n on the keyboard.
This document is a work in progress! Leave a comment if you would like to see a change.
Video: Meet async/await in Swift
With Swift concurrency, functions, initializers, read-only properties, and for-loops can all be marked async. Property getters can also throw.
func fetchThumbnails() await throws -> [UIImage] {
}
extension UIImage {