#Every Single Option Under The Sun
- optimization level options
- automatic crashing options
- debug info options
- swift internal options
- swift debug/development internal options
- linker-specific options
- mode options
#Every Single Option Under The Sun
| // Allow to use generics even if not supported yet | |
| #if __has_feature(objc_generics) | |
| #define NSArrayOf(x) NSArray<x> | |
| #define NSMutableArrayOf(x) NSMutableArray<x> | |
| #define NSDictionaryOf(x,y) NSDictionary<x, y> | |
| #define NSMutableDictionaryOf(x, y) NSMutableDictionary<x, y> | |
| #define NSSetOf(x) NSSet<x> | |
| #define NSMutableSetOf(x) NSMutableSet<x> | |
| #else | |
| #define NSArrayOf(x) NSArray |
| /// Our custom drop-in replacement `precondition`. | |
| /// | |
| /// This will call Swift's `precondition` by default (and terminate the program). | |
| /// But it can be changed at runtime to be tested instead of terminating. | |
| func precondition(@autoclosure condition: () -> Bool, @autoclosure _ message: () -> String = "", file: StaticString = __FILE__, line: UWord = __LINE__) { | |
| preconditionClosure(condition(), message(), file, line) | |
| } | |
| /// The actual function called by our custom `precondition`. | |
| var preconditionClosure: (Bool, String, StaticString, UWord) -> () = defaultPreconditionClosure |
| #!/bin/sh | |
| PLIST_BUDDY=/usr/libexec/PlistBuddy | |
| xcode-plugin-add-compatibility() { | |
| "$PLIST_BUDDY" -c "Add DVTPlugInCompatibilityUUIDs:10 string $2" \ | |
| "$1/Contents/Info.plist" | |
| } | |
| xcode-plugin-has-compatibility() { |
| You can specify the underlying name for a C function the linker/compiler should actually use. If you use an existing | |
| function's name, it will just let you refer to it with your prototype's name. If you define the function, it'll give | |
| it that name. It even complains if a function of that name already exists. Tested with clang on a Mac, but AFAIK also | |
| works in GCC. You can even use special characters in your function names, like you can do in assembly. |
| Fractal Design Define S Black | |
| Corsair CP-9020094-EU RMX Serie RM1000X ATX/EPS (if you don't do SLI 850W is good enough) | |
| Asus ROG Maximus VIII Hero Gaming Mainboard | |
| Corsair CMK32GX4M4A2400C14 Vengeance LPX 32GB | |
| Intel Core™ i7-6700K | |
| Noctua NH-D15S | |
| Samsung Basic MZ-7KE1T0BW 850 Pro SSD (no space for an PCI-E version...) | |
| Western Digital WD40EZRX Caviar Green 4TB (optional) |
| // Compile with clang -framework Foundation sethack.m | |
| #import <Foundation/Foundation.h> | |
| #import <objc/runtime.h> | |
| /* | |
| CFHashBytes from http://www.opensource.apple.com/source/CF/CF-1153.18/CFUtilities.c | |
| */ | |
| #define ELF_STEP(B) T1 = (H << 4) + B; T2 = T1 & 0xF0000000; if (T2) T1 ^= (T2 >> 24); T1 &= (~T2); H = T1; |
| class SourceListTableCellView: NSTableCellView { | |
| override var draggingImageComponents: [NSDraggingImageComponent] { | |
| let components = super.draggingImageComponents | |
| guard | |
| self.backgroundStyle == .emphasized, //emphasized = selected | |
| let textField = self.textField, | |
| let newStyle = textField.attributedStringValue.mutableCopy() as? NSMutableAttributedString, | |
| let labelIndex = components.firstIndex(where: { $0.key == .label }) | |
| else { | |
| return components |
| // Example usage: | |
| // Swizzler<NSString *, NSDateFormatter *, NSDate *> NSDateFormatter_stringFromDate_ { | |
| // NSDateFormatter.class, @selector(stringFromDate:), [&](auto self, auto date) { | |
| // if ([NSCalendar.currentCalendar components:NSCalendarUnitWeekday fromDate:date].weekday == 4) { | |
| // return @"It Is Wednesday My Dudes"; | |
| // } else { | |
| // return NSDateFormatter_stringFromDate_(self, date); | |
| // } | |
| // } | |
| // }; |