Skip to content

Instantly share code, notes, and snippets.

View skreutzberger's full-sized avatar

Sebastian Kreutzberger skreutzberger

View GitHub Profile
@skreutzberger
skreutzberger / getICloudUserID.swift
Last active December 1, 2025 21:05
get iCloud User ID
import CloudKit
/// async gets iCloud record ID object of logged-in iCloud user
func iCloudUserIDAsync(complete: (instance: CKRecordID?, error: NSError?) -> ()) {
let container = CKContainer.defaultContainer()
container.fetchUserRecordIDWithCompletionHandler() {
recordID, error in
if error != nil {
print(error!.localizedDescription)
complete(instance: nil, error: error)
@skreutzberger
skreutzberger / calliCloudUserIDAsync.swift
Created November 27, 2015 09:07
use iCloudUserIDAsync
import CloudKit
iCloudUserIDAsync() {
recordID, error in
if let userID = recordID?.recordName {
print("received iCloudID \(userID)")
} else {
print("Fetched iCloudID was nil")
}
}
@skreutzberger
skreutzberger / sb-carthageissue1.log
Created December 10, 2015 09:29
Carthage Issue Log
Build settings from command line:
ONLY_ACTIVE_ARCH = NO
SDKROOT = iphonesimulator9.2
=== BUILD TARGET SwiftyBeaver (iOS) OF PROJECT SwiftyBeaver WITH CONFIGURATION Release ===
Check dependencies
Write auxiliary files
write-file /Users/sebastian/Library/Developer/Xcode/DerivedData/SwiftyBeaver-afdkbmzqyrmnmdcgjtcdgpqjjvcp/Build/Intermediates/SwiftyBeaver.build/all-product-headers.yaml
@skreutzberger
skreutzberger / relativeDateInterval.swift
Last active April 17, 2023 12:32
Swift 2 function for human-readable time interval
/// returns optional relative date interval string like "2d"
/// depending on the unitsstyle, see docs at http://apple.co/1ox2sOX
/// inject an existing NSDateComponentsFormatter() for performance
func relativeDateInterval(date: NSDate,
unitsStyle: NSDateComponentsFormatterUnitsStyle,
formatter: NSDateComponentsFormatter) -> String? {
// inspired by top answer at http://bit.ly/1TzMQqV
let formatter = NSDateComponentsFormatter()
formatter.unitsStyle = unitsStyle //.Abbreviated, .Full, ...
formatter.includesApproximationPhrase = false
@skreutzberger
skreutzberger / log2docdir.swift
Last active July 4, 2016 07:34
Log to Document Directory
// sends SwiftyBeaver logs to a file in your app’s document directory
// instead of the default caches directory
// learn more about SwiftyBeaver at https://github.com/SwiftyBeaver/SwiftyBeaver
let fm = NSFileManager.defaultManager()
if let docsURL = fm.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first {
let file = FileDestination()
file.logFileURL = docsURL.URLByAppendingPathComponent("my.log")
log.addDestination(file)
log.info("writing logs to \(file.logFileURL)")
@skreutzberger
skreutzberger / spm1.sh
Last active September 17, 2016 08:12
SPM article Gist
mkdir MyProject
cd MyProject
swift package init --type executable
# will create the following output
> Creating executable package: MyProject
> Creating Package.swift
> Creating .gitignore
> Creating Sources/
> Creating Sources/main.swift
@skreutzberger
skreutzberger / Package.swift
Last active September 17, 2016 08:35
SPM article Gist 2
import PackageDescription
let package = Package(
name: "MyProject",
targets: [],
dependencies: [
.Package(url: "https://github.com/SwiftyBeaver/SwiftyBeaver.git",
majorVersion: 1, minor: 0)
]
)
@skreutzberger
skreutzberger / spm3.sh
Last active September 17, 2016 08:32
SPM article Gist 3
swift package update
> Cloning https://github.com/SwiftyBeaver/SwiftyBeaver.git
> HEAD is now at 83a0dd4 colored Emojis for native Xcode 8 Console support
> Resolved version: 1.0.1
@skreutzberger
skreutzberger / spm4.sh
Last active September 17, 2016 08:33
SPM article Gist 4
swift package generate-xcodeproj
> generated: ./MyProject.xcodeproj
@skreutzberger
skreutzberger / spm5.sh
Created September 17, 2016 08:19
SPM article Gist 5
swift build --clean