This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import PackageDescription | |
import Foundation | |
import Swift | |
extension PackageDescription.Product { | |
public static func iOSApplication( | |
name: Swift.String, | |
targets: [Swift.String], | |
bundleIdentifier: Swift.String? = nil, | |
teamIdentifier: Swift.String? = nil, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Strings.strings | |
Provenance | |
Created by Joseph Mattiello on 8/16/21. | |
Copyright © 2021 Provenance Emu. All rights reserved. | |
*/ | |
/* Loading and item */ | |
"Loading" = "Loading"; |
I hereby claim:
- I am joematt on github.
- I am jmattiello (https://keybase.io/jmattiello) on keybase.
- I have a public key ASD8C10kbjg_zc7WK27yd2I-CqHQsq61gs0Wom9er8INGgo
To claim this, I am signing this object:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
protocol SOAPElement : Codable { | |
static var namespace : String { get } | |
static var uri : String { get } | |
} | |
protocol WSSEElement : SOAPElement {} | |
/* | |
<wsse:Security> | |
<wsse:UsernameToken> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- (void)enableFirebaseSyncCompletion:(void(^)(void))completion { | |
// ------- This is the setup of the groups, factories etc ----------- | |
// Create a new top level group, __block so we can pass it into child groups | |
__block dispatch_group_t topGroup = dispatch_group_create(); | |
// Type-defs make things easier to read | |
typedef void (^ReturnedBlock)(void); | |
typedef void (^ParamBlock)(ReturnedBlock); |
This script will update Info.plist of a target in XCode with the following
CFBundleVersion
to the git commit countGitDate
to the date of the last commitGitBranch
to the current branch nameGitTag
to the latest tag on current branch
Creates a .version file to track last update and appease XCode needing a non-mutable output path.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
extension UIView { | |
enum SALViewError : Error { | |
case noSuperview | |
} | |
func anchorAllEdgesToSuperview() throws { | |
guard let superview = superview else { throw SALViewError.noSuperview } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set -e | |
# carthage.sh : smarter carthage updating and caching by Joe Mattiello | |
# | |
# Inspired from http://shashikantjagtap.net/cache-carthage-speed-ios-continuous-integration/ | |
# | |
# The purpose of this script is to reduce the amount of checkouts Carthage runs. | |
# I use this script in an XCode 'run script' build phase as the first phase before compiling | |
# If you have mutliple targets, projects, frameworks etc, you can include this script in each and it will selec | |
# the correct Carthage folder for each target. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Can maybe use this generic keypath and then narrow it downn later | |
// You can't use KeyPath<T, GCControllerElement> and then pass a | |
// keyPath to a GCControllerButtonInput property even though in inherits. | |
// No idea why or what the work around is but I'm sure there is a proper way | |
// to make this generic | |
protocol BoolRepresentableInput { | |
var isPressed: Bool { get } | |
} | |
protocol FloatRepresentableInput { |
NewerOlder