Autor-Archiv Tobias Stephan

VonTobias Stephan

Amazon Pay Zahlung mit Shopware automatisch einziehen

Wenn man dann doch ordentliche Umsätze mit dem eigenen Shop generiert und man als Zahlungsdienstleister Amazon Pay verwendet, möchte man dann auch gerne die “Kohle” haben. Im Standard sieht es so aus, dass man im Sellercentral des Händler Amazon Pay Kontos jede Zahlung einzeln von Hand bestätigen muss. Bei vielen Vorgängen kostet das meiner Meinung nach unnötige Zeit. Der Trick liegt im “Capture now”. Diese Einstellung sieht Du in unten aufgeführtem Screenshot und sorgt dafür, daß Du diesen Arbeitsschritt sparen kannst.

VonTobias Stephan

Umrechnung Celsius in Fahrenheit und umgekehrt

Formel zum Umrechnen von Celsius in Fahrenheit:

Temperatur in °F = Temperatur in °C × 1,8 + 32

Formel zum Umrechnen von Fahrenheit in Celsius:

Temperatur in °C = (Temperatur in °F − 32) / 1,8
VonTobias Stephan

Shopware Formulare info@example.com

Vergiss nicht bei Shopware auch die Mailadresse für den Empfänger von Formularen zu hinterlegen. In der Standardeinstellung ist dort info@example.com hinterlegt. Das sollte man natürlich entsprechend anpassen, da Dich sonst keine Mail mit dem ausgefüllten Formular Deiner Kunden erreicht.

VonTobias Stephan

SwiftUI Text zentrieren

Text("Hier ausprobieren, wie sich der Text automatisch zentriert! Padding sorgt für den Abstand.")
.multilineTextAlignment(.center)
.padding(60)
.lineLimit(nil)

In diesem Beispiel sieht man den blauen zentrierten Text in der MacOS Variannte – wenn man das mit IOS probiert, wird der Text autmatisch mehrzeilig.

VonTobias Stephan

Erfahrungen mit Flashforge

Mein Rat: Kein Gerät von Flashforge kaufen. Keinen Adventurer 3, keinen Dreamer, Inventor, Creator oder guider. Einfach gar keinen.

Tja, was soll ich sagen. Um eine App zu entwickeln verlangt Apple eine Zustimmung des Herstellers. Das ist für mich zwar nicht nachzuvollziehen aber nun einmal Fakt.

Meine Anfrage an die Firma Flashforge eine Erlaubnis zu erteilen, dass ich lediglich auf den Webcam Stream zugreifen kann, wurde abgelehnt. Abgesehen davon, dass das man mir das nicht verbieten kann, finde ich die Antwort dreist. Die Rechte der Bilde liegen nicht bei Flashforge und wenn ich einen Mercedes kaufen, brauche ich keine Zustimmung des Herstellers um das Lenkrad zu bewegen.

Flashforge hat aber mal abgelehnt. Sie verbieten mir damit das Gerät so zu benutzen, wie ich das gerne möchte. Mein Fazit ist also klar. An diesem Gerät kann ich also gar nichts gut finden, denn ich darf es ja nicht nach freien Stücken benutzen. Aber eigentlich haben sie Recht. Man stelle sich mal vor, jemand kaufte einen Blumentopf und käme auf die Idee diesen mit Teebeuteln zu füllen. Wo kämen wir da hin.

VonTobias Stephan

App für Bildersprüche

Mit dieser App kannst Du Deine eigenen Bildersprüche designen. Einfach einen Spruch und gleich per What’s App, Facebook oder Instateilen.

VonTobias Stephan

Regex aus String erzeugen

Hier geht es zu einem guten Regex-Generator

Ich war selber auf der Suche nach einem solchen Generator, denn das ist schon ein rechtes Gefummel. Mit diesem Generator kann man einfach einen String in ein Regex Umwandeln. Das ist dann eine prima Grundlage um das erzeugte Regex Pattern anzupassen. Dafür verwende ich einen der zahlreichen Regex-Tester. Davon gibt es ja genug.

VonTobias Stephan

SwiftUI Userdefaults Beispiele

Userdefauls sample
//
//  ContentView.swift
//  DefaultsDemo
//
//  Created by T. Stephan on 07.05.20.
//  Copyright © 2020 eCommerce - Tobias Stephan. All rights reserved.
//

import SwiftUI

struct ContentView: View {

    @State var BoolValue = false
    @State var StringValue = ""
    @State var IntValue = 0

    var body: some View {
        VStack {
            Text(String(BoolValue))
            Text(StringValue)
            Text(String(IntValue))
        }
            .onAppear() {
                let defaults = UserDefaults.standard
                defaults.set(true , forKey: "KeyBoolValue")
                defaults.set("StringValue" , forKey: "KeyStringValue")
                defaults.set(4711 , forKey: "KeyIntValue")

                self.BoolValue = defaults.bool(forKey: "KeyBoolValue")
                self.StringValue =  defaults.string(forKey: "KeyStringValue")!
                self.IntValue = defaults.integer(forKey: "KeyIntValue")

        }
    }

}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

Dieses Userdefaults-Beispiel kannst Du hier auch gleich als Beispiel via Copy-Paste in ein Standard Projekt kopieren und damit spielen.