Skip to content

Instantly share code, notes, and snippets.

View steventroughtonsmith's full-sized avatar

Steven Troughton-Smith steventroughtonsmith

View GitHub Profile
@steventroughtonsmith
steventroughtonsmith / MRDMenuView.h
Created March 1, 2020 17:21
Simplified iOS menu view wired up to UIMenuBuilder
//
// MRDMenuView.h
// MobileRadio
//
// Created by Steven Troughton-Smith on 29/02/2020.
// Copyright © 2020 High Caffeine Content. All rights reserved.
//
#import <UIKit/UIKit.h>
@steventroughtonsmith
steventroughtonsmith / Info.plist
Created October 27, 2019 17:02
[Catalyst] Registering for & responding to AppleScript events in a Mac Catalyst app
<key>NSAppleScriptEnabled</key>
<true/>
<key>OSAScriptingDefinition</key>
<string>ScriptableTasks.sdef</string>
@steventroughtonsmith
steventroughtonsmith / UIColor+AccentColor.m
Created October 27, 2019 16:55
[Catalyst] Provides access to macOS Accent Color
@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
steventroughtonsmith / UIView+Tooltips.h
Last active December 23, 2023 11:05
WIP tooltips for Mac Catalyst
//
// 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
steventroughtonsmith / bitcode2intel
Created May 18, 2019 15:31
Converts an ARM64 iOS app with Bitcode into an X86_64 variant
#!/bin/bash
TARGET="$( cd "$(dirname "$1")" ; pwd -P )/$1"
SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk"
TARGET_ARCH=x86_64
export IPHONEOS_DEPLOYMENT_TARGET=12.2
rm -r /tmp/bitcode2intel
mkdir -p /tmp/bitcode2intel
pushd /tmp/bitcode2intel
/
target-type: 0x44
mlb-serial-number: syscfg/MLB#/0x20,zeroes/0x20
compatible: D22AP
secure-root-prefix:
AAPL,phandle: 0x01
platform-name: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
device_type: bootrom
region-info: syscfg/Regn/0x20,zeroes/0x20
regulatory-model-number: syscfg/RMd#/0x20
@steventroughtonsmith
steventroughtonsmith / dp1_target_image_creator.sh
Last active November 15, 2023 23:49
Mac OS X Server 1.x (Rhapsody)/Mac OS X Developer Preview 1 target partition creator for qemu-ppc
#!/bin/sh
TARGET_IMAGE=1G_BLANK_MACOSX_DP1_DISK_IMAGE.img
#1G
DISKSIZE_IN_BLOCKS=2097152
#2G
#DISKSIZE_IN_BLOCKS=4194304
@steventroughtonsmith
steventroughtonsmith / gist:62f0b14d5ef532a4be2e2529187c100d
Created November 18, 2016 17:28
iOS Simulator fullscreen enabler
call ((NSWindow *)[(NSArray *)[[NSApplication sharedApplication] windows] lastObject]).collectionBehavior = 1<<7|1<<8|1<<11
@steventroughtonsmith
steventroughtonsmith / DrawingKit.swift
Created September 16, 2016 16:43
DrawingKit playground for iOS 10
import PlaygroundSupport
import Foundation
import UIKit
Bundle(path: "/System/Library/PrivateFrameworks/DrawingKit.framework")?.load()
let DKInkView = NSClassFromString("DKInkView") as! UIView.Type
extension UIView {
func newGPUAvailable() -> Bool {
@steventroughtonsmith
steventroughtonsmith / main.m
Created March 24, 2016 08:08
Load Mach-O executable at runtime and execute its entry point
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);