Win10 UWP系列:更新UWP时注意的问题——TargetDeviceFamily

原文:Win10 UWP系列:更新UWP时注意的问题——TargetDeviceFamily

前几天把CurrencyExchanger提交到微软参加Master认证,结果没有通过,反馈了一些错误,看来微软检查还是比较仔细的。

错误主要有:

Visual feedback helps users recognize whether their interactions with your application are detected, interpreted, and handled as they intended.

就是说如果一个列表项点击后没有任何动作的话,不应该有触摸反馈。UWP的ListView项默认会带Tilt效果,以前WP8的时候还要通过另外的Toolkit来实现,现在自带了,反而要想办法去掉。解决办法是自定义ListView的ItemContainerStyle,去掉里面的VisualStateGroup就可以了。

 

再一个错误:

Windows 10 applications should properly navigate back through pages when using the Windows 10 system back button.

在开发的时候主要针对PC和手机来进行了测试,手机有硬件返回键,所以处理了返回键的事件,PC没有返回键,就没做,但PC有一个平板模式,是可以显示返回键的,这个地方也需要处理。解决办法是增加处理SystemNavigationManager.GetForCurrentView().BackRequested事件即可。

 

再一个错误是功能性的,搜索货币时无法正常搜索,经检查代码是搜索内容忘了进行大小写转换,可以搜索小写字母,大写字母就搜不到了,属于粗心错误。统一ToUpper或者ToLower就可以了。

还有一个错误是这样的:

The following recommendation is optional and not required for STARTS compliance. With Windows 10 developers can write a single application that can be installed across a variety of device families including Mobile, Desktop, and XBOX. By default, Windows 10 applications target all device families. In the application manifest, this is called out as the ‘Universal’ Target Device Family. Such applications will be tested against all device form factors where this application may be deployed. Alternatively, developers can limit the device families for which an application can be deployed. For example, if ‘Desktop’ is specified and the Target Device Family, that application can only be installed on PC devices. When published, this application will only be available in the Store running on PCs – it will not be available in the Phone store.

 

The manifest file has Universal as TargetDeviceFamily. The application currently targets only desktop and mobile. It is recommended that the manifest entry is restricted only to supported devices and that a minimum of two device families are supported.

意思是说既然只支持PC和Mobile,就不要把TargetDeviceFamily设置为Universal。我就想当然的在Package.appsmanifest文件里修改了TargetDeviceFamily,设置为只有Desktop和Mobile。

 

还有一个错误:

The application should adapt properly to portrait or landscape view if supported.

这个是因为在635等分辨率低的机型上运行时,部分字体被截断了。而且在横屏的时候计算器界面也没显示完全。所以发布时应尽可能测试不同分辨率机型保持界面可用性。我调整了国旗图标大小,并且只支持竖屏状态,去掉了横屏支持。

 

然后顺手修复了几个小bug,开始上传商店。上传后在分析包的过程中出现以下错误:

XD.UWP.CurrencyExchanger_3.1.3.0_x86_x64_arm_bundle.appxupload28.0 MB

此程序包面向最低版本 10.0.0.0,但其依赖于面向最低版本 10.0.10042.0 的框架 Microsoft.VCLibs.140.00 14.0.22929.0。更新程序包中的最小值以指定 10.0.10042.0 的值或更大的值。

此程序包面向最低版本 10.0.0.0,但其依赖于面向最低版本 10.0.10049.0 的框架 Microsoft.NET.Native.Framework.1.2 1.2.23231.0。更新程序包中的最小值以指定 10.0.10049.0 的值或更大的值。

此程序包面向最低版本 10.0.0.0,但其依赖于面向最低版本 10.0.10049.0 的框架 Microsoft.NET.Native.Runtime.1.1 1.1.23406.0。更新程序包中的最小值以指定 10.0.10049.0 的值或更大的值。

 

该项目是以10586版本开发的, Package.appxmanifest文件中有以下版本号:

<Dependencies>
    <TargetDeviceFamily Name="Windows.Mobile" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
  </Dependencies>

于是想当然的把MinVersion改为了10.0.10586.0,但是编译时又报错,说MaxVersionTested不能小于Minversion,于是又把MaxVersionTested也改为10586,还是不行。

这就奇怪了,上次上传的时候也没改这个地方啊。看到有说VC++引用版本错误,又重新升级了一下Sqlite组件,结果还是不行。

UWP的打包速度很慢,反复了好几次,不管是分三个包上传还是一个bundle包,都是一样的错误。

反复对比之后,只能怀疑TargetDeviceFamily了,将Mobile和Desktop改回原来的Universal,再上传就成功了。

暂时没找到这是什么原因导致,难道发布过一次Universal后就只能发布Universal了?

如果您也有遇到类似问题欢迎讨论。

 

时间: 2024-11-05 16:29:06

Win10 UWP系列:更新UWP时注意的问题——TargetDeviceFamily的相关文章

Win10 UWP系列:关于错误 0x80073CF9及一个小bug的解决

原文:Win10 UWP系列:关于错误 0x80073CF9及一个小bug的解决 最近一直在开发XX的uwp版本,也是边摸索边做,最近遇到几个比较奇怪的问题,记录于此. 1.项目可用部署到PC,但无法部署到手机,提示以下错误: 错误 : DEP0001 : 意外错误: Install failed. Please contact your software vendor. (Exception from HRESULT: 0x80073CF9 为了方便开发,我将常用的类库引用好.默认的几个页面做

Win10通用应用程序 UWP 使用 SQLite 【图文教程】

在win10 UWP开发中,我们可以使用SQLite.本篇文章说一下如何在UWP中使用SQLite.因为SQLite是跨平台的,版本众多,我刚开始用的时候不知道要装哪个,什么WP8的.WP8.1的.Win RT的--简直摸不着头脑.希望这篇文章能让大家少走点弯路. 一.添加SQLite扩展 首先要添加SQLite的库.主页是http://sqlite.org/,下载地址在:http://sqlite.org/download.html.这个页面有所有平台的下载地址,下载这个: 然后安装. 还有一

UWP开发-在UWP中使用sqlite

原文:UWP开发-在UWP中使用sqlite sqlite是一种轻量级的数据库,对于一些资源紧张又需要数据库的开发非常好用. SQLite 是一个开源的无服务器嵌入式数据库. 这些年来,它已作为面向存储在许多平台和设备上的数据的主要设备端技术出现. 通用 Windows 平台 (UWP) 支持并建议使用 SQLite 实现跨所有 Windows 10 设备系列的本地存储. SQLite 最适用于手机应用.面向 Windows 10 IoT 核心版(IoT 核心版)的嵌入式应用程序,以及作为企业关

Win10一周更新系统开始面向企业分支推送

微软面向消费者用户推送Win10一周年更新正式版系统5个月后,微软今天开始面向商业和企业分支(CCB)用户推送Win10周年版更新.根据此前反馈,微软新修复了上千个小问题,该分支推送版本是Windows 10 Build 14393.447. Win10一周年更新系统针对商业用户带来一系列新功能和增强特性,包括Windows Defender高级威胁保护,使企业能够识别和应对网络上的高级别攻击.对操作系统的更新带来了其他一些改进,包括改进信息保护,身份保护等等. 当然除此之外,Windows10

苹果电脑更新BootCamp时提示:无法找到msi源文件怎么办?

  目前,苹果电脑用户可以通过安装win7系统之后,再升级为win10系统的方法来使用win10系统.不过,在使用win10系统之前,苹果电脑的BootCamp程序也需要更新,才能正常的使用win10系统.一些苹果电脑用户在更新BootCamp程序的时候,出现了"无法找到msi源文件"的错误提示,这个时候该怎么办呢? BootCamp 苹果电脑更新BootCamp时提示:无法找到msi源文件的原因分析: 有用户通过彻底卸载WIN系统下的BootCamp旧程序之后才能装上新版本6.0.所

UWP开发随笔——UWP新控件!AutoSuggestBox!

原文:UWP开发随笔--UWP新控件!AutoSuggestBox! 摘要 要开发一款优秀的application,控件肯定是必不可少的,uwp就为开发者提供了各种各样的系统控件,AutoSuggestBox就是uwp极具特色的控件之一,也是相对于之前win8.1的uap较新的控件,今天我们就来谈谈AutoSuggestBox的基本用法及其自定义UI方法. A Simplest Sample 话不多说,先来个小Demo. <!-- MainPage.xaml --> <Page x:Cl

信息安全有保障:Win10秋季创意者更新新增隐私选项

据外媒WinAero报道,Windows10秋季创意者正在持续开发的过程中,而微软最近在该操作系统中引入了新的隐私选项.该公司已尽力让隐私政策更加透明,并明确显示正在收集用户的哪些数据. 解释隐私声明 在设置系统的过程中,Win10将直接向用户展示微软的隐私声明. ▲图片来源:WinAero 此外,用户可以快速地导航到不同的隐私设置,比如广告.诊断.位置和定制体验,听微软解释他们是如何收集这些数据的. 应用许可确认 在Win10创意者更新中,从Win10应用商店安装的应用在需要访问摄像头.联系人

微软:Win10一周年更新后可能会遇到这个问题

8月3日消息,微软于今天凌晨正式推送了Win10 PC一周年更新正式版,许多用户在第一时间获得了本次升级,然而许多用户反映在升级过程中和升级后遇到了一些问题,微软对此做出回应. 许多用户反映,电脑在安装一周年更新后会卡住一段时间,如今看来,这段时间里系统设置被自动重置.微软在声明中承认了这一问题的存在,并且称正在解决这一问题. "我们发现了一个问题,该问题可能将用户的一部分个性化设置重置为默认设置.团队正在尽快进行修复,确保之后的更新不会重蹈覆辙.如果你已经更新到了1607版本,那么某些个性化设

win8更新谷歌浏览器时出现错误代码:0x00000000如何解决

  win8更新谷歌浏览器时出现错误代码:0x00000000如何解决?现如今很多win8系统用户安装谷歌Chrome浏览器,大部分用户知道Chrome里面有检查更新的功能,一段时间后就要去更新一下,新完后会发现加了一些新的功能.但是最近有位win8用户在更新谷歌浏览器时出现错误代码:0x00000000,如何解决呢?其实解决此问题方法不难,现在就和大家说下win8更新谷歌浏览器时出现错误代码:0x00000000的解决方法. 具体方法如下: 1.查看错误信息,单击浏览器右上角"自定义及控制Go