Skip to content

Instantly share code, notes, and snippets.

View leogdion's full-sized avatar

leogdion leogdion

View GitHub Profile
@leogdion
leogdion / Bundle.RegisterFonts.swift
Created December 2, 2016 20:36
How to register fonts in a Bundle without having to edit the plist
//
// Bundle.swift
// timerany
//
// Created by Leo Dion on 12/2/16.
// Copyright © 2016 BrightDigit. All rights reserved.
//
import Foundation
import CoreGraphics
@leogdion
leogdion / git-submodule-foreach.zsh
Last active March 15, 2017 14:42
git submodule foreach aliases
function __git_submodule_foreach_commit () {
git submodule foreach "git commit -am $1" && git commit -am $1
}
function __git_submodule_foreach_push () {
git submodule foreach "git push" && git push
}
function __git_submodule_foreach_pull () {
git submodule foreach "git pull" && git pull
@leogdion
leogdion / index.js
Created May 25, 2017 17:59
requirebin sketch
// Welcome! require() some modules from npm (like you were using browserify)
// and then hit Run Code to run your code on the right side.
// Modules get downloaded from browserify-cdn and bundled in your browser.
var base32 = require('base32');
const uuidV4 = require('uuid/v4');
function chunkString(str, length) {
return str.match(new RegExp('.{1,' + length + '}', 'g'));
}
@leogdion
leogdion / export-script.sh
Last active August 1, 2017 20:20
export-script.sh
#curl -s http://javascriptweekly.com/issues/$1 | pup '.issue-html table div > a[title] json{}' | jq '.[]' | jq -r '.text + " " + .href'
#curl -s http://iosdevweekly.com/issues/$1 | pup 'section .item h3.item__title a json{}' | jq '.[]' | jq -r '.text + " " + .href'
#curl -s http://www.echojs.com | pup 'article[data-news-id] a[rel] json{}' | jq '.[]' | jq -r '.text + " " + .href'
#curl -s https://swiftnews.curated.co/issues/$1 | pup 'section .item h3.item__title a json{}' | jq '.[]' | jq -r '.text + " " + .href'
#curl -s https://swiftnews.curated.co/issues/$1 | pup 'section .item h3.item__title a json{}' | jq '.[]' | jq -r '.text + " " + .href'
#curl -s http://ios-goodies.com | pup '.post .body-text li json{}' | jq '.[]' | jq -r '.children[0].text + " by " + .children[1].text + " " + .children[0].href'
curl -s https://mobilewebweekly.com/issues/$1 | pup '.issue-html table table table table td > a[title] json{}' | jq '.[]' | jq -r '.text + " http://" + .title'
@leogdion
leogdion / ShufflingPlayingCards-Swift4.2.swift
Created June 5, 2018 18:56
How to create playing cards and shuffling them in Swift 4.2
// CaseIterable gives us the allCases properties
enum Suit : CaseIterable {
case clubs, hearts, diamonds, spades
}
// CaseIterable gives us the allCases properties
enum Rank : CaseIterable {
case two, three, four, five, six, seven, eight, nine, ten, jack, queen, king, ace
}
@leogdion
leogdion / HKHealthStore.Authorization.Example.swift
Last active June 11, 2018 16:15
HealthKit – Apple Watch – Data and Authorization
if HKHealthStore.isHealthDataAvailable() {
let healthStore = HKHealthStore()
let heartRateQuantityType = HKObjectType.quantityType(forIdentifier: .heartRate)!
let allTypes = Set([HKObjectType.workoutType(), heartRateQuantityType ])
healthStore.requestAuthorization(toShare: nil, read: allTypes) { (result, error) in
if let error = error {
// deal with the error return
}
guard result else {
// deal with the failed request return
@leogdion
leogdion / HealthKit.AppleWatch.iPhone.swift
Last active June 11, 2018 16:19
Handle AppleWatch Request For Authorization on iPhone
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate
{
...
func applicationShouldRequestHealthAuthorization(_ application: UIApplication) {
let healthStore = HKHealthStore()
healthStore.handleAuthorizationForExtension {
(success, error) -> Void in
}
}
func startWorkoutWithHealthStore(_ healthStore: HKHealthStore,
andActivityType activityType: HKWorkoutActivityType,
withSampleTypes sampleTypes: [HKSampleType]) -> HKWorkoutSession {
let configuration = HKWorkoutConfiguration()
configuration.activityType = activityType
let session : HKWorkoutSession
do {
session = try HKWorkoutSession(configuration: configuration)
} catch let error {
@leogdion
leogdion / Mail-Merge-Template.scpt
Created January 2, 2019 19:10
Creating A Mailchimp Subscription Form and Email Invite using AppleScript
set mol_list to {}
-- This will ask you to select a file containing the intended recepients and their emails --
-- I also include in this file information needed to link to an attachment --
set theFile to choose file with prompt "Select a text file:"
set theFileReference to open for access theFile
-- Note that the line end here is an old Mac return (not MSFT carriage return) --
set theFileContents to read theFileReference using delimiter linefeed
close access theFileReference
-- Now parse the file that was selected. Here I'm parsing a tab-delimited file. --
@leogdion
leogdion / fix_dylibs.sh
Last active April 26, 2023 11:08
Fixing Dynamic Library References in Xcode Projects https://learningswift.brightdigit.com/?p=195
#!/bin/sh
FRAMEWORKS_FOLDER_PATH="`dirname $1`/Frameworks/"
LIBS=`otool -L "$1" | grep "/opt\|Cellar" | awk -F' ' '{ print $1 }'`
for lib in $LIBS; do
EXPECTED_PATH="`dirname $1`/Frameworks/`basename $lib`"
if [ ! -f $EXPECTED_PATH ]; then
IFS='.' read -ra FILENAME_COMPS <<< "`basename $lib`"
ACTUAL_PATH=`find $FRAMEWORKS_FOLDER_PATH -name "${FILENAME_COMPS[0]}*.*"`
install_name_tool -id @rpath/`basename $ACTUAL_PATH` "`dirname $1`/Frameworks/`basename $ACTUAL_PATH`"