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:
| #!/bin/bash -e | |
| # -------------------------------------------------------- | |
| # Generate app icons and xcassets file from a single image | |
| # Ben Clayton, Calvium Ltd. | |
| # -------------------------------------------------------- | |
| # To use this, place script in `appname` folder inside your project (i.e. the folder that Xcode generates for you containing your source code, it's named after whatever you called the app). | |
| # Create folder there called `RawImages`. | |
| # Source icon should 1024x1024 and be called appIcon.png. If the icon changes, you can just run this again to regenerate everything. | |
| # This script assumes that you have the default setup of an Images.xcassets file containing the AppIcon.appiconset. |
| awk ' | |
| BEGIN { | |
| buffer="" | |
| } | |
| { | |
| gsub(/<\/*trk>/,"",$0) | |
| gsub(/<\/*trkseg>/,"",$0) | |
| gsub(/<trkpt/,"<wpt", $0) | |
| gsub(/<\/trkpt>/,"<\/wpt>", $0) | |
| - (void)presentViewControllerFromVisibleViewController:(UIViewController *)viewControllerToPresent | |
| { | |
| if ([self isKindOfClass:[UINavigationController class]]) { | |
| UINavigationController *navController = (UINavigationController *)self; | |
| [navController.topViewController presentViewControllerFromVisibleViewController:viewControllerToPresent]; | |
| } else if (self.presentedViewController) { | |
| [self.presentedViewController presentViewControllerFromVisibleViewController:viewControllerToPresent]; | |
| } else { | |
| [self presentModalViewController:viewControllerToPresent animated:YES]; | |
| } |
| #include <math.h> | |
| #include "CLLocation.h" //requires Core Location Framework | |
| - (CLLocationCoordinate2D)convertToLatLongFromEastings:(double)E andNorthings:(double *)N { | |
| //E, N are the British national grid coordinates - eastings and northings | |
| double a = 6377563.396; //The Airy 180 semi-major and semi-minor axes used for OSGB36 (m) | |
| double b = 6356256.909; | |
| double F0 = 0.9996012717; |
| # (File moved to https://github.com/ole/Storyboard-Strings-Extraction) |