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
<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了?
如果您也有遇到类似问题欢迎讨论。
Win10 UWP系列:更新UWP时注意的问题——TargetDeviceFamily的更多相关文章
- Win10通用程序 UWP版HtmlAgilityPack UWP应用使用示例
Win10 UWP版HtmlAgilityPack,UWP应用使用示例下载. Win10 发布了一个多星期,sdk是随着一起发布的,我安装好vs2015和sdk 开发UWP 通用程序. 在做网络解析的 ...
- win10系统更新补丁时进度条一直卡在0%不动的解决方案
为了能够让win10系统更加安全稳定,很多用户都会时不时为自己的电脑安装补丁.不过,部分用户在为win10系统更新补丁时,却会遇到进度条一直卡在0%不动的问题.这该怎么办呢?下面,小编就告诉大家解决该 ...
- Customize Acrylic Brush in UWP Applications(在UWP中自定义亚克力笔刷)
原文 Customize Acrylic Brush in UWP Applications(在UWP中自定义亚克力笔刷) Windows 10 Fall Creators Update(Build ...
- UWP开发-在UWP中使用sqlite
原文:UWP开发-在UWP中使用sqlite sqlite是一种轻量级的数据库,对于一些资源紧张又需要数据库的开发非常好用. SQLite 是一个开源的无服务器嵌入式数据库. 这些年来,它已作为面向存 ...
- win10全系列官方MSDN原版系统安装密钥、版本区别、镜像下载地址与激活教程
微软发布win10正式版已经过去几天了,相信很多同学都心情高涨的装上了期待已久的win10系统,但也有很多同学面对win10系统的众多版本感到一脸茫然,的确,微软在win10系统版本上的划分确实有点多 ...
- u盘安装原版win10系统1703更新
7月底,微软发布了win10的1703更新,听说值得一试,于是,安装ultraISO(下载地址http://pan.baidu.com/s/1dFu48d7 密码: 53cg),下载win10的ISO ...
- FreeSql (十二)更新数据时指定列
var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" + "Initia ...
- FreeSql (十三)更新数据时忽略列
var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" + "Initia ...
- 关于SubSonic3.0插件使用Json反序列化获得的实体进行更新操作时,只能执行添加而不能执行修改(编辑)操作的处理
由于目前开发的项目使用云计算技术,客户端只进行UI与相关事件的功能开发,而所有的计算与处理都放到了服务器端,客户端与数据库没有任何关联,所以服务器端与客户端使用我们自己开发的通讯加密方式进行,而具体的 ...
- apt-get update更新源时,出现“Hash Sum mismatch”问题
当使用apt-get update更新源时,出现下面"Hash Sum mismatch"的报错,具体如下:root@localhost:~# apt-get update.... ...
随机推荐
- J2EE项目修改编码问题
一:项目编码修改 新建项目后,右键项目-->Properties-->Resource,这时可以修改编码为UTF-8. 二:JSP页面编码修改 Window --> Preferen ...
- 解决OracleConnection ORA-1017 和 HRESULT:0x8007000B 错误
试图加载格式不正确的程序. (异常来自HRESULT:0x8007000B) 解决方案: IIS下 winform下: ORA-1017 错误
- CSS3学习总结3-3D与动画
前言:这是篇CSS3中关于3D效果与动画相关的内容. (1)在CSS3的3D效果中,需要结合透视perspective的属性才能看到3d的效果,这个属性在屏幕上实现了元素近大远小的效果,所以要使用CS ...
- 元素绝对定位以后设置了高宽,a标签不能点击的原因总结
元素绝对定位以后设置了高宽,a标签不能点击的原因: 1.元素内并无内容 2.背景是透明的,无任何背景图或者颜色 解决方法: 1.如果不是绝对定位元素的,可以用相对定位 2.给元素加透明的背景图 3.I ...
- JS原生第六篇 (帅哥)
复习 按钮不可用 disabled = "disabled" || true setTimeout 只执行一次 setInterval 执行很多次 递归调用 ...
- [转]Linux tar 命令
一.使用介绍 1.名词区分 打包:将一大堆文件或目录变成一个总的文件[tar命令] 压缩:将一个大的文件通过一些压缩算法变成一个小文件[gzip,bzip2等] Linux中很多压缩程序只能针对一个文 ...
- SQL Server 解读【已分区索引的特殊指导原则】(2)- 唯一索引分区
一.前言 在MSDN上看到一篇关于SQL Server 表分区的文档:已分区索引的特殊指导原则,如果你对表分区没有实战经验的话是比较难理解文档里面描述的意思.这里我就里面的一些概念进行讲解,方便大家的 ...
- css中的expression
最近对CSS中的行为比较感兴趣,虽然是不符合标准的也只有ie才能识别,但是他确实给css的功能扩展了不少.下面是摘自互联网上的文字和例子,因为都被转烂了,没法注明出处. IE5及其以后版本支持在CSS ...
- java中volatile关键字
一.前言 JMM提供了volatile变量定义.final.synchronized块来保证可见性. 用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最的值.volatil ...
- 谈谈基于OAuth 2.0的第三方认证 [中篇]
虽然我们在<上篇>分别讨论了4种预定义的Authorization Grant类型以及它们各自的适用场景的获取Access Token的方式,我想很多之前没有接触过OAuth 2.0的读者 ...