WP8 App打不开

WP8 App won't open

我开发了一个内部 windows phone 8 应用程序并发布到市场。该应用程序在调试时可以运行,但是当我将该应用程序发布到市场并下载该应用程序并打开它时,只显示:正在加载... 仅此而已。它不会打开。

有人遇到过这个问题吗?我该怎么做才能解决它?

我已经在虚拟设备和 phone 本身的开发环境中测试了该应用程序并且可以正常工作。该应用程序不会崩溃或向我报告任何错误,因此我可以获得有关正在发生的事情的任何信息。仅在从商店下载时发生。

更新:

物理设备信息:

诺基亚 Lumia 365 Windows Phone 8.1

解法:

基本上解决问题的方法是从调试模式更改为发布模式,并将 plamaform 更改为 ARM。

我以前 运行 了解过这个。我要做的第一件事是看看您是否可以从开发人员仪表板获取任何崩溃信息。

其次,您是否使用任何第三方库,例如 SQLite?有时它们需要专门针对某个环境构建,因此在发布时请确保您构建的是 ARM 而不是 x86 或 Any CPU。这是我的问题。我需要专门为 ARM 构建并完成让 SQLite 正常工作的过程。

请参阅此 link 了解常见问题:

https://support.microsoft.com/en-us/kb/2859130

The following issues are known to cause the app to crash only after the app is installed from the Windows Phone Store and during Certification Testing. When side-loaded, the application runs fine.

  1. Calling ScheduledActionService.LaunchForTest in a Windows Store installed app. Make sure all debug APIs such as ScheduledActionService.LaunchForTest are not included in your release build. The app will crash otherwise.
  2. Writing to the InstalledLocation folder in a Windows Store installed app. Do not write to the InstalledLocation folder in your production application release submitted for certification. This will cause an app crash. The folder is readable and writable before it is published, but in the published app, the folder is read-only. You can however read and write to the Local Folder. For more information, refer to Data for Windows Phone.
  3. Coding a dependency on a hard coded product id value. Before Marketplace deploys the app, its ingestion process changes the ProductID in the WMAppManifest.xml. Perhaps your app has some dependency on the ProductID that existed beforehand. An example is if your app has a hard copy of the old ProductID in a string constant. Your app may need to explicitly open WMAppManifest.xml and then inspect the ProductID in order to get the correct value.
  4. (Windows Phone 7 only) In the Dashboard, inspect the list of Capabilities for your published app, and ensure that Marketplace didn’t remove any. This problem can occur owing to the various ways Marketplace audits the app in order to identify what capabilities are needed. The solution depends on which capability is missing. As a Windows Phone 7 example, for MediaElement to be detected, its name needs to exist in the xaml itself (x:name). Find more information about Capabilities here.
  5. Submitting a XAP file for x86 instead of ARM. Ensure that you built your solution targeting the Device not the Emulator. The Emulator compiles to the X86 platform while the device compiles to ARM. In this case, the app won’t be able to be tested.
  6. App won’t load on low memory devices (512 MB – Windows Phone 8). See if the failure is specific to a particular phone model or manufacturer. For example, determine if the problem is related to the amount of memory available in the phone.
  7. If your application does fail certification, make sure you refer to the “Windows Phone Tested” section of the failure report for a list of devices on which their application was tested so you can attempt to reproduce the failure on the same devices if possible.
  8. Developers should pay attention to the failure reason comments in the Certification Testing report to see if the issue was encountered on Windows Phone 7, Windows Phone 8 or both platforms and make sure you are attempting repro on the correct device/OS. These scenarios are known to cause Dev Center submission and/or run-time errors:
  9. Not running the Store Test Kit prior to submitting your app to Dev Center. In Visual Studio, under the PROJECT menu, choose Open Store Test Kit. Execute the automated and manual tests. Make any necessary corrections. More information is available here.
  10. Submitting to Dev Center a debug, instead of a release build of your app. Make sure that when you built your solution, you did so in Release mode, i.e. not Debug mode. In Visual Studio, check this using BUILD->Configuration Manager… If you uploaded a Debug build you will get static validation errors during submission, for example if the app includes native code. Also a debug build will generally result in an app that runs slower to the end user, because of extra debug checks and diagnostics.
  11. Ensure that the XAP file contains all the DLLs needed. For example if using the Windows Phone Toolkit or other third party libraries, make sure the references to those DLLs indicate CopyLocal=true. Your XAP file can be found in the Bin/Release folder of your project. Inspect its contents by renaming a copy from .XAP to .ZIP. Then double click on the newly named file to inspect its contents. You also can inspect it by using a third party tool such as WinZip.
  12. Also while inspecting the XAP, make sure all the DLLs that are present are known, expected DLLs, and those DLLs have been compiled specifically for use with your particular version of Windows Phone app and build environment. You might need to launch a clean build to ensure there are no unnecessary DLLs.

我在某些应用程序中遇到过这种情况。将应用发布到商店后,该应用将获得一个新的 Store ID。将其复制粘贴到您应用的 AppManifestWMAppmanifest,然后将其作为更新重新发布到商店。