Skip to content

Instantly share code, notes, and snippets.


Grant Davis gdavis

View GitHub Profile
mminer / PreferencesViewController.swift
Last active Sep 14, 2020
NSTabViewController for preferences window that resizes itself to fit activated tab view.
View PreferencesViewController.swift
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 {
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."
randomsequence / cocoa-drawing.swift
Created Jul 14, 2015
Drawing images with CGContext and NSGraphicsContext in Swift
View cocoa-drawing.swift
//: Playground - noun: a place where people can play
import Cocoa
let bounds = CGRectMake(0, 0, 100, 100);
func DrawImageInCGContext(#size: CGSize, #drawFunc: (context: CGContextRef) -> ()) -> NSImage {
let colorSpace = CGColorSpaceCreateDeviceRGB()
let bitmapInfo = CGBitmapInfo(CGImageAlphaInfo.PremultipliedLast.rawValue)
let context = CGBitmapContextCreate(
gdavis / GDILog.h
Last active Aug 29, 2015
GDILog - Replacement for NSLog
View GDILog.h
// GDILog.h
// GDILog
// Created by Grant Davis on 8/18/14.
// Copyright (c) 2014 Grant Davis Interactive, LLC. All rights reserved.
#ifdef DEBUG
#include <string.h>
mchambers / reflect.swift
Last active Nov 7, 2016
Basic Reflection in Swift.
View reflect.swift
// Let's define a basic Swift class.
class Fruit {
var type=1
var name="Apple"
var delicious=true
// We can get at some info about an instance of an object using reflect(), which returns a Mirror.
bmatcuk /
Created May 29, 2014
How to symbolize OSX crash logs

How to Symbolize OSX Crash Logs

Unfortunately, xcode does not yet have support for importing OSX crash logs and symbolizing them. Therefore, you must use the command line and a little bit of manual work.

  1. Find your dSYM file.
    1. Assuming you are using xcode's archive functionality, open the Organizer window from the Window menu.
    2. Click the Archives tab.
    3. Right click on the appropriate build and select Show in Finder.
    4. When Finder opens, right click on the selected archive and select Show Package Contents.
    5. Navigate to the dSYM directory and copy the appropriate dSYM file to a temporary directory.
    6. Then navigate to Products, then Applications, and copy the app file to the same temporary directory.
adamgit / .gitignore
Last active Jul 9, 2020
.gitignore file for Xcode4 / OS X Source projects
View .gitignore
# .gitignore file for Xcode4 and Xcode5 Source projects
# Apple bugs, waiting for Apple to fix/respond:
# 15564624 - what does the xccheckout file in Xcode5 do? Where's the documentation?
# Version 2.6
# For latest version, see:
trcarden / gist:3295935
Created Aug 8, 2012
Rails 3.2.7 SSL Localhost (no red warnings, no apache config)
View gist:3295935
# SSL self signed localhost for rails start to finish, no red warnings.
# 1) Create your private key (any password will do, we remove it below)
$ openssl genrsa -des3 -out server.orig.key 2048
# 2) Remove the password
$ openssl rsa -in server.orig.key -out server.key
sekati /
Created Jul 24, 2012
Xcode Auto-increment Build & Version Numbers
# @desc Auto-increment the build number every time the project is run.
# @usage
# 1. Select: your Target in Xcode
# 2. Select: Build Phases Tab
# 3. Select: Add Build Phase -> Add Run Script
# 4. Paste code below in to new "Run Script" section
# 5. Drag the "Run Script" below "Link Binaries With Libraries"
# 6. Insure that your starting build number is set to a whole integer and not a float (e.g. 1, not 1.0)
gdavis / gist:2829437
Last active Aug 7, 2017
Xcode 4 Custom Key Commands - Add to IDETextKeyBindingsSet.plist
View gist:2829437
<key>GDI Commands</key>
<key>GDI Duplicate Current Line</key>
<string>selectLine:, copy:, moveToEndOfLine:, insertNewLine:, moveToBeginningOfLine:, paste:, moveToEndOfLine:</string>
<key>GDI Delete Current Line</key>
<string>moveToEndOfLine:, deleteToBeginningOfLine:, deleteBackward:, moveDown:, moveToEndOfLine:</string>
<key>GDI Move Current Line Up</key>
<string>selectLine:, cut:, moveUp:, moveToBeginningOfLine:, insertNewLine:, paste:, moveBackward:</string>
<key>GDI Move Current Line Down</key>
<string>selectLine:, cut:, moveDown:, moveToBeginningOfLine:, insertNewLine:, paste:, moveBackward:</string>
You can’t perform that action at this time.