WP8应用程序无法打开

时间:2015-09-01 17:36:54

标签: c# windows-phone-8

我开发了一个内部Windows Phone 8应用程序并发布到市场。该应用程序在调试时工作,但当我将应用程序发布到市场并下载应用程序并打开它时,只说:正在加载... ,仅此而已。它不会打开。

Loading screen

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

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

更新

物理设备信息:

诺基亚Lumia 365 Windows Phone 8.1

解决方案:

基本上解决问题的是从调试模式到发布模式的变化以及从平台变为ARM。

2 个答案:

答案 0 :(得分:1)

我之前遇到过这种情况。我要做的第一件事就是看看你是否可以从开发者仪表板获得任何崩溃信息。

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

有关常见问题,请参阅此链接:

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

  

以下问题导致应用程序仅在从Windows Phone应用商店安装应用程序并在认证测试期间崩溃。在侧载时,应用程序运行正常。

     
      
  1. 在已安装的Windows应用商店应用中调用ScheduledActionService.LaunchForTest。确保所有调试API(如ScheduledActionService.LaunchForTest)未包含在发布版本中。该应用程序将崩溃。
  2.   
  3. 写入已安装Windows应用商店的应用中的InstalledLocation文件夹。不要写入提交认证的生产应用程序版本中的InstalledLocation文件夹。这将导致应用程序崩溃。该文件夹在发布之前是可读写的,但在发布的应用程序中,该文件夹是只读的。但是,您可以读取和写入本地文件夹。有关更多信息,请参阅Windows Phone数据。
  4.   
  5. 编码对硬编码产品ID值的依赖性。在Marketplace部署应用程序之前,其提取过程会更改WMAppManifest.xml中的ProductID。也许您的应用程序依赖于事先存在的ProductID。例如,您的应用程序在字符串常量中具有旧ProductID的硬拷贝。您的应用可能需要显式打开WMAppManifest.xml,然后检查ProductID以获取正确的值。
  6.   
  7. (仅限Windows Phone 7)在仪表板中,检查已发布应用程序的功能列表,并确保Marketplace未删除任何功能。由于Marketplace审核应用程序以识别需要哪些功能,因此可能会出现此问题。解决方案取决于缺少哪种功能。作为Windows Phone 7示例,要检测MediaElement,其名称需要存在于xaml本身(x:name)中。在此处查找有关功能的更多信息。
  8.   
  9. 提交x86而不是ARM的XAP文件。确保构建针对设备而非模拟器的解决方案。当设备编译为ARM时,仿真器编译到X86平台。在这种情况下,应用程序将无法进行测试。
  10.   
  11. 应用程序不会加载到低内存设备(512 MB - Windows Phone 8)。查看故障是否特定于特定的手机型号或制造商。例如,确定问题是否与手机中可用的内存量有关。
  12.   
  13. 如果您的应用程序未通过认证,请确保参考故障报告的“Windows Phone Tested”部分,以获取其应用程序所在的设备列表,以便您可以尝试在同一设备上重现故障。可能的。
  14.   
  15. 开发人员应注意认证测试报告中的失败原因注释,以确定是否在Windows Phone 7,Windows Phone 8或两个平台上遇到此问题,并确保您尝试重新启动正确的设备/操作系统。   已知这些方案会导致开发人员中心提交和/或运行时错误:
  16.   
  17. 在将应用程序提交到开发人员中心之前未运行商店测试工具包。在Visual Studio中,在PROJECT菜单下,选择Open Store Test Kit。执行自动和手动测试。进行必要的更正。有关更多信息,请点击此处。
  18.   
  19. 向开发中心提交调试,而不是应用的发布版本。确保在构建解决方案时,在发布模式下执行此操作,即不是调试模式。在Visual Studio中,使用BUILD-> Configuration Manager进行检查...如果您上传了Debug版本,则在提交期间会出现静态验证错误,例如,如果应用程序包含本机代码。此外,由于额外的调试检查和诊断,调试版本通常会导致应用程序向最终用户运行较慢。
  20.   
  21. 确保XAP文件包含所需的所有DLL。例如,如果使用Windows Phone Toolkit或其他第三方库,请确保对这些DLL的引用指示CopyLocal = true。您的XAP文件可以在项目的Bin / Release文件夹中找到。通过将.XAP中的副本重命名为.ZIP来检查其内容。然后双击新命名的文件以检查其内容。您还可以使用WinZip等第三方工具进行检查。
  22.   
  23. 同时在检查XAP时,请确保所有存在的DLL都是已知的,预期的DLL,并且这些DLL已经专门编译,以便与特定版本的Windows Phone应用程序和构建环境一起使用。您可能需要启动一个干净的构建,以确保没有不必要的DLL。
  24.   

答案 1 :(得分:0)

对于某些应用来说,这发生在我身上。将应用发布到商店后,该应用将获得新的Store ID。将其粘贴到您应用的AppManifestWMAppmanifest,然后将其重新发布到商店作为更新。