Skip to content

Instantly share code, notes, and snippets.

View matteospada's full-sized avatar
🌍
Make it simple.

Matteo Spada matteospada

🌍
Make it simple.
View GitHub Profile
//
// realm_testApp.swift
// realm-test
//
// Created by Matteo Spada on 26/03/25.
//
import RealmSwift
import SwiftUI
#!/bin/bash
USERNAME=youruser # TODO: Customize the sudo non-root username here
# Create user
useradd --create-home --shell "/bin/bash" --groups sudo "${USERNAME}"
passwd --delete "${USERNAME}"
# Create SSH directory for sudo user and move keys over
home_directory="$(eval echo ~${USERNAME})"
mkdir --parents "${home_directory}/.ssh"
require "dotenv"
before_all do
Dotenv.load ".env.secret"
end
default_platform(:mac)
platform :mac do
lane :update_plist_prod do
update_plist(
@matteospada
matteospada / DeepL.swift
Created July 13, 2023 20:39
A simple library to use the DeepL APIs.
import Foundation
/// MARK: Errors
enum DeepLErrors: Error {
case decode
case tooManyRequests
case quotaExceeded
case temporaryError
case serverError
case forbidden
extension RatingsView {
func createImage(icon: UIImage, appName: String, developerName: String, ratingsCount: String, averageRating: String) -> UIImage {
let renderer = UIGraphicsImageRenderer(size: CGSize(width: 1600, height: 900))
let imageToShare = renderer.image { ctx in
// Background gradient
let gradient = CGGradient(colorsSpace: nil, colors: [UIColor(red: 0.101, green: 0.729, blue: 0.973, alpha: 1.0).cgColor, UIColor(red: 0.114, green: 0.478, blue: 0.949, alpha: 1.0).cgColor] as CFArray, locations: nil)!
ctx.cgContext.drawLinearGradient(gradient, start: CGPoint(x: 0, y: 0), end: CGPoint(x: 0, y: 900), options: [])
//
// KeywordViewModel.swift
// Created by Matteo Spada on 09/07/22.
//
import Foundation
import CoreData
import SwiftUI
class KeywordViewModel: ObservableObject, Identifiable, Equatable {
@matteospada
matteospada / LeaveAReview.swift
Created October 8, 2022 15:46
Leave a Review
func rateApp() {
let urlStr = "itms-apps://itunes.apple.com/app/id1614061909?action=write-review"
guard let url = URL(string: urlStr), UIApplication.shared.canOpenURL(url) else { return }
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
@matteospada
matteospada / MailView.swift
Created October 8, 2022 15:36
Support Email config
import SwiftUI
import UIKit
import MessageUI
struct MailView: UIViewControllerRepresentable {
@Environment(\.presentationMode) var presentation
@Binding var result: Result<MFMailComposeResult, Error>?
class Coordinator: NSObject, MFMailComposeViewControllerDelegate {
import SwiftUI
struct Person: Identifiable {
let givenName: String
let familyName: String
let emailAddress: String
let id = UUID()
}
private var people = [
Person(givenName: "Juan", familyName: "Chavez", emailAddress: "juanchavez@icloud.com"),
import SwiftUI
extension Bundle {
var buildNumber: String {
return infoDictionary?["CFBundleVersion"] as! String
}
}
struct ContentView: View {
var body: some View {