Skip to content
View set_project_profiles.sh
#!/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."
View gist:54685370b0a26617129f
xcodebuild -scheme ${SCHEME} -target ${TARGET} -configuration ${CONFIGURATION} archive -archivePath $PWD/${TARGET}_${CONFIGURATION}_${BUILD_NUMBER}
xcrun -v -sdk iphoneos PackageApplication -v `pwd`'/'${TARGET}'_'${CONFIGURATION}'_'${BUILD_NUMBER}'.xcarchive/Products/Applications/'${TARGET}'.app' -o `pwd`'/'${TARGET}'_'${CONFIGURATION}'_'${BUILD_NUMBER}'.ipa'
View gist:a3ca8672a1109743c724

Keybase proof

I hereby claim:

  • I am skabber on github.
  • I am skabber (https://keybase.io/skabber) on keybase.
  • I have a public key whose fingerprint is B43A 137A 0E27 9DA4 E4C2 506C B531 E5F8 7D5A 42D9

To claim this, I am signing this object:

View gist:d1ff80669f86c5f5f378
- (void)updateAlerts
{
BOOL alertsMaster = [[NSUserDefaults standardUserDefaults] boolForKey:kAlertsMasterSwitch];
BOOL alertsSounds = [[NSUserDefaults standardUserDefaults] boolForKey:kAlertsSoundSwitch];
BOOL alertsBadge = [[NSUserDefaults standardUserDefaults] boolForKey:kAlertsBadgeSwitch];
if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) {
UIUserNotificationType alert = UIUserNotificationTypeNone;
UIUserNotificationType sound = UIUserNotificationTypeNone;
UIUserNotificationType badge = UIUserNotificationTypeNone;
View gist:9863324
// https://twitter.com/skabber/status/449702060049457153
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
struct card {
int rank;
std::string suit;
} c = {3, "clubs"};
View strip.sh
#!/bin/bash
#
# Usage ./strip.sh libGoogleAdMobAds.a GAD_GTMStringEncoding.o
LIBRARY=$1
SYMBOL=$2
mkdir -p ./archs/
LIPO_OUTPUT=($(lipo -info $1))
ARCHS=()
View xcconfigFromProfile.py
#!/usr/bin/env python
from M2Crypto import SMIME, X509, BIO, m2
import plistlib
import sys
if len(sys.argv) < 3:
print "Usage: %s [Provisioning Profile] [Out .xcconfig]" % __file__
exit()
View gist:6337516
from M2Crypto import X509, SMIME, BIO
ca_cert = X509.load_cert('ca_cert.pem')
ra_cert = X509.load_cert('ra_cert.pem')
stack = X509.X509_Stack()
stack.push(ca_cert)
stack.push(ra_cert)
an_smime = SMIME.SMIME()
View ca_cert.pem
-----BEGIN CERTIFICATE-----
MIICSzCCAbSgAwIBAgIBATANBgkqhkiG9w0BAQUFADBZMRMwEQYDVQQKDApNeSBD
b21wYW55MUIwQAYDVQQDDDlNeSBDb21wYW55IFJvb3QgQ0EgKGNkMDFiYjRlLTkw
MDAtNDBkNi1iMDkxLTJhYjVkMzNjY2M5OSkwHhcNMTMwODI1MjAzNjA0WhcNMTQw
ODI1MjAzNjA0WjBZMRMwEQYDVQQKDApNeSBDb21wYW55MUIwQAYDVQQDDDlNeSBD
b21wYW55IFJvb3QgQ0EgKGNkMDFiYjRlLTkwMDAtNDBkNi1iMDkxLTJhYjVkMzNj
Y2M5OSkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOFE7Eso/vfdCDxEwZuM
Utn1P/Frpi4sK0f33RV6yHc1aHKlDl59hnssHWM3DzqpioLtTru77YBTIDG/RQKq
LJ3JIc+LMmf4wMORVYV5JPHHEB+876BQ6d3pmdBoPKkDk1qtLrZsRRRbZN0fEy51
znUd/fADAwdQs0PvOy/OURwlAgMBAAGjIzAhMA8GA1UdEwEB/wQFMAMBAf8wDgYD
View hockeyCrashes.py
#!/usr/bin/env python
import requests
import json
import StringIO
import datetime
hockeyToken = 'getyourowndamnkey'
appsEndpoint = 'https://rink.hockeyapp.net/api/2/apps'
crashesEndpoint = 'https://rink.hockeyapp.net/api/2/apps/%s/crashes/histogram?api_token=%s&format=json&start_date=%s&end_date=%s'
Something went wrong with that request. Please try again.