2013-10-22 3 views
8

Windows Phone 8에서 PhoneGap 2.9, Durandal 2.0 응용 프로그램을 사용할 수있게되었습니다. 에뮬레이터 및 비주얼 스튜디오를 통한 장치로의 응용. 그러나 응용 프로그램을 VS로 빌드 한 다음 응용 프로그램 배포 도구를 사용하여 완성 된 .xap을 장치에 배포하면 응용 프로그램에 문제가 발생합니다. 스플래시 화면이로드되지만 검은 색 화면이 표시됩니다.Phonegap 2.9.0, Windows Phone 8, Durandal 2.0, XAP 런타임 문제

우리는이 블로그 게시물 http://mikaelkoskinen.net/durandal-phonegap-windows-phone-8-tutorial/에서 제안 된대로 www 경로를 수정했지만 에뮬레이터에서는 작동하지만 장치에는 작동하지 않습니다.

우리는 또한 베타 버전의 Windows Phone 8 (http://phonegap.com/blog/2013/10/18/2013-10-18-phonegap-build-support-for-windows-phone-8/)을 지원하므로 phonegap 빌드를 사용하여 xap을 빌드하려고했습니다. 이것은 비슷한 결과를 가져왔다.

우리는 main.js와 index.html을 파일이 잘로드되고 있다고 생각하지만, 문제는 requirejs 및 durandal와 어떻게 든 2.

가 성공적으로 다른 도구 (또는 최신 버전)의 조합을 사용하는 모든 사용자 그렇다면 우리는 어디서 잘못 될 지 알고 있습니다.

+0

동일한 문제가 있습니다. 솔루션은 작동합니까? – URAndroid

+0

답장을 보내 드려 죄송합니다. 아래 해결 방법은 '예'입니다. –

답변

7

우리는 문제를 해결할 수 있었으므로 문제가 발생할 수있는 다른 모든 사람들에게 다음 정보가 유용 할 수 있습니다. 블로그 게시물에 설명 된대로

1 )을 File.cs 파일을 변경합니다 http://mikaelkoskinen.net/durandal-phonegap-windows-phone-8-tutorial/

2) 상기 변화에 더하여, 우리는 그것이로 매개 변수에서 읽은 옵션을 수정하는 것이 필요하다고 발견

어떤 이유로 윈도우 폰의 조합의 경우, 폰갭과 Durandal도 매우이다
 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) : File.cs에서 readResourceAsText 방법을 전달하지 않습니다 겉으로 폰갭이 다른 옵션을 필요로하지 않기 때문에 다음과 같이 응용 프로그램의 폴더 구조에 신경을 써야합니다. 원래 우리는 우리에게 맞는 폴더 구조를 사용하려고했습니다. (즉, Durandal 스타터 키트 예제에서 사용되는 'app'하위 ​​폴더를 사용하지 않고 main.js, viewmodels 및 views 폴더를 www 루트 디렉토리에 가지고 있습니다.) 질문에서 말하듯이 다른 플랫폼 또는 디버그 모드에서는 기본 문제가 무엇인지 확실하지 않지만 폴더 구조는 Windows Phone 용 Durandal 스타터 키트의 릴리스 구조와 정확히 일치해야합니다.

자세한 내용은 PhoneGap 3.1에서도 확인할 수 있습니다. (File.cs 플러그인 수정을 포함하여 위와 동일한 수정이 적용됩니다.)

또한 PhoneGap 3.0을 지원하는 PhoneGap 빌드를 시도했지만 응용 프로그램이 충돌합니다. 이는 빌드에서 사용하지 않는 File.cs에 필요한 수정 때문입니다. 이 문제가 해결 될 때까지 Windows Phone 8 용 Durandal 앱으로 PhoneGap 빌드를 사용할 수 없습니다.

관련 문제