Skip to content

Instantly share code, notes, and snippets.

View TimOliver's full-sized avatar
😆
Out for a byte. Back in a bit.

Tim Oliver TimOliver

😆
Out for a byte. Back in a bit.
View GitHub Profile
@TimOliver
TimOliver / String+FilePathSort.swift
Created May 4, 2020 13:20
An algorithm I wrote to sort a list of file paths in varying levels of directories into ascending order
extension String {
/// Compares the current string value as a file path against a second
/// file path string in order to determine which comes first.
///
/// Rules:
/// * Item names are only compared if they are in the same directory
/// * Items in higher parent directories always take priority
/// * Files prefixed with "_" are automatically downgraded (Since files prefixed like that are usually ads)
///
@TimOliver
TimOliver / TrackingDocumentIDs.m
Created September 29, 2019 03:50
The necessary code to set up access to the document identifier of files in the iOS file system
#import <sys/stat.h>
chflags(filePath.UTF8String, UF_TRACKED);
NSURL *url = [NSURL fileURLWithPath:filePath];
id value = nil;
[url getResourceValue:&value forKey:NSURLDocumentIdentifierKey error:nil];
NSLog(@"%@", value);
######################
# Build Script for
# Producing a fat
# Cocoa framework binary
######################
PROJECT_NAME="MyAppExample"
SCHEME_NAME="MyAppFramework"
FRAMEWORK_NAME="MyApp"
BUILD_DIR="Builds"
@TimOliver
TimOliver / CopyRealmFileToLibrary.swift
Last active February 28, 2017 05:24
A quick code snippet showing how to make an already-created Realm file private
let fileManager = FileManager.default
var configuration = Realm.Configuration()
let defaultRealmURL = configuration.fileURL!
// Get the path to the Library directory and append 'default.realm' to it
let libraryDirectoryPath = NSSearchPathForDirectoriesInDomains(.libraryDirectory, .userDomainMask, true).first!
let libraryDirectoryURL = URL(fileURLWithPath: libraryDirectoryPath)
let newRealmURL = libraryDirectoryURL.appendingPathComponent(defaultRealmURL.lastPathComponent)
// There is a user-created default.realm in the Documents directory
@TimOliver
TimOliver / libdsm-build-macos.sh
Last active March 28, 2019 04:00
A modified version of the libdsm build script for macOS
#!/bin/bash
# Global build settings
export SDKPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
export MIN_MACOS_VERSION=10.10
export HOST=x86_64-apple-darwin
export LDFLAGS_NATIVE="-isysroot $SDKPATH"
export TASN1_CFLAGS="-Ilibtasn1/include"
export TASN1_LIBS="-Llibtasn1 -ltasn1"
export ARCH="x86_64"
@TimOliver
TimOliver / lhasa-build-ios.sh
Last active June 10, 2016 09:34
A Bash script for building an iOS-compatible binary of the lhasa library
#!/bin/bash
# Global build settings
export SDKPATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
export SIMSDKPATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk
export MIN_IOS_VERSION=7.0
export HOST=arm-apple-darwin
export LDFLAGS_NATIVE="-isysroot $SDKPATH"
export LDFLAGS_SIMULATOR="-isysroot $SIMSDKPATH"
export TASN1_CFLAGS="-Ilibtasn1/include"
#!/bin/bash
# Global build settings
export SDKPATH=/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk
export SIMSDKPATH=/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator.sdk
export MIN_TVOS_VERSION=9.0
export HOST=arm-apple-darwin
export LDFLAGS_NATIVE="-isysroot $SDKPATH"
export LDFLAGS_SIMULATOR="-isysroot $SIMSDKPATH"
export TASN1_CFLAGS="-Ilibtasn1/include"
@TimOliver
TimOliver / libdsm-ios.sh
Last active June 17, 2021 09:10
The Bash script I use to compile libDSM for iOS
#!/bin/bash
# Global build settings
export SDKPATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
export SIMSDKPATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk
export MIN_IOS_VERSION=7.0
export HOST=arm-apple-darwin
export LDFLAGS_NATIVE="-isysroot $SDKPATH"
export LDFLAGS_SIMULATOR="-isysroot $SIMSDKPATH"
export TASN1_CFLAGS="-Ilibtasn1/include"
Thread : Crashed: com.apple.main-thread
0 OpenGLES 0x0000000187b03930 +[EAGLContext setCurrentContext:] + 84
1 OpenGLES 0x0000000187b0391c +[EAGLContext setCurrentContext:] + 64
2 CoreImage 0x0000000184c28600 __is_gpu_A9_or_higher_block_invoke + 188
3 libdispatch.dylib 0x000000019999d770 _dispatch_client_callout + 16
4 libdispatch.dylib 0x000000019999e5b4 dispatch_once_f + 80
5 CoreImage 0x0000000184c28540 is_gpu_A9_or_higher + 60
6 CoreImage 0x0000000184c08ad8 CI::GLContext::surface_rowbytes_alignment_for_output(CI::PixelFormat) const + 24
7 CoreImage 0x0000000184c1be18 CI::_get_bitmap(CI::Context*, CI::Image*, CGRect, CGColorSpace*, CI::Bitmap*) + 140
8 CoreImage 0x0000000184c1bcdc CI::image_get_bitmap(CI::Context*, CI::Image*, CGRect, CGColorSpace*, CI::Bitmap*, unsigned long) + 732
@TimOliver
TimOliver / UIScrollView+ZoomToPoint.m
Last active November 23, 2022 09:14
Zooming to a specific CGPoint inside a UIScrollView (2015 Edition)
@implementation UIScrollView (ZoomToPoint)
/**
Zooms into the specified point of the scroll view's zoomable content view at the supplied scaled.
(The zoomable content view is the view that is returned in `viewForZoomingInScrollView:`
@param zoomPoint - In terms of the scroll view's co-ordinate space, the point to zoom to
@param scale - A value between minimumZoomScale and maximumZoomScale in which to zoom to.
@param animated - Whether the transition is animated, or instant