This file contains hidden or 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
extension Locale { | |
/// Returns an SF Symbol currency image that match's the device's current locale, for instance dollar in North America, Indian rupee in India, etc. | |
func currencySFSymbol(filled: Bool, withConfiguration configuration: UIImage.Configuration? = nil) -> UIImage { | |
// Default currency symbol will be the Animal Crossing Leaf coin to remain impartial to any specific country | |
let defaultSymbol = UIImage(systemName: "leaf.circle\(filled ? ".fill" : "")")! | |
guard let currencySymbolName = currencySymbolNameForSFSymbols() else { return defaultSymbol } | |
let systemName = "\(currencySymbolName).circle\(filled ? ".fill" : "")" | |
return UIImage(systemName: systemName, withConfiguration: configuration) ?? defaultSymbol |
This file contains hidden or 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 Foundation | |
import SwiftUI | |
let isUITesting = /* your UI test detection here */ | |
@main | |
struct EntryPoint { | |
static func main() { | |
if isUITesting { | |
UITestApp.main() |
This file contains hidden or 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
cd "${PROJECT_DIR}" | |
# Make sure working directory is clean. | |
if output=$(git status --porcelain) && [ -n "$output" ]; then | |
echo "error: Please commit any uncommitted files before proceeding:\n$output" | |
exit 1 | |
fi | |
# Make sure we are on master (and not a feature branch, for instance) | |
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) |
This file contains hidden or 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
// | |
// UIView+Tooltips.h | |
// Crossword | |
// | |
// Created by Steven Troughton-Smith on 13/09/2019. | |
// Copyright © 2019 Steven Troughton-Smith. All rights reserved. | |
// | |
#import <UIKit/UIKit.h> |
This file contains hidden or 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
// Don't forget to prefix your category! | |
#import <UIKit/UIKit.h> | |
NS_ASSUME_NONNULL_BEGIN | |
@interface UIWindow (PSPDFAdditions) | |
#if TARGET_OS_UIKITFORMAC |
This file contains hidden or 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
struct Notification<T> { | |
let name: NSNotification.Name | |
} | |
private let notificationData = "_notificationData" | |
extension NotificationCenter { | |
func post<T>(_ notification: Notification<T>, object: Any? = nil, data: T) { | |
post(name: notification.name, object: object, userInfo: [notificationData: data]) | |
} |
This file contains hidden or 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
/** | |
This sample code is available under the MIT license. | |
*/ | |
@available(iOS 12.0, *) | |
public final class ShortcutManager { | |
/** | |
This enum specifies the different intents available in our app and their various properties for the `INIntent`. | |
Replace this with your own shortcuts. |
This file contains hidden or 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 ControlEventBindable: class { } | |
extension UIControl: ControlEventBindable { } | |
extension UIBarButtonItem: ControlEventBindable { } | |
private struct Keys { | |
static var EventHandlers = "_EventHandlers" | |
} | |
// MARK: - Implementation |
This file contains hidden or 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
# Clubhouse / git / deploy utility functions | |
# | |
# API docs: https://clubhouse.io/api | |
# | |
# Assuming the following: | |
# 1. We have a range of git commits that represent the changes being deployed | |
# 2. Our git branches and pull requests use the username/ch123/story-name format, | |
# so that "ch123" ends up in a commit message | |
# 3. We have a Clubhouse API token set to the $CLUBHOUSE_API_TOKEN environment variable | |
# |
This file contains hidden or 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
/** | |
* Demonstrates how to use Apple's CloudKit server-to-server authentication | |
* | |
* Create private key with: `openssl ecparam -name prime256v1 -genkey -noout -out eckey.pem` | |
* Generate the public key to register at the CloudKit dashboard: `openssl ec -in eckey.pem -pubout` | |
* | |
* @see https://developer.apple.com/library/prerelease/ios/documentation/DataManagement/Conceptual/CloutKitWebServicesReference/SettingUpWebServices/SettingUpWebServices.html#//apple_ref/doc/uid/TP40015240-CH24-SW6 | |
* | |
* @author @spllr | |
*/ |
NewerOlder