Skip to content

Instantly share code, notes, and snippets.


Grant Davis gdavis

View GitHub Profile
gdavis / gist:6519324
Created Sep 11, 2013
Xcode Script to Create Icons for different build schemes
View gist:6519324
version=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${INFOPLIST_FILE}"`
build=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${INFOPLIST_FILE}"`
function processIcon() {
export PATH=$PATH:/usr/local/bin
base_path=`find "${SRCROOT}/CirrusMD" -name "${base_file}"`
View _form.html.erb
<%= semantic_form_for [ :manage, resource ], :html => {:class => 'default-manage-form' } do |f| %>
<%= f.inputs do %>
<% attributes.each do |attr| %>
<% puts attr %>
<% case attr %>
<% when "q" %>
<% puts resource[attr] %>
<%= f.input :q, :selected => resource[attr], :collection => Ability.all, :include_blank => false %>
<% when "w" %>
<% puts resource[attr] %>
gdavis / gist:4464349
Created Jan 5, 2013
Launch postgres db application
View gist:4464349
postgres -D /usr/local/var/postgres
gdavis / gist:4204762
Created Dec 4, 2012
Precompile Rails assets:
View gist:4204762
bundle exec rake assets:precompile
gdavis / gist:3813665
Created Oct 1, 2012
Display popover for textfield
View gist:3813665
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
// prevent the start date from manually entering text.
// instead, we display a popover with a date picker
if (textField == self.startDateField && self.popover == nil) {
[self.view endEditing:NO];
[self presentDatePickerFromField:textField pickerID:nil];
return NO;
gdavis / gist:3056737
Created Jul 5, 2012
Edit crontab in nano
View gist:3056737
EDITOR=/usr/bin/nano crontab -e
gdavis / gist:2918964
Created Jun 12, 2012
How to use Static Libraries under Xcode 4
View gist:2918964
Create a Workspace
Under Xcode 4, go to File, New, Workspace.
From Finder you can then drag in the .xcodeproj projects for both the static library you want to use, and the new app you are building that uses the library. See Apple Docs for more info on setting up Workspaces:
Static Library Project Settings
Make sure all the static library's headers are set to copy to "Public". This is done under the settings for the static library target > Build Phases. In the "Copy Headers" phase, make sure all your headers are within the "Public" section.
Next go to Build Settings, find "Public Headers Folder Path" and type in a path for your library. I choose to use this:
I've adopted this from use with RestKit and found it works best with all my static libraries. What this does is tells Xcode to copy all the headers we moved to the "Public" headers section in step 1 to the folder we specify here which resides
gdavis / gist:2845766
Created May 31, 2012
iOS Phone Number Field Formatting With User Entry
View gist:2845766
#pragma mark - Phone Number Field Formatting
// Adopted from:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
if (textField == self.mobileNumberField || textField == self.homeNumberField || textField == self.workNumberField) {
int length = [self getLength:textField.text];
if(length == 10) {
if(range.length == 0)
gdavis / gist:2837065
Created May 30, 2012
Turn off ARC for a specific file
View gist:2837065
In Xcode, go to the target for the app, Build Phases, and find the file you want to have ARC ignore in Compile Sources. Double-click the file, and in the popup add this compiler flag:
And when you compile Xcode will turn off ARC! Yay!
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.