【问题标题】:WP8 App won't openWP8 应用程序无法打开
【发布时间】:2015-09-01 17:36:53
【问题描述】:

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

以前有人遇到过这个问题吗?我能做些什么来解决它?

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

更新:

物理设备信息:

诺基亚 Lumia 365 Windows Phone 8.1

解决方案:

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

【问题讨论】:

  • 您是否尝试过通过模拟器运行发布版本,如果是,是否有效?
  • @JamesWright 好的,你去吧。更改为发布模式时,它不会在调试中打开。会发生什么?
  • 科里给出了可靠的答案。但是,如果它不起作用,请告诉我。
  • 它没有,我更改为 ARM 和释放模式,但仍然显示加载消息。注意:我没有使用 SQLIte,IsolatedStorageSettings 代替。
  • 你有实际的设备来测试吗?还是您只使用模拟器?

标签: c# windows-phone-8


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

【讨论】:

  • 正在处理它。测试。
【解决方案2】:

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

【讨论】:

  • 我应该在哪里粘贴 ID?我做了这个教程但没有工作msdn.microsoft.com/en-us/library/windows/apps/br211475.aspx
  • 我认为发布过程不会使用这些。它在提交应用程序时重新创建清单文件。因此,为什么您在提交时填写版本和描述数据。
  • 保持你刚才所说的。调试时需要填写这些信息吗?因为当我从 AppManifest 中删除所有这些信息时,该应用程序会在设备中正常打开,并且几乎
猜你喜欢
  • 2018-11-11
  • 2017-04-22
  • 2016-06-30
  • 2014-08-24
  • 1970-01-01
  • 1970-01-01
  • 2022-06-10
  • 1970-01-01
  • 2017-10-23
相关资源
最近更新 更多