Skip to content

Instantly share code, notes, and snippets.


Joshua Moody jmoody

View GitHub Profile
jmoody / .bashrc
Created Jan 20, 2016
Jenkins LaunchAgent and scripts for El Capitan
View .bashrc
# Can be more or less complicated depending on your CLI needs.
export HISTCONTROL=erasedups
export HISTSIZE=5000
shopt -s histappend
export VISUAL=less
export EDITOR=vim
jmoody /
Created Oct 15, 2015
Bash script for extracting CFBundleIdentifier from .app or .ipa (MacOS only)
#!/usr/bin/env bash
function error {
echo "$(tput setaf 1)ERROR: $1$(tput sgr0)"
function usage {
echo "Usage: /path/to/App.{ipa | app}"
jmoody /
Last active Feb 18, 2020
tmate on macOS

Tmate is a remote tmux session over ssh.

Intall with Homebrew

$ brew update && brew upgrade
$ brew install tmux
$ brew install reattach-to-user-namespace
$ brew install tmate
jmoody / debug.log
Created Jan 28, 2020
vagrant vmware_desktop macOS RubyEncoder .bundles are not signed
View debug.log
INFO manager: Loading plugin `vagrant-vmware-desktop` with default require: `vagrant-vmware-desktop`
could not load /opt/vagrant/embedded/rgloader/rgloader24.darwin: dlopen(/opt/vagrant/embedded/rgloader/rgloader24.darwin.bundle, 9): no suitable image found. Did find:
/opt/vagrant/embedded/rgloader/rgloader24.darwin.bundle: code signature in (/opt/vagrant/embedded/rgloader/rgloader24.darwin.bundle) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed. - /opt/vagrant/embedded/rgloader/rgloader24.darwin.bundle
INFO manager: Loading plugin `vagrant-vmware-desktop` with slash require: `vagrant/vmware/desktop`
ERROR manager: Plugin loading error: LoadError - cannot load such file -- vagrant/vmware/desktop
ERROR vagrant: /opt/vagrant/embedded/gems/2.2.7/gems/vagrant-2.2.7/lib/vagrant/plugin/manager.rb:342:in `rescue in load_plugins'
jmoody / Screenshotter.m
Last active Dec 5, 2019
Add a step and a screenshot to your Test Cloud report
View Screenshotter.m
#import <XCTest/XCTest.h>
#import "Screenshotter.h"
@implementation Screenshotter
+ (void)screenshotWithTitle:(NSString *)format, ... {
NSString *title = nil;
va_list args;
va_start(args, format);
jmoody / navbar_steps.rb
Created Jul 27, 2012
calabash-cucumber steps for dealing with the navigation bar
View navbar_steps.rb
def navbar_visible?
def navbar_has_back_button?
def navbar_should_have_back_button
unless navbar_has_back_button?
jmoody /
Last active Dec 14, 2017
diffing binary plists and mobileprovisions


*.plist diff=plist
*.mobileprovision diff=mobileprovision


jmoody /
Created Aug 10, 2017
NSLog output can cause apps to become unresponsive during testing

2. NSLog output can cause apps to become unresponsive during testing.

If your app becomes unresponsive during testing, check your device or simulator logs for an unusual or a high volume of NSLog output.

It has been demonstrated that a spike in NSLog output can cause the UIAutomation API to become unresponsive. This has been reproduced using the with applications that are not linked with the calabash.framework. This is an Apple bug.

Viewing Simulator Logs

jmoody /
Last active May 21, 2017
Export a Crash Report From Xcode 6

Xcode 6

  1. Plug in the device and open Xcode
  2. Choose Window -> Devices from the Xcode menu
  3. Under the DEVICES section in the left column, choose the device
  4. To see crash logs, select the View Device Logs button under the Device Information section on the right hand panel
  5. Find your app in the Process column and select the Crash log to see the contents.
  6. IMPORTANT Be sure to symbolicate your crash report.
  7. Export the symbolicated crash report.
jmoody / .gitignore
Last active Nov 14, 2016
.gitignore template for calabash
View .gitignore
# emacs backup files
# binaries
## Mac OS X
You can’t perform that action at this time.