Instagram: Upload hängt oder “failed”

Wer mit bsplw. iGrann (Upload hängt) oder der Android App (“Upload failed”) Probleme hat, auf Instagram zu posten, der möge auf dem Desktop versuchen, ein fremdes Bild zu liken. Wenn dann die Aufforderung kommt, seine Handynummer für eine Bestätigungs-SMS einzugeben, der kennt den Grund der Probleme: Nach Bestätigung der Handynummer funktioniert auch das Posten über die Apps wieder.

Windows Phone Apps: Auf Knopfdruck URL aufrufen

Ein schöner fetter “Buzzer”-Button:

, der auf “Click” folgende Funktion aufruft:

PS: Wie man sieht, wird kein Browser geöffnet oder so. Es geht um Kommunikation mit dem Server, nicht um das Öffnen von Webseiten.

Windows Phone 8 Apps: Controls-Toolkit

Naiv, wie ich nun einmal bin, war ich davon ausgegangen, dass das Windows Phone SDK einen gewissen Satz an Standard-Komponenten mitbringt. Zum Beispiel einen DatePicker (wie man ihn im Kalender findet) oder einen TimePicker (wie im Wecker). So Sachen halt.

Falsch gedacht.

Dafür muss man das “Windows Phone Toolkit” von http://phone.codeplex.com/ installieren (Achtung: Die URL http://silverlight.codeplex.com/ ist für Windows Phone veraltet!). Anmerkung: Obwohl das sehr nach Silverlight klingt, kann man es auch mit C#-Anwendungen nutzen. Für mich war das nicht selbstverständlich.

Offenbar gibt es verschiedene Möglichkeiten für die Installation; ich habe NuGet verwendet. Das zuerst installieren, (s)eine Solution öffnen, dann unter Tools -> Libarary Package Manager -> Package Manager Console -> “Install-Package WPtoolkit” eingeben. Das Toolkit wird dann nur für diese Solution installiert – was wichtig ist, denn:

Um das Toolkit auch tatsächlich nutzen zu können (obwohl man es ja gerade eben sogar für genau diese Solution installiert hat), muss man nicht nur den entsprechenden Namespace zum Beispiel seiner MainPage.xaml hinzufügen:

Sondern auch “eine Referenz” auf das im Namespace erwähnte “Assembly” hinzufügen. Und das ist schwierig, wenn man sich an die Anleitungen aus dem Internet hält (zum Beispiel diese oder diese). Denn erstens sieht man dort hin und wieder die veraltete URL http://silverlight.codeplex.com/, und zweitens findet man die Assembly-Datei Microsoft.Phone.Controls.Toolkit.dll nicht unter

C:/Program Files (x86)/Microsoft SDKs/Windows Phone/v7.0/Toolkit/Nov10/Bin/Microsoft.Phone.Controls.Toolkit.dll

sondern unter

Z:/pathtomyprojects/MyProject/packages/WPtoolkit.4.2012.10.30/lib/sl4-windowsphone71/Microsoft.Phone.Controls.Toolkit.dll

bzw. analog. Halt nicht an globaler Stelle, sondern lokal im Projekt. Wenn man das weiß, fügt man diese ominöse Referenz wie folgt hinzu:

Solution Explorer -> References -> Rechtsklick, “Add Reference…” -> Browse… -> Microsoft.Phone.Controls.Toolkit.dll aus dem Projektverzeichnis suchen.

Nun sollte man bsplw den TimePicker mittels

nutzen können. Aber: Im Emulator sieht man, dass die Icons für Bestätigen und Abbrechen fehlen:

Das Internet sagt hier, hier und hier, dass man einen Ordner “Toolkit.Content” mit den PNGs “ApplicationBar.Cancel.png” und “ApplicationBar.Check.png” anlegen soll. Also Rechtsklick auf Projekt im Solution Explorer -> Add -> New Folder (ist nur aktiv, wenn der Emulator nicht läuft) -> “Toolkit.Content”. Bei mir gab es daraufhin aber die Fehlermeldung “Cannot add a link to the folder Toolkit.Content. There is already a file of the same name in this folder.” Tatsächlich kann ich den Ordner im Windows Eplorer sehen – und die erwähnten PNGs ebenfalls 🙁 Doch wo sind sie im Solution Explorer, und warum sehe ich sie im Emulator nicht?

Die Antwort auf die erste Frage lautet: Weil das ein weiterer scheiß Bug ist! Visual Studio muss offenbar nach der Installation vom Toolkit neu gestartet werden, dann sieht man plötzlich auch den Ordner. Die Antwort auf Frage 2: Man muss einen Rechtsklick auf jedes PNG machen, und “Include In Project” auswählen. Dann geht’s:

Windows Phone 8 Apps: “The name MainViewModel does not exist in the namespace”

Windows 8 Pro frisch installiert, das Windows Phone SDK heruntergeladen, installiert und gestartet, quasi-leere Demo-App erstellt, “Emulator WVGA 512MB” gestartet – folgende Fehlermeldung (plus drölf weiteren) bekommen:

Error 1 The name “MainViewModel” does not exist in the namespace “clr-namespace:MyApp”.

Vermutung im Internet: Irgendwelche “Assemblies” seien nicht “korrekt” verlinkt. Aha. Kann sein, schließlich habe ich gar nichts verlinkt. Finde ich auch nicht nötig, um ein vorgegebenes Hello-World-Programm zu starten. Was für ein bekackter Bug soll das sein??

Lösung (Schritt 6, Achtung, extrem hässliche Seite): Das Projekt muss auf einer anderen Partitition als Visual Studio abgespeichert sein. WTF. Würde aber zu o.g. Vermutung passen – evt. kommt VS nicht mit relativen Pfaden klar?

Facebook Tab: Höhe eines iFrames (kein FBML!) setzen

Wenn man einen Facebook Tab in der Höhe ändern will (default ist 520×800), dann findet man dazu einige Vorschläge im Netz. Die meisten gehen davon aus, dass der Tab in FBML angelegt ist, was er aber nicht mehr sein muss; stattdessen kann man auch einen simplen IFrame benutzen. Die Lösung, die in dem Fall für mich funktioniert hat:

an das Ende des body hängen, also direkt vor </body>. Wichtig: Der div “fb-root”. Viele Lösungen im Netz basieren offenbar darauf, dass ein solches Element schon da ist – was zumindest bei mir nicht der Fall war.

Ich habe für den body außerdem padding und margin auf 0, sowie overflow auf hidden und height auf die Höhe des IFrames gesetzt.

WP7: Apps und Website

7 Tage, 7 Posts, 4: Windows Phone 7-Apps, die ich installiert (und nicht sofort wieder gelöscht) habe – ohne besondere Reihenfolge:

  • Apict: Die einzige App, für die ich Geld bezahlt habe – hat sich im Grunde nicht gelohnt, aber es waren auch nur 99 C. Bietet Lomo-Effekte für gespeicherte Bilder, ist aber auch aus dem Kontext-Menü der Kamera erreichbar
  • DB Navigator: www.bahn.de für WP7
  • Ebay
  • Facebook: Funktioniert nicht gut. Places ist ein schlechter Witz, der nur durch seine Übersetzung unterboten wird. Naja, manchmal einfacher, als erst auf die Mobile-Seite zu surfen
  • Kicker online: Der Hit! 🙂
  • WordPress: Ich veröffentliche gerade diesen Artikel mit der App. Davon appgesehen habe ich es noch nicht wirklich oft gebraucht…

Ansonsten bleibt mir der Verweis auf windowsphonethoughts.com, der zumindest besten von mir bisher entdeckten Seite zum Thema – dort gab es die Info über das erste Vorab-Update einen Tag vor heise.de. Wie man sieht: Wenig Überraschendes. Eine Taschenlampe habe ich noch installiert. 🙂