This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.
To capture the video (filesize: 19MB), using the free "QuickTime Player" application:
// | |
// NSWindow+DTViewControllerPresenting.m | |
// DTFoundation | |
// | |
// Created by Oliver Drobnik on 10/1/12. | |
// Copyright (c) 2012 Cocoanetics. All rights reserved. | |
// | |
#import "objc/runtime.h" |
expr -- (void)printf("[%s, %s]\n",(char *) object_getClassName(*(long*)($esp+4)), (char *) *(long *)($esp+8) ) |
// Property Nonatomic Strong | |
// Platform: All | |
// Completion Scopes: ClassInterfaceMethods | |
@property (nonatomic, strong) <# class_name #> *<# variable_name #>; |
// | |
// AVAsset+VideoOrientation.h | |
// | |
// Created by Luca Bernardi on 19/09/12. | |
// Copyright (c) 2012 Luca Bernardi. All rights reserved. | |
// | |
#import <AVFoundation/AVFoundation.h> | |
typedef enum { | |
LBVideoOrientationUp, //Device starts recording in Portrait |
CGRect CGRectIntegralScaledEx(CGRect rect, CGFloat scale) | |
{ | |
return CGRectMake(floorf(rect.origin.x * scale) / scale, floorf(rect.origin.y * scale) / scale, ceilf(rect.size.width * scale) / scale, ceilf(rect.size.height * scale) / scale); | |
} | |
CGRect CGRectIntegralScaled(CGRect rect) | |
{ | |
return CGRectIntegralScaledEx(rect, [[UIScreen mainScreen] scale]); | |
} |
static | |
void divide_rect_from_rects(CGRect rect1, CGRect rect2, CGRect *slice, CGRect *remainder, CGRectEdge edge) | |
{ | |
NSCParameterAssert(slice); | |
NSCParameterAssert(remainder); | |
CGRect intersected = CGRectIntersection(rect1, rect2); | |
if (CGRectIsEmpty(intersected)) { | |
*slice = CGRectNull; | |
return; |
#!/usr/bin/env ruby | |
# Requires ImageMagick: `brew install imagemagick` | |
# Requires version.sh from https://gist.github.com/osteslag/1089407 | |
# | |
# Set RGM_STAMP_VERSION_ON_ICONS=1 in your build settings to enable/disable | |
# stamping on Debug/Relase configurations. | |
# | |
# Make base unstamped versions Icon.base.png, &c. in the source tree. The | |
# script will make stamped versions Icon.png, &c. It relies on Xcode to copy |
--- | |
language: objective-c | |
before_script: | |
- ./scripts/travis/add-key.sh | |
after_script: | |
- ./scripts/travis/remove-key.sh | |
after_success: | |
- ./scripts/travis/testflight.sh | |
env: | |
global: |
// | |
// PSPDFThreadSafeMutableDictionary.m | |
// | |
// Copyright (c) 2013 Peter Steinberger, PSPDFKit GmbH. All rights reserved. | |
// | |
// Permission is hereby granted, free of charge, to any person obtaining a copy | |
// of this software and associated documentation files (the "Software"), to deal | |
// in the Software without restriction, including without limitation the rights | |
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
// copies of the Software, and to permit persons to whom the Software is |