In Xcode Bild an Mail anhängen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Aufgrund der Corona-Krise: Die Veröffentlichung von Stellenangeboten und -gesuchen ist bis 31.12.2021 kostenfrei. Das beinhaltet auch Angebote und Gesuche von und für Freischaffende und Selbstständige.

  • In Xcode Bild an Mail anhängen

    Hallo zusammen,

    ich bin gerade dabei bei meiner App ein Feld einzufügen wo man Unterschreiben kann. Das Feld ist soweit auch Funktionstüchtig. Allerdings weiß ich jetzt nicht wie ich den Inhalt des Feldes (am besten als Bild) speichern kann. Einfach in die Fotobibilotek möchte ich das nicht speichern, sondern es soll in eine Mail die über die App geschrieben wird angehängt werden.

    Weiß jemand wie man die Unterschrift in Form von einem Bild bei der Mail einfügen kann?

    Hier ist einmal ein Teil vom Code für die Mail:




    Quellcode

    1. func showMailComposer() {
    2. guard MFMailComposeViewController.canSendMail() else {
    3. return
    4. }
    5. let composer = MFMailComposeViewController()
    6. composer.mailComposeDelegate = self
    7. composer.setToRecipients(["Email.Adresse@mail.de"])
    8. composer.setSubject("Bewertung Tisch 1")
    9. composer.setMessageBody("""
    10. Teamname: \(String(describing: teamname.text))
    11. Runde: \(String(describing: runde.text))
    12. Zeit: \(String(describing: zeit.text)) Minuten
    13. Punkte Gesamt: \(String(describing: punkteGesamt.text))
    14. Prüfer: "\(prüferErgebnis)"
    15. Unterschrift:
    16. \(unterschriftFoto)
    17. """, isHTML: false)
    18. present(composer, animated: true)
    Alles anzeigen
    Und hier nochmal den Code den ich zur Umwandlung in ein Bild genommen habe (vielleicht habe ich da was falsch gemacht...):


    Quellcode

    1. var unterschriftFoto:UIImage?
    2. @IBAction func absenden(_ sender: Any) {
    3. UIGraphicsBeginImageContextWithOptions(canvasView.bounds.size, false, UIScreen.main.scale)
    4. canvasView.drawHierarchy(in: canvasView.bounds, afterScreenUpdates: true)
    5. unterschriftFoto = UIGraphicsGetImageFromCurrentImageContext()
    6. UIGraphicsEndImageContext()

    Falls jemand eine Idee hätte wie man die Unterschrift einfacher der Mail anhängen könnte würde ich mich auch darüber sehr freuen!

    Vielen Dank schonmal!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Gongkikong ()

  • Gongkikong schrieb:

    Könnte man dann dieses PDF über den Code anhängen? Oder muss man das dann Immer manuell machen?
    Schau doch einfach in die Doku...

    Alternativ könntest Du einmal mit einem HTML-Body testen: Dort wäre - zumindest theoretisch - eine Inline-Grafik á la <img src="data:image/png;base64,..."> denkbar (die Grafik muss dann base64-encoded sein). Keine Ahnung, Ob der MFMailComposeViewController das unterstützt.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • MyMattes schrieb:

    Alternativ könntest Du einmal mit einem HTML-Body testen: Dort wäre - zumindest theoretisch - eine Inline-Grafik á la <img src="data:image/png;base64,..."> denkbar (die Grafik muss dann base64-encoded sein). Keine Ahnung, Ob der MFMailComposeViewController das unterstützt.
    Von HTML habe ich leider nicht wirklich Ahnung...
    Gibt es dafür irgendwo ein Anleitung? Oder nach was müsste ich online suchen?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Gongkikong ()

  • Gongkikong schrieb:

    Von HTML habe ich leider nicht wirklich Ahnung...
    Naja, für das Formatieren eines Mails brauchst Du keine riesige Ahnung, ein paar Tags zum Formatieren von fett, unterstrichen, kursiv, Titel und Zeilenwechsel … was willst Du noch? Eine gute Referenz war für mich früher SelfHTML, lange nicht mehr benutzt.

    Achte darauf, das Sonderzeichen HTML-Entsprechungen habe (ä = &auml; etc.) und bzgl. Inline-Grafiken kannst Du das Snippet von mir oben googlen.

    Ein paar Grundkenntnisse in HTML sind immer praktisch, ob für (kleine) Web-Sites, Dein Problem oben, oder auch Berichte oder Hilfe-Seiten in Apps (da habe ich z. B. Inline-Grafiken verwendet). Ich nutzte mal einen Krankenhausaufenthalt, um einen Wälzer dazu durchzuarbeiten und hab‘s nie bereut :)

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MyMattes ()

  • Ok danke! Habe das mit dem Umwandel und so soweit verstanden...allerdings habe ich noch drei fragen:

    1. Wie bette ich nun die Strings ein? Die werden ja von jedem User anders ausgefüllt.

    2. Wie füge ich diese Bild genau ein? Als ich nach <img src="data:image/png;base64,..."> gegoogelt habe habe ich dazu leider nichts gefunden was mir weiterhilft...Das Bild konnte ich auf jedenfalls konvertieren (habe ich hiermit gemacht)

    3. Muss ich dann den HTML Code in die Anführungszeichen von dem String einfügen? Und dann am ende des Codes (code sie oben) auf , isHTML: false auf , isHTML: true ?

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Gongkikong ()

  • Ich habe das jetzt damit gelöst (ging in diesem Fall für mich etwas einfacher :D ) : developer.apple.com/documentat…1616885-addattachmentdata

    Nochmal eine Andere Frage...

    Kann ich in einem String einstellen das verschiedene Wörter eine andere Schriftgröße, Fett oder eine andere Farbe haben? Also das der Text später wenn dieser in der Mail steht ein Andere Farbe hat (oder halt andere Schriftgröße etc.)


    In diesem Code möchte ich das anwenden immer der string.text soll eine andere Farbe haben:






    Quellcode

    1. func showMailComposer() {
    2. guard MFMailComposeViewController.canSendMail() else {
    3. return
    4. }
    5. let composer = MFMailComposeViewController()
    6. composer.mailComposeDelegate = self
    7. composer.setToRecipients(["Email.Adresse@gmail.com"])
    8. composer.setSubject("Bewertung Tisch 1")
    9. composer.addAttachmentData(
    10. unterschriftTeilnehmer?.jpegData(compressionQuality: 0.99) ?? Data(),
    11. mimeType: "image/jpeg",
    12. fileName: "Unterschrift Teilnehmer.jpeg"
    13. )
    14. composer.addAttachmentData(
    15. unterschriftPrüfer?.jpegData(compressionQuality: 0.99) ?? Data(),
    16. mimeType: "image/jpeg",
    17. fileName: "Unterschrift Prüfer.jpeg"
    18. )
    19. composer.setMessageBody("""
    20. Teamname:
    21. \(String(describing: teamname.text))
    22. Runde:
    23. \(String(describing: runde.text))
    24. Zeit:
    25. \(String(describing: zeit.text))
    26. Gesamtpunktzahl:
    27. \(String(describing: punkteGesamt.text))
    28. """ , isHTML: false)
    29. present(composer, animated: true)
    30. }
    Alles anzeigen
  • Gongkikong schrieb:


    Kann ich in einem String einstellen das verschiedene Wörter eine andere Schriftgröße, Fett oder eine andere Farbe haben? Also das der Text später wenn dieser in der Mail steht ein Andere Farbe hat
    Es gibt zwar in Foundation den NSAttributedString, also eine Zeichenkette mit Formatierungen, aber den wird MFMailComposeViewController nicht als Body akzeptieren: Formatierte Mails werden - Du wirst die Antwort nicht mögen - als HTML codiert. Here we go again :)

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.