2013-10-22 6 views
8

Wir haben versucht, unsere PhoneGap 2.9, Durandal 2.0-Anwendung auf Windows Phone 8 arbeiten zu lassen. Wir waren in der Lage, die Schritte zu implementieren, die Anwendung auf den Emulator und auf das Gerät über Visual Studio. Wir haben jedoch ein Problem mit der Anwendung, wenn sie in VS integriert ist, und dann wird die fertige .xap mit dem Anwendungsbereitstellungstool auf dem Gerät bereitgestellt. Der Begrüßungsbildschirm wird geladen, aber dann wird ein schwarzer Bildschirm angezeigt.Phonegap 2.9.0, Windows Phone 8, Durandal 2.0, XAP Laufzeitproblem

Wir haben den Pfad zu www wie in diesem Blogpost http://mikaelkoskinen.net/durandal-phonegap-windows-phone-8-tutorial/ vorgeschlagen, der die App funktionierte auf dem Emulator, aber nicht auf dem Gerät.

Wir haben auch versucht, die XAP mit Phonegap Build bauen, da es jetzt Windows Phone 8 in der Beta - http://phonegap.com/blog/2013/10/18/2013-10-18-phonegap-build-support-for-windows-phone-8/ unterstützt. Dies hat zu einem ähnlichen Ergebnis geführt.

Wir glauben, dass die main.js und index.html Dateien werden geladen in Ordnung, aber das Problem ist irgendwie mit requirejs und durandal 2.

Ist jemand diese Kombination von Werkzeugen (oder neuere Versionen) erfolgreich und wenn ja, wissen sie, wo wir falsch liegen.

+0

Ich habe auch das gleiche Problem. Funktioniert die Lösung unter? – URAndroid

+0

Entschuldigung für die späte Antwort, die folgende Lösung funktioniert ja. –

Antwort

7

Wir haben es geschafft, das Problem zu lösen. Für alle anderen, die dieses Problem möglicherweise haben, können die folgenden Informationen nützlich sein.

1) die File.cs Dateien ändern, wie in dem Blog-Eintrag erläutert: http://mikaelkoskinen.net/durandal-phonegap-windows-phone-8-tutorial/

2) Zusätzlich zu den oben genannten Änderungen, fanden wir, dass es auch notwendig war, die Optionen aus dem Parameter auf das Lesen zu ändern readResourceAsText Verfahren in File.cs wie folgt wie PhoneGap nicht die anderen Optionen erfordern, und scheinbar ihnen nicht passieren:

 string[] optStrings = getOptionStrings(options); 
     string pathToResource = optStrings[0]; 
     //string encStr = optStrings[1]; 
     //int start = int.Parse(optStrings[2]); 
     //int endMarker = int.Parse(optStrings[3]); 
     string callbackId = optStrings[1]; 

3) aus irgendeinem Grund die Kombination von Windows Phone, PhoneGap und Durandal auch sehr wählerisch über die Ordnerstruktur der Anwendung. Ursprünglich versuchten wir, unsere eigene Ordnerstruktur zu verwenden, die für uns Sinn ergab. (Dh nicht den Unterordner 'app' verwenden, der im Durandal-Starter-Kit-Beispiel verwendet wird, und Ordner main.js, viewmodels und views im www-Stammverzeichnis.) Wie die Frage besagt, war dies kein Problem Jede andere Plattform oder im Debug-Modus, daher sind wir uns nicht sicher, was das zugrunde liegende Problem ist, aber die Ordnerstruktur sollte exakt mit der im Durandal-Starter-Kit für Windows Phone im Releasemodus arbeiten.

Für weitere Informationen haben wir jetzt auch das in PhoneGap 3.1 funktioniert. (Die gleichen Änderungen wie oben, einschließlich der Änderung des File.cs-Plugins.)

Wir haben auch PhoneGap Build versucht, die jetzt PhoneGap 3.0 unterstützt, jedoch stürzt die Anwendung ab. Dies liegt an den erforderlichen Änderungen an File.cs, die nicht von Build verwendet werden. Bis dies behoben ist, ist es nicht möglich, PhoneGap Build mit einer Durandal App für Windows Phone 8 zu verwenden.