Instantly share code, notes, and snippets.

View gist:2353296
# Auto Increment Version Script
# This script will increment the build number by 1
# when running a configuration other than Debug and Release
# while not on intel architecture
if [ "$conf" != "Debug" ] && [ "$conf" != "Release" ] && [ "$arch" != "i386" ]
buildVersion=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $buildPlist)
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>
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!
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)
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
View gist:3056737
EDITOR=/usr/bin/nano crontab -e
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;
View gist:4204762
bundle exec rake assets:precompile
View gist:4464349
postgres -D /usr/local/var/postgres
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] %>