Skip to content

Instantly share code, notes, and snippets.

Steven Troughton-Smith steventroughtonsmith

Block or report user

Report or block steventroughtonsmith

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
steventroughtonsmith / Info.plist
Created Oct 27, 2019
[Catalyst] Registering for & responding to AppleScript events in a Mac Catalyst app
View Info.plist
steventroughtonsmith / UIColor+AccentColor.m
Created Oct 27, 2019
[Catalyst] Provides access to macOS Accent Color
View UIColor+AccentColor.m
@implementation UIColor (AppleAccentColor)
+(UIColor *)CATALYSTAccentColor
BOOL hasAccentSet = ([[NSUserDefaults standardUserDefaults] objectForKey:@"AppleAccentColor"] != nil);
NSInteger systemAccentColor = [[NSUserDefaults standardUserDefaults] integerForKey:@"AppleAccentColor"];
UIColor *returnColor = [UIColor systemBlueColor];
if (hasAccentSet)
steventroughtonsmith / main.m
Created Mar 24, 2016
Load Mach-O executable at runtime and execute its entry point
View main.m
void callEntryPointOfImage(char *path, int argc, char **argv)
void *handle;
int (*binary_main)(int binary_argc, char **binary_argv);
char *error;
int err = 0;
printf("Loading %s\n", path);
handle = dlopen (path, RTLD_LAZY);
View gist:52f0c6783446b6fc536e
steventroughtonsmith / UIView+Tooltips.h
Last active Sep 18, 2019
WIP tooltips for Mac Catalyst
View UIView+Tooltips.h
// UIView+Tooltips.h
// Crossword
// Created by Steven Troughton-Smith on 13/09/2019.
// Copyright © 2019 Steven Troughton-Smith. All rights reserved.
#import <UIKit/UIKit.h>
steventroughtonsmith / bitcode2intel
Created May 18, 2019
Converts an ARM64 iOS app with Bitcode into an X86_64 variant
View bitcode2intel
TARGET="$( cd "$(dirname "$1")" ; pwd -P )/$1"
rm -r /tmp/bitcode2intel
mkdir -p /tmp/bitcode2intel
pushd /tmp/bitcode2intel
steventroughtonsmith / Show Tab
Last active Jun 3, 2019
'Show Tab Overview' script for Pythonista - adds button to toolbar to show tab overview
View Show Tab
# coding: utf-8
from objc_util import *
UIApplication = ObjCClass('UIApplication')
UIBarButtonItem = ObjCClass('UIBarButtonItem')
def main():
rootVC = UIApplication.sharedApplication().keyWindow().rootViewController()
steventroughtonsmith /
Last active May 29, 2019
UIKit+UIFoundation & Foundation for Pythonista - autoconverted from SDK tbd (includes non-public SPI)
# coding: utf-8
from objc_util import *
NSAKDeserializer = ObjCClass('NSAKDeserializer')
NSAKDeserializerStream = ObjCClass('NSAKDeserializerStream')
NSAKSerializer = ObjCClass('NSAKSerializer')
NSAKSerializerStream = ObjCClass('NSAKSerializerStream')
NSAbstractLayoutGuide = ObjCClass('NSAbstractLayoutGuide')
NSAddressCheckingResult = ObjCClass('NSAddressCheckingResult')
NSAffineTransform = ObjCClass('NSAffineTransform')
steventroughtonsmith / HWKViewController.m
Last active May 10, 2019
Example of dynamic iOS UI that changes based on the connection/disconnection of a hardware keyboard, based on suggestions from @JohnRHeaton. Requires linking to private GraphicsServices framework. rdar://problem/15447952
View HWKViewController.m
// HWKViewController.m
// HardwareKeyboardUI
// Created by Steven Troughton-Smith on 13/11/2013.
// Copyright (c) 2013 High Caffeine Content. All rights reserved.
#import "HWKViewController.h"
steventroughtonsmith / gist:7515380
Last active Apr 2, 2019
iOS 7 UIKeyCommand keydown/keyup and keycode input implementation for a UIResponder. Private API, of course…
View gist:7515380
return YES;
-(UIKeyCommand *)_keyCommandForEvent:(UIEvent *)event // UIPhysicalKeyboardEvent
NSLog(@"keyCommandForEvent: %@\n\
type = %i\n\
keycode = %@\n\
You can’t perform that action at this time.