Jahresarchiv 2019

VonTobias Stephan

iRobot 780 auf Werkseinstellungen zurücksetzen 700er Serie

Start Knopf gedrückt halten und parallel dazu Dock und Spot Taste 10 Sekunden gedrückt halten. Im Display erscheint die Meldung r5t – das bedeutet, dass die Einstellungen nun zurückgesetzt sind.

VonTobias Stephan

Swift 5 Timer Event Beispiel Sample

Dieses Timer Event Beispiel kannst Du einfach in die viewDidLoad() Methode packen.

Im Ausgabe Fenster kannst du verfolgenden, wie das Ereignet alle 5 Sekunden “gefeuert” wird.

let timer = Timer.scheduledTimer(withTimeInterval: 5.0, repeats: true) { timer in
print("Timer fired!")

}
let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd hh:mm:ss"
let sDate = df.string(from: timer.fireDate)
print(sDate)

VonTobias Stephan

Navigation Controller Swift Back Button

Zu diesem Titel findet man zahlreiche Beiträge. In diesem Beispiel soll von dem Button “Geschwindigkeit lernen” der nächste ViewController aufgerufen werden. Der Zurück-Button ist hier total wichtig…denn sonst gibt es keinen Weg zurück

dasdf

Das Segue hab ich einfach mit Rechts-Click auf den Button erstellt.

 

 

 

 

VonTobias Stephan

Swift 5.1 JSON to Object auslesen

Hier ein einfaches Beispiel, wie man ein Json String auslesen bzw. parsen kann.

let str = "{\"names\": [\"Bob\", \"Tim\", \"Tina\"]}"
let data = Data(str.utf8)

do {
    // Sicher stellen, dass es sich um das korrekte JSON Format handelt
    if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
        // try to read out a string array
        if let names = json["names"] as? [String] {
            print(names)
        }
        for (key, value) in json {
            print("\(key) : \(value)")
        }
    }
} catch let error as NSError {
    print("Failed to load: \(error.localizedDescription)")
}

VonTobias Stephan

Einfache Einmaleins App

Dies Einmaleins App ist wirklich mal einfach. Hier gilt, wenn einfach einfach einfach ist. Übung macht den Meister! Geübt werden kann wahlweise im Zahlenraum von 1 bis 10 oder von 1 bis 100. Diese App ist für Grundschulkinder gedacht. Mit 3 verschiedenen Smileys wird der Leistungsstand angezeigt.

Außerdem wird die Übungszeit in Minuten angezeigt. Die Übungszeit wird jedoch nur mitgezählt, wenn Ihr Kind aktiv mit der App übt. So kann man zur Tagesaufgabe 5 Minuten App üben ansetzen. Das verbessert die Bearbeitungszeit von Aufgaben schon extrem. Spielerisch zum Erfolg!

VonTobias Stephan

Swift 5 App im Hintergrund erkennen (app moved to background)

Mit diesen Codzeilen kann man erkennen, ob eine App in den Hintergund geschoben wird.

 override func viewDidLoad() {
        super.viewDidLoad()

        let notificationCenter = NotificationCenter.default
        notificationCenter.addObserver(self, selector: #selector(appMovedToBackground), name: UIApplication.didEnterBackgroundNotification, object: nil)

    }

    @objc func appMovedToBackground() {
        print ("App moved to Background")
    }

VonTobias Stephan

Swift 5 App im Vorderung erkennen (app moved to foreground)

Manchmal ist es sinnvoll zu erkenne, ob die eigene App in den Vordergrund geschoben wird. Mit diesen paar Codezeilen ist das leicht zu ermitteln.

   override func viewDidLoad() {
        super.viewDidLoad()
        

       

        let notificationCenter = NotificationCenter.default
        notificationCenter.addObserver(self, selector: #selector(appMovedToForeground), name: UIApplication.willEnterForegroundNotification, object: nil)

    }

    @objc func appMovedToForeground() {
        //do stuff
    }

VonTobias Stephan

Swift 5 tap gesture Geste

Diese paar Zeilen Code helfen schnell zu verstehen wie man einem Image die Tap Geste beibringt.

   
override func viewDidLoad() {
        super.viewDidLoad()

        self.imgPlacesPic.isUserInteractionEnabled = true;
        let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tapGesture))
        imgPlacesPic.addGestureRecognizer(tapGesture)
    }

    @objc func tapGesture() {

        performSegue(withIdentifier: "FromMainToImages", sender: self)
    }

VonTobias Stephan

Swift 5 Mapkit pins hinzufügen MapView

Mit dieser einfachen Funktion kann man einen Pin zur MapView hinzufügen.

func addPin(latitude: Double, longitude: Double, title: String, subtitle: String) {
        let annotation = MKPointAnnotation()
        let centerCoordinate = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
        annotation.coordinate = centerCoordinate
        annotation.title = title
        annotation.subtitle = subtitle

        mapView.addAnnotation(annotation)

}
Beispiel für das setzen von Pins
VonTobias Stephan

Swift 5 Notification Center lokale Benachrichtigung darstellen

Mit diese kurzen Sample kann man das einfach mal eben ausprobieren. Dieses Snippet unter die viewDidLoad Methode packen und von dort aus aufrufen.

 override func viewDidLoad() {
        super.viewDidLoad()

        self.SendLocalNotification(Title: "Titel der Benachrichtiung", Body: "Inhalt der Nachricht")
}

Hier einfach mal kurz zusammengefasst.
 func SendLocalNotification(Title: String,Body : String)
    {
        let center = UNUserNotificationCenter.current()
        center.requestAuthorization(options: [.alert,.sound]) { (granted, error) in
            print("...Fehler hier behandeln")

        }

        let content = UNMutableNotificationContent()
        content.title = Title
        content.body = Body
        content.sound = .default

        let date = Date().addingTimeInterval(10)
        let dateComponents = Calendar.current.dateComponents([.year,.month,.weekday, .hour,.minute,.second], from: date)
        print(date)
        let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: false)

        let uuidString = UUID().uuidString
        let request = UNNotificationRequest(identifier: uuidString, content: content, trigger: trigger)
        center.add(request) { (error) in
            if error != nil {
                print (error?.localizedDescription ?? "")

            }
        }
    }