Skip to content

Instantly share code, notes, and snippets.

View dtorres's full-sized avatar

Diego Torres dtorres

View GitHub Profile
@IanKeen
IanKeen / Convertible.swift
Created April 24, 2020 16:57
PropertyWrapper: Convert to/from raw type during decoding/encoding
import Foundation
public protocol CodingStrategy {
associatedtype Converted
associatedtype RawValue: Codable
static func toRaw(_ value: Converted) throws -> RawValue
static func toValue(_ raw: RawValue) throws -> Converted
}
@zntfdr
zntfdr / firebase-iOS-breakdown.swift
Last active July 25, 2024 08:35
Firebase iOS Version breakdown
// How to:
// 1. Open the Firebase Analytics Dashboard
// 2. Scroll to bottom, where you see the "Users by Device model" widget
// 3. Click "View device models" in that widget (this opens the "Tech details" Firebase Analytics page)
// 4. Above the table shown in the new page, click on the “Device model” drop down menu and select “OS with Version”
// 5. Make sure to select “OS with version” and not “OS Version”
// 6. On the top right corner of the page, click on the “Share this report” icon (next to the date)
// 7. Click “Download file” on the new side bar, then “Download CSV"
// 8. Open the file and select the iOS/Android breakdown raw data
// 9. Replace the sample data in this script with your data
# When I want to attach lldb to swiftc to see how it works when compiling simple Swift programs:
utils/build-script \
--release --debug-swift \
--build-swift-dynamic-stdlib=0 --build-swift-dynamic-sdk-overlay=0 \
--skip-build-osx --skip-build-ios --skip-build-tvos --skip-build-watchos
# When I want to run the Swift test suite, to make sure my pull request would pass CI:
utils/build-script \
--release --debug-swift \
--test
@cabeca
cabeca / simulator_populator_xcode7
Last active April 16, 2020 09:18
This script removes and recreates all simulators in Xcode 7.
#!/usr/bin/env ruby
require 'JSON'
device_types = JSON.parse `xcrun simctl list -j devicetypes`
runtimes = JSON.parse `xcrun simctl list -j runtimes`
devices = JSON.parse `xcrun simctl list -j devices`
devices['devices'].each do |runtime, runtime_devices|
runtime_devices.each do |device|
@jder
jder / Downscaling ALAssets
Last active March 20, 2018 06:51
A method for downscaling ALAssets
// For details, see http://mindsea.com/2012/12/18/downscaling-huge-alassets-without-fear-of-sigkill
#import <AssetsLibrary/AssetsLibrary.h>
#import <ImageIO/ImageIO.h>
// Helper methods for thumbnailForAsset:maxPixelSize:
static size_t getAssetBytesCallback(void *info, void *buffer, off_t position, size_t count) {
ALAssetRepresentation *rep = (__bridge id)info;
NSError *error = nil;
@joericioppo
joericioppo / gist:1805302
Created February 12, 2012 00:28
An Objective-C PSD writer that got shelved. Nick Paulson and Gus Mueller helped me out with this.
#import <Foundation/Foundation.h>
@interface FOOPSDWriter : NSObject {
NSMutableData *data_;
NSUInteger location_;
}
- (void) writeInt64:(UInt64)value;
- (void) writeInt32:(UInt32)value;
@gonecoding
gonecoding / Readme.markdown
Created February 22, 2011 12:42
Adding methods to NSData and NSString using categories to provide AES256 encryption on iOS

Important notice

I took down this Gist due to concerns about the security of the encryption/decryption part of this code (see comments below).

Rob Napier (@rnapier) has created a publicly available class that provides similar AES encryption/decryption functionality at https://github.com/rnapier/RNCryptor.