Understand your Mac and iPhone more deeply by tracing the evolution of Mac OS X from prelease to Swift. John Siracusa delivers the details.
You've got two main options:
| from os import urandom | |
| from socket import create_connection | |
| from cryptography.hazmat.primitives.asymmetric import padding | |
| from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes | |
| from cryptography.hazmat.primitives.serialization import load_der_public_key | |
| def read(sock, length): | |
| result = b'' |
| theme | class | highlighter | fonts | ||||||
|---|---|---|---|---|---|---|---|---|---|
default |
text-center |
MaskRay |
|
| // 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); | |
| // } | |
| // } | |
| // }; |
| wget --no-check-certificate --recursive --domains=opensource.apple.com --no-clobber --accept "*.gz" --no-parent -l2 https://opensource.apple.com/tarballs | |
| wget --no-check-certificate --recursive --domains=opensource.apple.com --no-clobber --accept "*.gz" -l2 https://opensource.apple.com/ | |
| wget --no-check-certificate --recursive --domains=opensource.apple.com --no-clobber --accept "*.gz" --no-parent -l3 https://opensource.apple.com/darwinbuild/ |
Use these steps to debug components of the Swift toolchain. This allows you to see Swift's source code from the debugger โ instead of disassembly. The debugger can also provide some variable names and values. This has been initially tested with libswiftCore.dylib.
These instructions were updated as of Swift 5.2.1.