iphonemobilemacinternetbusinessinnovationsblog ...

Das derzeitige Projekt: Die gute alte iOS-App CompareMe in der neuen Programmiersprache Swift von Apple neu zu schreiben. Daher teile ich gerne ein paar Einblicke und Code-Schnipsel mit der interessierten iOS-Developer-Community.

Heute erstellen wir ein paar Action-Sheets in Swift um Webseiten in Safari, Twitter Profile in der nativen Twitter App oder E-Mail auf dem iOS-Device zu öffnen. Der Swift-Code ist unter Xcode 6.1 GM mit iOS 8.1 unter OS X Yosemite 10.10 GM getestet.

Wenn Du den Alert als UIAlertControllerStyle.ActionSheet anzeigen willst, vergewissere Dich, dass Du die beiden Attribute popoverController.sourceView & popoverController.sourceRect setzt. Sonst stürzt die App auf iOS-Geräten mit großem Bildschirm, wie dem iPad, ab. Das ActionSheet wird dort nämlich nicht als Ebene modal über den gesamten Bildschirm geblendet, sondern in einem Popup neben dem Element, die das ActionSheet ausgelöst hat.

Am einfachsten lässt sich eine neue E-Mail durch übergeben der gewünschten E-Mail-Adresse als “mailto:…@…” erstellen. Doch Vorsicht: Damit schickt man den Nutzer in das Programm Mail und übergibt die Ziel-E-Mail-Adresse. Wenn der Nutzer die E-Mail geschrieben oder den Vorgang abgebrochen hat, bleibt er in der externen App Mail. Wenn Du willst, dass der Nutzer in Deiner App auch nach dem E-Mail-Schreiben bleibt, oder wenn Du mehr Parameter der E-Mail vorausfüllen willst, hilft nur MFMailComposeViewController. Damit kannst Du dann auch den Betreff oder den E-Mail-Text vorgeben … aber das ist Stoff für ein anderes Posting ;-)

Nach dem Umstieg auf das neue iPhone 6 hatte gerade den Fall, dass ich aus verschiedenen Apps, wie beispielsweise der Foto-App von Apple, keine Mails verschicken konnte.
Nach dem Wiederherstellen aus dem iCloud-Backup waren alle smtp/pop-Mail-Accounts auf das neue iPhone umgezogen. Bei der ersten Abfrage der Mails verlangte das iPhone von jedem POP-Account das entsprechende Passwort. Soweit so gut, dachte ich.
Als ich dann, aus der Foto-App ein paar Fotos per Mail verschicken wollte funktionierte alles prächtig. Nur die Mail mit den angehängten Fotos kam nie an. Daher machte ich mich auf die Suche nach dem Fehler und eines möglichen Workarounds. Apple ist per Bug-Reporter schon informiert, aber der Workaround ist einfach:
Von jedem Account, von dem man E-Mails verschicken will, muss man einfach in der Mail-App eine erste Mail verschicken … dann fragt das iPhone nach dem SMTP-Passwort und verschickt anstandslos die Mail. Gegebenenfalls werden dann auch die Mails, die im Ausgangsordner des iPhone schmoren auch gleich versendet. Zur Überprüfung kann man einfach den “Gesendet” Ordner in der “Account”-Liste der Apple-Mail-App öffnen. Befinden sich die Emails immernoch hier, müssen sie manuell nochmals versendet werden. Dazu einfach die Email öffnen und nochmals verschicken.

Hope this helps :-)

Apple Time Machine & Time Capsule sind ein echter Segen für Backup-Muffel. Und zu dieser Spezies zähle ich die meisten von uns :-)
Meist funktioniert die TimeMachine dezent im Hintergrund und fällt höchstens durch den Ressourcenhunger während eines Backup-Zyklus auf.
Gestern klappte allerdings erstmal gar nichts mehr: Time Capsule meldete sich mit einem

“Fehler bei Time Machine – Das Image des Backup-Volumes „/***/***/***.sparsebundle“ wird bereits verwendet.”

Problem: Time Machine und die dazugehörige Time Capsule gehen davon aus, dass ein Backup-Prozess noch nicht abgeschlossen ist. Bei mir war ein unsanfter Neustart des Mac der Auslöser für die Verwirrung.

Lösung: Leider hatte ein Neustart meines Macs keinen Erfolg, das Problem liegt in der Time Capsule, die die Verbindung zu dem User wieder freigeben muss. Mit dem AirPort Dienstprogramm (AirPort Utility), das sich auf dem Mac unter Programme/Dienstprogramme findet, lässt sich das Problem beheben. Danke an Norbert (Kommentar 22) für den Tipp, dass die aktuelle Version (derzeit v6.3) des AirPort-Dienstprogramms doch noch eine einfache Lösungsmöglichkeit bietet:

In dem neuen Airport Dienstprogramm kann man das Problem auch lösen, indem man unter Laufwerke die Dateifreigabe deaktiviert, aktualisiert, Dateifreigabe wieder aktiviert, aktualisiert.Das trennt dann auch alle Benutzer! (Eventuell wichtig, wenn viele Rechner auf die selbe Time Capsule zugreifen)

Ein Neustart der Time Capsule ist die einzige Eingriffsmöglichkeit die das aktuelle AirPort Utility Version 6.1 bietet … doch das brachte in meinem Fall gar nichts. Skurriler Weise hatte die ältere AirPort Utility Version 5.6.1 noch einen weit größeren Funktionsumfang – insbesondere die Funktion “Alle Benutzer trennen…”. denn genau diese Funktion war nötig um die Time Machine wieder zur Arbeit zu bewegen. Also einfach das AirPort Dienstprogramm öffnen, die gewünschte Time Capsule mit einem Doppelklick öffnen und im Reiter “Laufwerke” die Schaltfläche “Alle Benutzer trennen …” drücken.

Um mein Time Machine Problem wie oben geschildert lösen zu können hatte ich allerdings erst nochmal eine andere Klippe zu umschiffen: Ich musste die alte AirPort-Utility-Version 5.6.1 auf meinem Mac mit OSX 10.8 Mountain Lion installieren. Die alte AirPort-Utility-Version ist zwar Mountain-Lion-kompatibel, das Installationsprogramm streikt trotzdem. Glücklicherweise hat sich Frank Tisellano die Arbeit gemacht und einen kleinen Automator geschrieben, der einem die App trozdem aus dem Installation-Bundel extrahiert. Ich musste allerdings das “AirPort Utility Extractor” Skript in Automator öffnen und die Terminal befehle zum Teil manuell starten.

Ich hoffe dieses HowToFixIt spart dem einen oder anderen etwas Zeit…

Eine kleine Gedankenstütze, wie iPhone / iPad App Icons richtig benannt werden. Man kann sich natürlich die Arbeit machen und irgendwelche Fantasienamen in der info.plist spezifizieren. Aber warum kompliziert, wenn man sich das Leben mit dem Prinzip “Konvention über Konfiguration” einfach machen kann ;-)

Icon.png (notwendig)
# 57x57px ... Standard iPhone Icon
Icon@2x.png (notwendig)
# 114x114px ... Retina-Display iPhone Icon
Icon-72.png (notwendig)
# 72x72px ... Standard iPad Icon
Icon-Small.png (empfohlen)
# 29x29px ... Standard iPhone Spotlight-Suche Icon
Icon-Small@2x.png (empfohlen)
# 58x58px ... Retina-Display iPhone Spotlight-Suche Icon
Icon-Small-50.png (empfohlen)
# 50x50px ... Standard iPad Spotlight-Suche Icon

Einfach die Dateien in den “Supporting Files”-Ordner in Xcode ziehen und Xcode erlauben, dass die Dateien in den richtigen Ordner kopiert werden.
Falls die Applikation als AdHoc-Distribution verteilt werden soll – wie beispielsweise bei Beta-Testen – sollte man auch noch die folgende iTunesArtwork-Datei in die Source ablegen: Will man das App-Icon mit dem automatischen “Apple-Shiny-Effekt” in iTunes erscheinen lassen, nimmt man eine JPEG-Datei, soll es ohne Veränderung erscheinen muss es eine PNG-Datei sein. Die iTunesArtwork Datei darf keine Datei-Endung haben:

iTunesArtwork
# 512x521px ... iTunes Icon für AdHoc Distributionen

Und nicht vergessen: Will man die App später im AppStore via iTunesConnect veröffentlichen, sollte die Datei wieder entfernt werden. Dort wird die PNG-Datei nämlich separat beim Einstellen der App zu iTunesConnect hochgeladen!

Ich hoffe die Zusammenstellung spart etwas Zeit ;-)

Apple hat gerade das Video der Veranstaltung veröffentlicht mit der die Apple-Mitarbeiter ihn am 19 Oktober 2011 nochmals geehrt haben. Eine große Geste, dass Apple das Event mit uns teilt. Danke! Es ist wirklich berührend.

Bild: Apple

 1 2 3 4 5 6 7 8 ... 28 29 30 Nächste