Autor-Archiv Tobias Stephan

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 ?? "")

            }
        }
    }
VonTobias Stephan

App Geschwindigkeitswarner iPhone

Die neue App von eXODA hilft Dir Deine Geschwindigkeit einzuhalten. Mit einem Touch auf den GPS Button merkt sich die App Deine Position und bietet Dir die aktuelle Geschwindigkeit zum Merken zur Auswahl. Diese Information stellst Du damit auch anderen Benutzern zur Verfügung. Der nächste Benutzer, der diesen Wegpunkt passiert, profitiert von Deiner Information. Selbstverständlich dient das auch Dir selber. In der angezeigten Straßenkarte kannst Du die Wegpunkte als rote Pins erkennen, die Du oder andere Benutzer erzeugt haben. Du bist selber für die Geschwindigkeit verantwortlich. Außerdem zeigt Dir die App auch besondere Stellen (POI – Point of Interest) an. Das kann auch einer der beliebten Fotografen sein, die Dir ein Foto gleich mit Rechnung zusenden.

VonTobias Stephan

Swift 5 Bildschirmsperre entfernen bzw. verhindern Xcode 11

Mit dieser einfachen Zeile kann man die Bildschirmsperre verhindern. Manche App wie Navigationstools möchten keine Bildschirmsperre. Einfach diese Zeile an der richtigen Stelle einfügen.

application.isIdleTimerDisabled = true

Die richtige Stelle findest Du in der AppDelegate.swift.

VonTobias Stephan

Cam Viewer für den Dremel 3D45 3D40 App Software

Mit dieser App kannst Du bis zu 3 Dremel 3D45 oder 3D40 Idea Builder 3D Drucker überwachen. Bekanntlich verfügt der Dremel 3D45 im Gegensatz zum Dremel 3D40 Idea Builder über eine Kamera. Mit dieser App für die genannten Dremel 3d Drucker kann mal für beide Gerätentypen den Status hervorragend überwachen.

Neue Version 1.17 vom 02. Mai 2020
Es gibt die App für die Dremel Drucker nun komplett in 5 Sprachen übersetzt. Auch die Rückmeldungen die vom Drucker geliefert werden sind übersetzt worden. Die App ist auf Englisch, Deutsch, Französisch und Italienisch, Chinesisch, Japanisch und Russisch verfügbar.

Donwload im Apple App Store

Neue Version 1.14 vom 23. April 2020
Nach Update auf die IOS Version 13.4.1 führte das bei einigen Anwendern zum Absturz der App. Das Problem ist mit dieser Version behoben.

Mit dieser App können Sie bis zu 3 Dremel 3D45 / 3D40 Drucker bei der Erstellung Ihrer 3D Objekte beobachten. Weiterhin gibt es detaillierte Statusmeldungen, wie eine Zeitberechnung bis zur Fertigstellung des Objekts oder aber auch eine Möglichkeit einen Druck zu abzubrechen. Dies ist besonders nützlich, wenn Sie auf einen Blick überprüfen wollen, ob während des Druckvorgangs alles in Ordnung ist. Der Vorteil ist, dass Sie rechtzeitig eingreifen können, um das Objekt in perfekter Form in die Welt zu bringen. Geben Sie einfach die interne IP-Adresse des Gerätes unter den Einstellungen ein und schon sind Sie einsatzbereit. Über die Einstellungen Ihres Dremel 3D45 können Sie eine lokale IP Adresse festlegen oder die automatisch vergebene V4 IP Adresse dafür verwenden. Die IP Adresse Ihres Dremel 3D45 können Sie über die Einstellungen abrufen. Die Statusanzeige enthält Informationen über Forschritt, Düsentemperatur, Zeitangaben, geöffnete oder geschlossene Türe, Plattformtemperatur, Temperatur der Kammer, Name des Druckdateinamens sowie den Filementtypen.

Aktuelle Statusinformationen wie Erwartete Fertigstellungszeit des Objekts sowie eine Fortschrittsanzeige in Prozent oder die aktuelle Temperatur der Düse. Ist die Tür oder der Deckel geschlossen? Die App zeigt es an. Temperatur der Kammer oder der Plattform, mit dieser App ist man auf dem Laufenden. Über den Button Cancel kann jetzt ein Druck direkt über die App abgebrochen werden.

Die App für den Dremel 3D45 – Status und Steuerung Deines 3D Druckers!

VonTobias Stephan

swift webkit scrollen ausschalten

Wenn man nicht möchte, dass das Webview scrollbar ist, kann man das leicht mit folgenden Codezeilen deaktivieren.

webKitView1.
scrollView
.
isScrollEnabled = 
false

      
webKitView1.scrollView
.panGestureRecognizer.
isEnabled=
false

webKitView1
.
scrollView
.bounces = false
VonTobias Stephan

Xcode code formatieren mit Shortcut

Mit der Tastenkombination

CTRL (bzw. STRG) + I

wird der markierte Textblock automatisch formatiert.

 

VonTobias Stephan

Xcode Text auskommentieren

Manchmal möchte man auch gleich mal einen ganzen Block auskommentieren, das funktioniert , indem man den Quellcode in folgende Zeichen packt: /* code */

 

 

 

 

 

 

 

Für dieses Beispiel wurde Xcode Version 11 benutzt.